4040// - If none of the above are provided, azureblob defaults to
4141// azidentity.NewDefaultAzureCredential:
4242// https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/azidentity#NewDefaultAzureCredential.
43- // See the documentation there for the environment variables it supports,
44- // including AZURE_CLIENT_ID, AZURE_TENANT_ID, etc.
43+ // See the documentation there for the credential types it supports, including
44+ // CLI creds, environment variables like AZURE_CLIENT_ID, AZURE_TENANT_ID, etc.
4545//
46- // In addition, the environment variables AZURE_STORAGE_DOMAIN,
46+ // In addition, the environment variables AZURE_STORAGE_ACCOUNT, AZURE_STORAGE_DOMAIN,
4747// AZURE_STORAGE_PROTOCOL, AZURE_STORAGE_IS_CDN, and AZURE_STORAGE_IS_LOCAL_EMULATOR
4848// can be used to configure how the default URLOpener generates the Azure
4949// Service URL via ServiceURLOptions. These can all be configured via URL
@@ -289,10 +289,10 @@ func (o *lazyOpener) OpenBucketURL(ctx context.Context, u *url.URL) (*blob.Bucke
289289type credTypeEnumT int
290290
291291const (
292- credTypeSharedKey credTypeEnumT = iota
292+ credTypeDefault credTypeEnumT = iota
293+ credTypeSharedKey
293294 credTypeSASViaNone
294295 credTypeConnectionString
295- credTypeIdentityFromEnv
296296)
297297
298298type credInfoT struct {
@@ -327,7 +327,7 @@ func newCredInfoFromEnv() *credInfoT {
327327 credInfo .CredType = credTypeConnectionString
328328 credInfo .ConnectionString = connectionString
329329 } else {
330- credInfo .CredType = credTypeIdentityFromEnv
330+ credInfo .CredType = credTypeDefault
331331 }
332332 return credInfo
333333}
@@ -341,6 +341,13 @@ func (i *credInfoT) NewServiceClient(svcURL ServiceURL) (*azblob.ServiceClient,
341341 }
342342
343343 switch i .CredType {
344+ case credTypeDefault :
345+ log .Println ("azureblob.URLOpener: using NewDefaultAzureCredential" )
346+ cred , err := azidentity .NewDefaultAzureCredential (nil )
347+ if err != nil {
348+ return nil , fmt .Errorf ("failed azidentity.NewDefaultAzureCredential: %v" , err )
349+ }
350+ return azblob .NewServiceClient (string (svcURL ), cred , azClientOpts )
344351 case credTypeSharedKey :
345352 log .Println ("azureblob.URLOpener: using shared key credentials" )
346353 sharedKeyCred , err := azblob .NewSharedKeyCredential (i .AccountName , i .AccountKey )
@@ -354,13 +361,6 @@ func (i *credInfoT) NewServiceClient(svcURL ServiceURL) (*azblob.ServiceClient,
354361 case credTypeConnectionString :
355362 log .Println ("azureblob.URLOpener: using connection string" )
356363 return azblob .NewServiceClientFromConnectionString (i .ConnectionString , azClientOpts )
357- case credTypeIdentityFromEnv :
358- log .Println ("azureblob.URLOpener: using NewEnvironmentCredentials" )
359- cred , err := azidentity .NewEnvironmentCredential (nil )
360- if err != nil {
361- return nil , fmt .Errorf ("failed azidentity.NewEnvironmentCredential: %v" , err )
362- }
363- return azblob .NewServiceClient (string (svcURL ), cred , azClientOpts )
364364 default :
365365 return nil , errors .New ("internal error, unknown cred type" )
366366 }
0 commit comments