你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 JavaScript 管理容器属性和元数据

除 Blob 容器包含的数据外,它们还支持系统属性和用户定义的元数据。 本文介绍如何使用用于 JavaScript 的 Azure 存储客户端库管理系统属性和用户定义元数据。

关于属性和元数据

类型 说明
系统属性 系统属性存在于每个 Blob 存储资源上。 其中一些属性是可以读取或设置的,而另一些属性是只读的。 事实上,有些系统属性与某些标准 HTTP 标头对应。 用于 JavaScript 的 Azure 存储客户端库将维护这些属性。

示例:
* lastModified
* leaseStatus
用户定义的元数据 用户定义元数据包含一个或多个你为 Blob 存储资源指定的名称/值对对。 可以使用元数据存储资源的其他值。 元数据值仅用于你自己的目的,不会影响资源的行为方式。

示例:
project:metrics-reporting
manager:johnh

元数据名称/值对是有效的 HTTP 标头,因此应当遵循所有控制 HTTP 标头的限制。 元数据名称必须是有效的 HTTP 标头名称,并且应当区分大小写。 包含非 ASCII 字符的元数据值应当是 Base64 编码的或 URL 编码的。

检索容器属性

要检索容器属性,请使用:

以下代码示例提取容器的属性并将属性值写入到控制台窗口:

async function getContainerProperties(containerClient) {

  // Get Properties including existing metadata
  const containerProperties = await containerClient.getProperties();
  if(!containerProperties.errorCode){
    console.log(containerProperties);
  }
}

设置和检索元数据

可以为容器资源指定元数据作为一个或多个名称/值对。 若要设置元数据,请使用:

元数据的名称必须符合 JavaScript 标识符命名约定。 元数据名称保留创建时使用的大小写,但在设置或读取时不区分大小写。 如果为一个资源提交了两个或更多个同名的元数据标头,则 Blob 存储会用逗号将这两个值分隔并连接起来,然后返回 HTTP 响应代码“200 (正常)”。

以下代码示例在容器上设置元数据。

/*
const metadata = {
  // values must be strings
  lastFileReview: currentDate.toString(),
  reviewer: `johnh`
}
*/
async function setContainerMetadata(containerClient, metadata) {

  await containerClient.setMetadata(metadata);

}

若要检索元数据,请获取容器属性,然后使用返回的元数据属性。

另请参阅