<PackageReference Include="Azure.Storage.Blobs" Version="12.25.1" />

SpecializedBlobExtensions

public static class SpecializedBlobExtensions
Add easy to discover methods to BlobContainerClient for creating AppendBlobClient instances.
using Azure.Core.Cryptography; using Azure.Core.Pipeline; using Azure.Storage.Blobs.Models; using Azure.Storage.Cryptography.Models; using System; using System.Runtime.CompilerServices; using System.Threading; using System.Threading.Tasks; namespace Azure.Storage.Blobs.Specialized { public static class SpecializedBlobExtensions { public static AppendBlobClient GetAppendBlobClient(this BlobContainerClient client, string blobName) { return client.GetAppendBlobClientCore(blobName); } public static BlobContainerClient GetParentBlobContainerClient(this BlobBaseClient client) { return client.GetParentBlobContainerClientCore(); } public static BlobBaseClient GetBlobBaseClient(this BlobContainerClient client, string blobName) { return client.GetBlobBaseClientCore(blobName); } public static BlobClient WithClientSideEncryptionOptions(this BlobClient client, ClientSideEncryptionOptions clientSideEncryptionOptions) { return client.WithClientSideEncryptionOptionsCore(clientSideEncryptionOptions); } public static BlobServiceClient GetParentBlobServiceClient(this BlobContainerClient client) { return client.GetParentBlobServiceClientCore(); } public static BlobLeaseClient GetBlobLeaseClient(this BlobBaseClient client, string leaseId = null) { return client.GetBlobLeaseClientCore(leaseId); } public static BlobLeaseClient GetBlobLeaseClient(this BlobContainerClient client, string leaseId = null) { return client.GetBlobLeaseClientCore(leaseId); } public static BlockBlobClient GetBlockBlobClient(this BlobContainerClient client, string blobName) { return client.GetBlockBlobClientCore(blobName); } public static PageBlobClient GetPageBlobClient(this BlobContainerClient client, string blobName) { return client.GetPageBlobClientCore(blobName); } public static void UpdateClientSideKeyEncryptionKey(this BlobClient client, ClientSideEncryptionOptions encryptionOptionsOverride = null, BlobRequestConditions conditions = null, CancellationToken cancellationToken = default(CancellationToken)) { UpdateClientsideKeyEncryptionKeyInternal(client, encryptionOptionsOverride, conditions, false, cancellationToken).EnsureCompleted(); } [AsyncStateMachine(typeof(<UpdateClientSideKeyEncryptionKeyAsync>d__10))] public static Task UpdateClientSideKeyEncryptionKeyAsync(this BlobClient client, ClientSideEncryptionOptions encryptionOptionsOverride = null, BlobRequestConditions conditions = null, CancellationToken cancellationToken = default(CancellationToken)) { <UpdateClientSideKeyEncryptionKeyAsync>d__10 stateMachine = default(<UpdateClientSideKeyEncryptionKeyAsync>d__10); stateMachine.<>t__builder = AsyncTaskMethodBuilder.Create(); stateMachine.client = client; stateMachine.encryptionOptionsOverride = encryptionOptionsOverride; stateMachine.conditions = conditions; stateMachine.cancellationToken = cancellationToken; stateMachine.<>1__state = -1; stateMachine.<>t__builder.Start(ref stateMachine); return stateMachine.<>t__builder.Task; } [AsyncStateMachine(typeof(<UpdateClientsideKeyEncryptionKeyInternal>d__11))] private static Task UpdateClientsideKeyEncryptionKeyInternal(BlobClient client, ClientSideEncryptionOptions encryptionOptionsOverride, BlobRequestConditions conditions, bool async, CancellationToken cancellationToken) { <UpdateClientsideKeyEncryptionKeyInternal>d__11 stateMachine = default(<UpdateClientsideKeyEncryptionKeyInternal>d__11); stateMachine.<>t__builder = AsyncTaskMethodBuilder.Create(); stateMachine.client = client; stateMachine.encryptionOptionsOverride = encryptionOptionsOverride; stateMachine.conditions = conditions; stateMachine.async = async; stateMachine.cancellationToken = cancellationToken; stateMachine.<>1__state = -1; stateMachine.<>t__builder.Start(ref stateMachine); return stateMachine.<>t__builder.Task; } [AsyncStateMachine(typeof(<UnwrapKeyInternal>d__12))] private static Task<byte[]> UnwrapKeyInternal(EncryptionData encryptionData, IKeyEncryptionKeyResolver keyResolver, bool async, CancellationToken cancellationToken) { <UnwrapKeyInternal>d__12 stateMachine = default(<UnwrapKeyInternal>d__12); stateMachine.<>t__builder = AsyncTaskMethodBuilder<byte[]>.Create(); stateMachine.encryptionData = encryptionData; stateMachine.keyResolver = keyResolver; stateMachine.async = async; stateMachine.cancellationToken = cancellationToken; stateMachine.<>1__state = -1; stateMachine.<>t__builder.Start(ref stateMachine); return stateMachine.<>t__builder.Task; } [AsyncStateMachine(typeof(<WrapKeyInternal>d__13))] private static Task<byte[]> WrapKeyInternal(ReadOnlyMemory<byte> contentEncryptionKey, string keyWrapAlgorithm, IKeyEncryptionKey key, bool async, CancellationToken cancellationToken) { <WrapKeyInternal>d__13 stateMachine = default(<WrapKeyInternal>d__13); stateMachine.<>t__builder = AsyncTaskMethodBuilder<byte[]>.Create(); stateMachine.contentEncryptionKey = contentEncryptionKey; stateMachine.keyWrapAlgorithm = keyWrapAlgorithm; stateMachine.key = key; stateMachine.async = async; stateMachine.cancellationToken = cancellationToken; stateMachine.<>1__state = -1; stateMachine.<>t__builder.Start(ref stateMachine); return stateMachine.<>t__builder.Task; } } }