Skip to content

Commit f435c8c

Browse files
committed
DeleteIfExistsAsync
1 parent 3ffdff2 commit f435c8c

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

Directory.Build.props

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
<PackageLicenseExpression>MIT</PackageLicenseExpression>
1515
<PackageReadmeFile>README.md</PackageReadmeFile>
1616
<Product>Managed Code - Storage</Product>
17-
<Version>2.1.8</Version>
18-
<PackageVersion>2.1.8</PackageVersion>
17+
<Version>2.1.9</Version>
18+
<PackageVersion>2.1.9</PackageVersion>
1919
</PropertyGroup>
2020
<PropertyGroup Condition="'$(GITHUB_ACTIONS)' == 'true'">
2121
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>

ManagedCode.Storage.Azure/AzureStorage.cs

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -124,14 +124,20 @@ protected override async Task<Result> CreateContainerInternalAsync(CancellationT
124124
{
125125
try
126126
{
127-
_ = await StorageClient.CreateIfNotExistsAsync(PublicAccessType.BlobContainer, cancellationToken: cancellationToken);
128-
await StorageClient.SetAccessPolicyAsync(StorageOptions.PublicAccessType, cancellationToken: cancellationToken);
127+
_ = await StorageClient.CreateIfNotExistsAsync(PublicAccessType.BlobContainer, cancellationToken: cancellationToken);
128+
var policy = await StorageClient.GetAccessPolicyAsync(cancellationToken: cancellationToken);
129+
if (policy.Value.BlobPublicAccess != StorageOptions.PublicAccessType)
130+
{
131+
await StorageClient.SetAccessPolicyAsync(StorageOptions.PublicAccessType, cancellationToken: cancellationToken);
132+
}
133+
129134
IsContainerCreated = true;
130135

131136
return Result.Succeed();
132137
}
133138
catch (Exception ex)
134139
{
140+
IsContainerCreated = false;
135141
_logger?.LogError(ex.Message, ex);
136142
return Result.Fail(ex);
137143
}
@@ -146,7 +152,7 @@ protected override async Task<Result> DeleteDirectoryInternalAsync(string direct
146152
foreach (var blob in blobs)
147153
{
148154
var blobClient = StorageClient.GetBlobClient(blob.Name);
149-
await blobClient.DeleteAsync(DeleteSnapshotsOption.None, null, cancellationToken);
155+
await blobClient.DeleteIfExistsAsync(DeleteSnapshotsOption.None, null, cancellationToken);
150156
}
151157

152158
return Result.Succeed();
@@ -227,8 +233,8 @@ protected override async Task<Result<bool>> DeleteInternalAsync(DeleteOptions op
227233
{
228234
await EnsureContainerExist();
229235
var blobClient = StorageClient.GetBlobClient(options.FullPath);
230-
var response = await blobClient.DeleteAsync(DeleteSnapshotsOption.None, null, cancellationToken);
231-
return Result<bool>.Succeed(!response.IsError);
236+
var response = await blobClient.DeleteIfExistsAsync(DeleteSnapshotsOption.None, null, cancellationToken);
237+
return Result<bool>.Succeed(response);
232238
}
233239
catch (RequestFailedException ex)
234240
when (ex.Status is 404)

0 commit comments

Comments
 (0)