可以在 Azure blob 上手动设置 etag 和 last-modified 吗?

问题描述

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

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

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

有谁知道这是否可以通过任何 API 或端点实现?还是我的方法不对?

解决方法

能否在 Azure blob 上手动设置 etag 和 last-modified?

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...