有没有一种方法可以过滤不在 Azure Blob 存档层中的 blob?

Is there a way we can filter blobs that are not in archive tier in Azure Blob?

我有一个 blob 容器说“演示”。它有很多文件,很少在热层,很少在归档层。我只想处理那些处于热状态的文件,忽略存档层文件。

  1. 使用 getmetadata activity 列出所有文件,包括存档层文件
  2. 使用“az storage blob list throws”错误 - 'This operation is not permitted on an archived blob.'

请指引我正确的方向。

您可以使用 List Blobs 操作,其中 return 是指定容器下的 blob 列表。

方法:GET

请求 URI:https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list

HTTP 版本:HTTP/1.1

这将 return XML 格式的响应正文,您稍后可以根据访问层名称进行过滤。

在上面的URI中,如果不是自动使用最新版本,还需要提供参数include={versions=2019-12-12}

For version 2017-04-17 and above, List Blobs returns the AccessTier element if an access tier has been explicitly set. For Blob Storage or General Purpose v2 accounts, valid values are Hot/Cool/Archive. If the blob is in rehydrate pending state then ArchiveStatus element is returned with one of the valid values rehydrate-pending-to-hot/rehydrate-pending-to-cool.

参考List Blobs了解更多详情。