Раньше у меня была возможность создать подпись общего доступа для большого двоичного объекта с помощью API пакета SDK для Azure v11, например:
var containerName = "mycontainer";
var blobName = "myblob";
CloudStorageAccount storageAccount
= CloudStorageAccount.Parse(<StorageConnectionString>);
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference(containerName);
SharedAccessBlobPermissions permission = SharedAccessBlobPermissions.Read;
TimeSpan clockSkew = TimeSpan.FromMinutes(15d);
TimeSpan accessDuration = TimeSpan.FromMinutes(15d);
var blobSAS = new SharedAccessBlobPolicy
{
SharedAccessStartTime = DateTime.UtcNow.Subtract(clockSkew),
SharedAccessExpiryTime = DateTime.UtcNow.Add(accessDuration) + clockSkew,
Permissions = permissions
};
CloudBlockBlob blob = container.GetBlockBlobReference(blobName);
string sasBlobToken = blob.GetSharedAccessSignature(blobSAS);
...
Я хочу использовать последнюю версию v12 .NET API, которая, кажется, заменяет CloudBlobClient
на BlobServiceClient
, CloudBlobContainer
на BlobContainerClient
и CloudBlockBlob
на BlobClient
.
Однако метод GetSharedAccessSignature
, доступный в экземпляре CloudBlockBlob
, недоступен в экземпляре BlobClient
.
Вопрос
Как получить подпись общего доступа из экземпляра BlobClient
с помощью последней версии Azure SDK .NET API v12?