您可以在 Azure blob 上手动设置 etag 和最后修改时间吗?

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

为了实现冗余和规模,我手动将 blob 复制到全局的多个 Azure 存储帐户。这些帐户构成了 CDN 上源组中的多个“源”。因此,当请求来自世界上的某个地方时,它可以由任何这些存储帐户提供服务,但 URL 的 blob 内容应该是相同的。

由于它们是手动复制的,因此它们将具有不同的 etag 和上次修改时间戳。我不希望缓存(在 CDN 或客户端上)“崩溃”,认为每次访问不同的存储帐户时内容都是不同的,因为 etag/last-modified 与已缓存的版本不匹配。理想情况下,我希望每个存储帐户中 Blob 的 etag 和上次修改属性相同(与 Blob 内容相同)。

我在 REST API 或 Azure .NET API 中找不到可以设置此设置的任何位置。我确实找到了一个旧的Java API(https://learn.microsoft.com/en-us/java/api/com.microsoft.azure.storage.blob.blobproperties.setetag)所以看起来它是或曾经是可在某个时刻设置。

有人知道这是否可以通过任何 API 或端点实现吗?或者我的处理方式是错误的?

azure azure-blob-storage cdn http-caching
2个回答
3
投票

您可以在 Azure blob 上手动设置 etag 和最后修改时间吗?

简单的答案是你不能。 Azure blob 上的 etag 和上次修改日期都是系统定义的属性,并且在修改 blob 时由存储服务设置。


0
投票

使用 Storage v2,您可以在 blob 上设置标签并在 请求条件中使用这些标签。

使用标签作为用户定义的etag/修改日期是完全可行的。

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