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

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

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

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

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

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

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

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

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

В примере кода ниже извлекаются свойства контейнера, а значения некоторых свойств выводятся в окно консоли.

async function getContainerProperties(containerClient) {

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

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

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

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

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

  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-метаданных .

Примеры кода

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