我正在实现一个 Android 应用程序,我需要使用容器 SAS 将图像上传到 blob 容器。
目前使用完整的端点凭据作为连接字符串,我可以CloudBlobClient
使用以下代码向我添加重试策略:
CloudStorageAccount storageAccount = CloudStorageAccount
.parse(storageConnectionString);
CloudBlobClient blobClient = storageAccount.createCloudBlobClient();
BlobRequestOptions options = new BlobRequestOptions();
RetryPolicy policy = new RetryExponentialRetry(BACKOFF_DELTA, MAX_RETRIES);
options.setRetryPolicyFactory(policy);
blobClient.setDefaultRequestOptions(options);
CloudBlobContainer container = blobClient.getContainerReference(containername);
现在,当我从帐户密钥切换到 SAS 时,我不知道如何CloudBlobClient
使用容器中的 SAS 签名创建一个。我可以同时创建CloudBlobClient
并CloudBlobContainer
使用带有 SAS 的 URL,但是客户端是使用匿名凭据创建的,并且无法与我的容器关联:
CloudBlobClient blobClient = new CloudBlobClient(URI.create(containerurl));
CloudBlobContainer container = new CloudBlobContainer(URI.create(containerurl));
有没有办法RetryPolicy
直接添加CloudBlobContainer
或创建CloudBlobClient
与我的容器类关联的已验证身份?