gpt4 book ai didi

c# - Azure CloudBlobContainer.ListBlobs

转载 作者:行者123 更新时间:2023-11-30 20:54:26 32 4
gpt4 key购买 nike

我正在尝试更新其他人几年前编写的命令行实用程序,以便它可以在当前版本的 Azure SDK 上进行编译。重大更改让我很困扰,尤其是 CloudBlobContainer 的 ListBlobs() 方法。

他构造了一个BlobRequestOptions,如下所示:

BlobRequestOptions options = new BlobRequestOptions
{
UseFlatBlobListing = true,
BlobListingDetails = BlobListingDetails.Snapshots,
AccessCondition = AccessCondition.IfNotModifiedSince(fetchParams.EndDate),
RetryPolicy = RetryPolicies.Retry(10, RetryPolicies.DefaultClientBackoff),
DeleteSnapshotsOption = DeleteSnapshotsOption.None
};

显然,UseFlatBlobListingBlobListingDetails 现在只是 ListBlobs() 的参数。而且我认为我现在不必关心 DeleteSnapshotsOption

但我不知道如何指定上述 AccessCondition,这是一个关键参数。

此外,我不知道 RetryPolicies.DefaultClientBackoff 过去用来做什么,而且我在新的 RetryPolicy 内容中没有看到类似的名称。

有人对此有什么建议吗?

最佳答案

即使使用较旧的库,列出 blob 时也会忽略 AccessCondition 参数。您可能已经知道,AccessCondition 提供了一种执行条件操作的机制(例如仅删除自昨天以来未修改过的 blob 等),并且仅适用于某些操作。有关仅在满足某些条件时才能执行的操作列表,请参阅此处:http://msdn.microsoft.com/en-us/library/windowsazure/dd179371.aspx 。因此,就列出 blob 而言,我想说不要担心访问条件,因为它不适用于此特定操作。

重试策略,顾名思义,允许您指示存储客户端库在发生暂时错误时重试操作。在版本 2.0 中,重试策略已移至单独的命名空间中:Microsoft.WindowsAzure.Storage.RetryPolicies

我写了一些关于将代码从旧存储客户端库迁移到版本 2.0 的博客文章。我认为这两篇文章可能对您的问题有用:

存储客户端库 2.0 – 迁移 Blob 存储代码:http://gauravmantri.com/2012/11/28/storage-client-library-2-0-migrating-blob-storage-code/

存储客户端库 2.0 – 实现重试策略:http://gauravmantri.com/2012/12/30/storage-client-library-2-0-implementing-retry-policies/

关于c# - Azure CloudBlobContainer.ListBlobs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19125657/

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