gpt4 book ai didi

c# - Azure Blob 存储 DownloadTextAsync 与 BlobRequestOptions

转载 作者:行者123 更新时间:2023-12-03 01:48:18 25 4
gpt4 key购买 nike

使用 azure blob 存储和 Azure SDK,我当前正在下载如下字符串:

var storageAccount = CloudStorageAccount.Parse(connectionString);
var blobClient = storageAccount.CreateCloudBlobClient();
var container = blobClient.GetContainerReference(containerName);
var blockBlob = container.GetBlockBlobReference(blobUid);
var text = await blockBlob.DownloadTextAsync();

我想传入 blobRequestOptions 来设置自定义重试策略,因此它看起来像这样:

var storageAccount = CloudStorageAccount.Parse(connectionString);
var blobClient = storageAccount.CreateCloudBlobClient();
var container = blobClient.GetContainerReference(containerName);
var blockBlob = container.GetBlockBlobReference(blobUid);
var blobRequestOptions = new BlobRequestOptions()
{
RetryPolicy = new ExponentialRetry(TimeSpan.FromSeconds(5), 3)
};

var text await blockBlob.DownloadTextAsync(encoding, accessCondition, blobRequestOptions, operationContext);

我的问题是我不确定要为编码、accessCondition 或 operationContext 传递什么。我查看了文档( https://msdn.microsoft.com/en-us/library/dn434829.aspx )并进行了大量搜索,但我不知道要传入什么。

编码:我的数据只是 Us-En 中的 json,所以我认为我可以使用 ACSII 或 UTF-8,但我找不到 azure 是否有我应该使用的默认值。

AccessCondition 和 OperationContext:不知道我应该传入什么。

或者也许有更好的方法来完成我想要做的事情,而无需使用重载的 DownloadTextAsync。

最佳答案

当我遇到这样的问题并且我很幸运 SDK 是开源的时,我通常会查看源代码。Azure 存储 SDK 的源代码位于此处:

https://github.com/Azure/azure-storage-net

这就是您正在调用的方法:

public virtual Task<string> DownloadTextAsync(CancellationToken cancellationToken)
{
return AsyncExtensions.TaskFromApm(this.BeginDownloadText, this.EndDownloadText, cancellationToken);
}

这基本上只是将 BeginDownloadText 方法从旧的 APL 模型转换为新的基于 TPL 的调用。如果您查看 BeginDownloadText:

public virtual ICancellableAsyncResult BeginDownloadText(AsyncCallback callback, object state)
{
return this.BeginDownloadText(null /* encoding */, null /* accessCondition */, null /* options */, null /* operationContext */, callback, state);
}

您可以看到它们显式指定编码、accessCondition 和 operationContext 的 null 值。如果您愿意,您可以进一步深入,但我想说您可以使用 null 作为您不需要的参数。

关于c# - Azure Blob 存储 DownloadTextAsync 与 BlobRequestOptions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42911918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com