Управление свойствами и метаданными контейнера с помощью JavaScript или TypeScript
Помимо данных, которые они содержат, контейнеры BLOB-объектов поддерживают свойства системы и пользовательские метаданные. В этой статье рассматривается управление свойствами системы и определяемыми пользователем метаданными с помощью клиентской библиотеки хранилища Azure для JavaScript.
Необходимые компоненты
- В примерах этой статьи предполагается, что у вас уже есть проект, настроенный для работы с клиентской библиотекой Хранилище BLOB-объектов Azure для JavaScript. Сведения о настройке проекта, включая установку пакетов, импорт модулей и создание авторизованного клиентского объекта для работы с ресурсами данных, см. в статье "Начало работы с Хранилище BLOB-объектов Azure и JavaScript".
- Механизм авторизации должен иметь разрешения на работу со свойствами контейнера или метаданными. Дополнительные сведения см. в руководстве по авторизации для следующих операций REST API:
Сведения о свойствах и метаданных
Свойства системы: свойства системы есть у каждого ресурса хранилища 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 см. в следующих ресурсах.
Примеры кода
- Просмотр примеров кода JavaScript и TypeScript из этой статьи (GitHub)
Операции REST API
Пакет SDK Azure для JavaScript содержит библиотеки, которые создаются на основе REST API Azure, что позволяет взаимодействовать с операциями REST API через знакомые парадигмы JavaScript. Методы клиентской библиотеки для задания и получения свойств и метаданных используют следующие операции REST API:
- Получение свойств контейнера (REST API)
- Настройка метаданных контейнера (REST API)
- Получение метаданных контейнера (REST API)
Метод getProperties
извлекает свойства контейнера и метаданные, вызывая операцию get BLOB-объектов Properties и операцию Get BLOB-метаданных .