Поделиться через


Управление свойствами и метаданными контейнера с помощью JavaScript или TypeScript

Помимо данных, которые они содержат, контейнеры BLOB-объектов поддерживают свойства системы и пользовательские метаданные. В этой статье рассматривается управление свойствами системы и определяемыми пользователем метаданными с помощью клиентской библиотеки хранилища Azure для JavaScript.

Необходимые компоненты

Сведения о свойствах и метаданных

  • Свойства системы: свойства системы есть у каждого ресурса хранилища BLOB-объектов. Некоторые из них можно считать или задать, некоторые — только считать. На самом деле, некоторые свойства системы соответствуют определенным стандартным заголовкам HTTP. Клиентская библиотека службы хранилища Azure для JavaScript сохраняет эти свойства.

  • Определяемые пользователем метаданные: такие метаданные состоят из одной или нескольких пар "имя-значение", которые можно указать для ресурса хранилища BLOB-объектов. Вы можете использовать метаданные для хранения дополнительных значений с помощью ресурса хранилища. Значения метаданных предназначены только для ваших собственных целей и не влияют на поведение ресурса.

    Пары имен и значений метаданных являются допустимыми HTTP-заголовками, поэтому они должны соответствовать всем ограничениям для HTTP-заголовков. Дополнительные сведения о требованиях к именованию метаданных см. в разделе "Имена метаданных".

Получение свойств контейнера

Чтобы получить свойства контейнера, используйте следующий метод:

В следующем примере кода извлекается свойства контейнера и записывается некоторые значения свойств в окно консоли:

async function getContainerProperties(containerClient) {
  
  try {
    const containerProperties = await containerClient.getProperties();

    console.log(`Public access type: ${containerProperties.blobPublicAccess}`);
    console.log(`Lease status: ${containerProperties.leaseStatus}`);
    console.log(`Lease state: ${containerProperties.leaseState}`);
    console.log(`Has immutability policy: ${containerProperties.hasImmutabilityPolicy}`);
  } catch (err) {
    // Handle the error
  }
}

Задание и извлечение метаданных

Метаданные можно указать как одну или несколько пар "имя — значение" для ресурса контейнера. Чтобы задать метаданные, создайте объект ContainerClient , а затем используйте следующий метод:

Следующий пример кода задает метаданные в контейнере:

async function setContainerMetadata(containerClient) {
  
  const metadata = {
    docType: "textDocuments",
    docCategory: "testing",
  };
  
  await containerClient.setMetadata(metadata);

}

Чтобы получить метаданные, получите свойства контейнера, а затем используйте возвращаемое свойство метаданных.

Ресурсы

Дополнительные сведения о настройке и получении свойств контейнера и метаданных с помощью клиентской библиотеки Хранилище BLOB-объектов Azure для JavaScript см. в следующих ресурсах.

Примеры кода

Операции REST API

Пакет SDK Azure для JavaScript содержит библиотеки, которые создаются на основе REST API Azure, что позволяет взаимодействовать с операциями REST API через знакомые парадигмы JavaScript. Методы клиентской библиотеки для задания и получения свойств и метаданных используют следующие операции REST API:

Метод getProperties извлекает свойства контейнера и метаданные, вызывая операцию get BLOB-объектов Properties и операцию Get BLOB-метаданных .

Ресурсы клиентской библиотеки