获取没有元数据的Blob

问题描述 投票:0回答:2

我正在使用azure函数设置容器中所有blob的blob元数据。但是由于大量斑点,功能超时。如果我再次运行该函数,它将再次开始获取已经具有元数据的Blob。有没有办法我只能获取没有元数据的斑点?

azure storage metadata azure-storage-blobs azure-blob-storage
2个回答
0
投票

该问题不包含示例,但也许可以在调用中指定参数以更准确地获取所需的信息?


0
投票

是否有一种方法,我只能获得不具有的斑点元数据?

无法这样做。 Azure Blob存储不具有对元数据的服务器端筛选功能。实际上,您只能在blob名称前缀上执行服务器端过滤。您需要做的(这是您已经在做的事情)是列出所有blob,然后滤除功能代码中没有元数据的blob。

var response = await container.ListBlobsSegmentedAsync(prefix, true, BlobListingDetails.None, 200, continuationToken, null, null); continuationToken = response.ContinuationToken;

我注意到,在上面的代码中,您一次只获取200个Blob。这不是很有效。在对Azure Blob存储的单个请求中,您可以要求Storage Service返回最多5000个Blob。如果将此200更改为5000,则对存储的请求数量将大大减少,并且有可能在功能超时之前可以获取所有blob。

© www.soinside.com 2019 - 2024. All rights reserved.