@@ -627,61 +627,61 @@ private static CloudBlobContainer CreateContainer(CloudBlobClient cloudBlobClien
627
627
}
628
628
629
629
CloudBlobContainer container = cloudBlobClient . GetContainerReference ( containerName . ToLowerInvariant ( ) ) ;
630
- if ( ! container . Exists ( ) )
631
- {
632
- if ( cloudBlobClient . Credentials . IsSAS )
633
- {
634
- // Shared access signatures (SAS) have some limitations compared to shared access keys
635
- // read more on: https://docs.microsoft.com/en-us/azure/storage/common/storage-dotnet-shared-access-signature-part-1
636
- string [ ] sasTokenProperties = cloudBlobClient . Credentials . SASToken . Split ( "&" . ToCharArray ( ) , StringSplitOptions . RemoveEmptyEntries ) ;
637
- bool isAccountSas = sasTokenProperties . Where ( k => k . ToLowerInvariant ( ) . StartsWith ( "ss=" ) ) . FirstOrDefault ( ) != null ;
638
630
639
- string allowedServices = sasTokenProperties . Where ( k => k . ToLowerInvariant ( ) . StartsWith ( "ss=" ) ) . FirstOrDefault ( ) ;
640
- if ( allowedServices != null )
641
- {
642
- allowedServices = allowedServices . Split ( '=' ) [ 1 ] . ToLower ( ) ;
643
- }
644
- else
645
- {
646
- allowedServices = string . Empty ;
647
- }
648
631
649
- string resourceTypes = sasTokenProperties . Where ( k => k . ToLowerInvariant ( ) . StartsWith ( "srt=" ) ) . FirstOrDefault ( ) ;
650
- if ( resourceTypes != null )
651
- {
652
- resourceTypes = resourceTypes . Split ( '=' ) [ 1 ] . ToLower ( ) ;
653
- }
654
- else
655
- {
656
- resourceTypes = string . Empty ;
657
- }
632
+ if ( cloudBlobClient . Credentials . IsSAS )
633
+ {
634
+ // Shared access signatures (SAS) have some limitations compared to shared access keys
635
+ // read more on: https://docs.microsoft.com/en-us/azure/storage/common/storage-dotnet-shared-access-signature-part-1
636
+ string [ ] sasTokenProperties = cloudBlobClient . Credentials . SASToken . Split ( "&" . ToCharArray ( ) , StringSplitOptions . RemoveEmptyEntries ) ;
637
+ bool isAccountSas = sasTokenProperties . Where ( k => k . ToLowerInvariant ( ) . StartsWith ( "ss=" ) ) . FirstOrDefault ( ) != null ;
658
638
659
- string permissions = sasTokenProperties . Where ( k => k . ToLowerInvariant ( ) . StartsWith ( "sp =" ) ) . FirstOrDefault ( ) ;
660
- if ( permissions != null )
661
- {
662
- permissions = permissions . Split ( '=' ) [ 1 ] . ToLower ( ) ;
663
- }
664
- else
665
- {
666
- permissions = string . Empty ;
667
- }
639
+ string allowedServices = sasTokenProperties . Where ( k => k . ToLowerInvariant ( ) . StartsWith ( "ss =" ) ) . FirstOrDefault ( ) ;
640
+ if ( allowedServices != null )
641
+ {
642
+ allowedServices = allowedServices . Split ( '=' ) [ 1 ] . ToLower ( ) ;
643
+ }
644
+ else
645
+ {
646
+ allowedServices = string . Empty ;
647
+ }
668
648
669
- bool canCreateContainer = allowedServices . Contains ( 'b' ) && resourceTypes . Contains ( 'c' ) && permissions . Contains ( 'c' ) ;
670
- if ( canCreateContainer )
671
- {
672
- container . CreateIfNotExists ( ) ;
649
+ string resourceTypes = sasTokenProperties . Where ( k => k . ToLowerInvariant ( ) . StartsWith ( "srt=" ) ) . FirstOrDefault ( ) ;
650
+ if ( resourceTypes != null )
651
+ {
652
+ resourceTypes = resourceTypes . Split ( '=' ) [ 1 ] . ToLower ( ) ;
653
+ }
654
+ else
655
+ {
656
+ resourceTypes = string . Empty ;
657
+ }
673
658
674
- // cannot set permissions with sas access
675
- }
659
+ string permissions = sasTokenProperties . Where ( k => k . ToLowerInvariant ( ) . StartsWith ( "sp=" ) ) . FirstOrDefault ( ) ;
660
+ if ( permissions != null )
661
+ {
662
+ permissions = permissions . Split ( '=' ) [ 1 ] . ToLower ( ) ;
676
663
}
677
664
else
665
+ {
666
+ permissions = string . Empty ;
667
+ }
668
+
669
+ bool canCreateContainer = allowedServices . Contains ( 'b' ) && resourceTypes . Contains ( 'c' ) && permissions . Contains ( 'c' ) ;
670
+ if ( canCreateContainer )
678
671
{
679
672
container . CreateIfNotExists ( ) ;
680
- BlobContainerPermissions newPermissions = container . GetPermissions ( ) ;
681
- newPermissions . PublicAccess = accessType ;
682
- container . SetPermissions ( newPermissions ) ;
673
+
674
+ // cannot set permissions with sas access
683
675
}
684
676
}
677
+ else if ( ! container . Exists ( ) )
678
+ {
679
+ container . CreateIfNotExists ( ) ;
680
+ BlobContainerPermissions newPermissions = container . GetPermissions ( ) ;
681
+ newPermissions . PublicAccess = accessType ;
682
+ container . SetPermissions ( newPermissions ) ;
683
+ }
684
+
685
685
686
686
return container ;
687
687
}
0 commit comments