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:Microsoft.Storage/storageAccounts/blobServices/containers/write
- Встроенная роль с минимальными привилегиями:Участник данных BLOB-объектов хранилища
Дополнительные сведения о назначении ролей с помощью 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-объектов