Set Container Metadata (Определение метаданных контейнера)

Операция Set Container Metadata задает одну или несколько определяемых пользователем пар «имя-значение» для заданного контейнера.

Запрос

Запрос Set Container Metadata можно составить следующим образом. Рекомендуется использовать ПРОТОКОЛ HTTPS. Замените myaccount именем своей учетной записи хранения:

Метод Универсальный код ресурса (URI) запроса параметр "Версия HTTP"
PUT https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=metadata HTTP/1.1

Запрос службы эмулированного хранилища

При выполнении запроса к эмулированной службе хранилища укажите имя узла эмулятора и порт службы BLOB-объектов в качестве 127.0.0.1:10000, а затем имя эмулированной учетной записи хранения:

Метод Универсальный код ресурса (URI) запроса параметр "Версия HTTP"
PUT http://127.0.0.1:10000/devstoreaccount1/mycontainer?restype=container&comp=metadata HTTP/1.1

Дополнительные сведения см. в статье Использование эмулятора Azurite для разработки и тестирования службы хранилища Azure.

Параметры универсального кода ресурса (URI)

В URI запроса можно указать следующие дополнительные параметры:

Параметр Описание
timeout Необязательный элемент. Параметр timeout указывается в секундах. Дополнительные сведения см. в разделе Настройка времени ожидания для операций службы BLOB-объектов.

Заголовки запросов

Обязательные и необязательные заголовки запросов описаны в следующей таблице:

Заголовок запроса Описание
Authorization Обязательный. Указывает схему авторизации, имя учетной записи и подпись. Дополнительные сведения см. в статье Авторизация запросов к Службе хранилища Azure.
Date или x-ms-date Обязательный. Задает время запроса в формате UTC. Дополнительные сведения см. в статье Авторизация запросов к Службе хранилища Azure.
x-ms-version Требуется для всех авторизованных запросов. Задает версию операции, используемой для этого запроса. Дополнительные сведения см. в разделе Управление версиями для служб хранилища Azure.
x-ms-lease-id: <ID> Необязательно, версия 2012-02-12 и более поздние версии. Если он указан, выполняется успешно, Set Container Metadata только если аренда контейнера активна и соответствует этому идентификатору. Если активная аренда отсутствует или идентификатор не совпадает, возвращается 412 (сбой предварительного условия).
x-ms-meta-name:value Необязательный элемент. Пары «имя-значение», которые будут связаны с контейнером как метаданные.

Каждый вызов этой операции заменяет все существующие метаданные, присоединенные к контейнеру. Чтобы удалить все метаданные из контейнера, вызовите эту операцию без заголовков метаданных.

Примечание. Начиная с версии 2009-09-19 имена метаданных должны соответствовать правилам именования для идентификаторов C#.
x-ms-client-request-id Необязательный элемент. Предоставляет созданное клиентом непрозрачное значение с ограничением в 1 кибибайт (КиБ), которое записывается в журналы при настройке ведения журнала. Мы настоятельно рекомендуем использовать этот заголовок для сопоставления действий на стороне клиента с запросами, получаемыми сервером. Дополнительные сведения см. в разделе Мониторинг Хранилище BLOB-объектов Azure.

Эта операция также поддерживает использование условных заголовков для задания метаданных только при выполнении условия. Дополнительные сведения см. в разделе Указание условных заголовков для операций службы BLOB-объектов.

Текст запроса

Нет.

Пример запроса

Request Syntax:  
PUT https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=metadata HTTP/1.1  
  
Request Headers:  
x-ms-version: 2011-08-18  
x-ms-date: Sun, 25 Sep 2011 22:50:32 GMT  
x-ms-meta-Category: Images  
Authorization: SharedKey myaccount:Z5043vY9MesKNh0PNtksNc9nbXSSqGHueE00JdjidOQ=  

Ответ

Ответ включает код состояния HTTP и набор заголовков ответа.

Код состояния

Успешная операция возвращает код состояния 200 (ОК).

Дополнительные сведения о кодах состояния см. в разделе Коды состояния и ошибок.

Заголовки ответов

Ответ для этой операции включает следующие заголовки. Ответ может также включать дополнительные стандартные заголовки HTTP. Все стандартные заголовки соответствуют спецификации протокола HTTP/1.1.

Заголовок ответа Описание
ETag ETag для контейнера. Если версия запроса — 18.08.2011 и более поздняя, значение ETag заключено в кавычки.
Last-Modified Возвращает дату и время последнего изменения контейнера. Дата в формате согласно RFC 1123. Дополнительные сведения см. в разделе Представление значений даты и времени в заголовках.

Любая операция, изменяющая контейнер, его свойства или метаданные, включая установку разрешений для контейнера, обновляет время последнего изменения. Операции с большими двоичными объектами не влияют на время последнего изменения контейнера.
ms-request-id Уникально идентифицирует выполненный запрос и может использоваться для устранения неполадок с запросом. Дополнительные сведения см. в разделе Устранение неполадок с операциями API.
x-ms-version Указывает версию службы BLOB-объектов, которая использовалась для выполнения запроса. Этот заголовок возвращается для запросов, выполненных в отношении версии 2009-09-19 и более поздних версий.
Date Значение даты и времени в формате UTC, созданное службой, указывающее время, когда был инициирован ответ.
Access-Control-Allow-Origin Возвращается, если запрос включает заголовок, а общий Origin доступ к ресурсам независимо от источника (CORS) включен с помощью правила сопоставления. Этот заголовок возвращает значение заголовка исходного запроса, если имеется совпадение.
Access-Control-Expose-Headers Возвращается, если запрос содержит заголовок Origin и включен CORS с совпадающим правилом. Возвращает список заголовков ответа, которые должны быть предоставлены клиенту или отправителю запроса.
Access-Control-Allow-Credentials Возвращается, если запрос включает Origin заголовок и CORS включен с правилом сопоставления, которое не разрешает все источники. Этот заголовок имеет значение true.
x-ms-client-request-id Этот заголовок можно использовать для устранения неполадок с запросами и соответствующими ответами. Значение этого заголовка равно значению заголовка x-ms-client-request-id , если он присутствует в запросе и содержит не более 1024 видимых символов ASCII. Если заголовок x-ms-client-request-id отсутствует в запросе, он не будет присутствовать в ответе.

Текст ответа

Нет.

Авторизация

При вызове любой операции доступа к данным в службе хранилища Azure требуется авторизация. Вы можете авторизовать Set Container Metadata операцию, как описано ниже.

Служба хранилища Azure поддерживает использование Microsoft Entra ID для авторизации запросов к данным BLOB-объектов. С помощью Microsoft Entra ID можно использовать управление доступом на основе ролей Azure (Azure RBAC) для предоставления разрешений субъекту безопасности. Субъект безопасности может быть пользователем, группой, субъектом-службой приложения или управляемым удостоверением Azure. Субъект безопасности проходит проверку подлинности Microsoft Entra ID для возврата маркера OAuth 2.0. Затем маркер можно использовать для авторизации запроса к службе BLOB-объектов.

Дополнительные сведения об авторизации с помощью Microsoft Entra ID см. в статье Авторизация доступа к BLOB-объектам с помощью Microsoft Entra ID.

Разрешения

Ниже перечислены действия RBAC, необходимые Microsoft Entra пользователю, группе или субъекту-службе для вызова Set Container Metadata операции, а также встроенная роль Azure RBAC с минимальными привилегиями, которая включает это действие:

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

Комментарии

Set Container Metadata Вызов операции перезаписывает все существующие метаданные, связанные с контейнером. Невозможно изменить отдельную пару «имя-значение».

Вы также можете задать метаданные для контейнера при его создании.

Вызов Set Container Metadata обновляет ETag и Last-Modified-Time свойства контейнера. Если запрос был выполнен с использованием версии 2011-08-18, обновленный ETag заключен в кавычки.

Выставление счетов

Запросы на ценообразование могут поступать от клиентов, использующих API хранилища BLOB-объектов, напрямую через REST API хранилища BLOB-объектов или из клиентской библиотеки службы хранилища Azure. Эти запросы начисляют плату за транзакцию. Тип транзакции влияет на способ оплаты учетной записи. Например, транзакции чтения начисляются к категории выставления счетов, отличной от категории операций записи. В следующей таблице показана категория выставления счетов для Set Container Metadata запросов на основе типа учетной записи хранения.

Операция Тип учетной записи хранения Категория выставления счетов
Set Container Metadata (Определение метаданных контейнера) Блочный BLOB-объект (ценовая категории "Премиум")
Общего назначения версии 2 (цен. категория "Стандартный")
Другие операции
Set Container Metadata (Определение метаданных контейнера) Стандартная общего назначения версии 1 Операции записи

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

См. также раздел

Коды состояний и ошибок
Коды ошибок службы BLOB-объектов
Установка и извлечение свойств и метаданных для ресурсов хранилища BLOB-объектов