Установка тегов BLOB-объектов
Операция Set Blob Tags
задает пользовательские теги для указанного большого двоичного объекта в виде одной или нескольких пар "ключ-значение".
Запрос
Запрос Set Blob Tags
можно составить следующим образом. Рекомендуется использовать ПРОТОКОЛ HTTPS. Замените myaccount именем своей учетной записи хранения:
URI запроса метода PUT | параметр "Версия HTTP" |
---|---|
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=tags https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=tags&versionid=<DateTime> |
HTTP/1.1 |
Параметры универсального кода ресурса (URI)
В запросе URI можно указать следующие дополнительные параметры.
Параметр | Описание |
---|---|
versionid |
Необязательно для версии 2019-12-12 и более поздних версий. Параметр versionid является непрозрачным значением DateTime , которое при наличии указывает версию извлекаемого большого двоичного объекта. |
timeout |
Необязательный элемент. Параметр timeout указывается в секундах. Дополнительные сведения см. в статье Настройка времени ожидания для операций с хранилищем BLOB-объектов. |
Заголовки запросов
Обязательные и необязательные заголовки запросов описаны в следующей таблице:
Заголовок запроса | Описание |
---|---|
Authorization |
Обязательный. Указывает схему авторизации, имя учетной записи и подпись. Дополнительные сведения см. в статье Авторизация запросов к Службе хранилища Azure. |
Date или x-ms-date |
Обязательный. Задает время запроса в формате UTC. Дополнительные сведения см. в статье Авторизация запросов к Службе хранилища Azure. |
x-ms-version |
Требуется для всех авторизованных запросов. Задает версию операции, используемой для этого запроса. Дополнительные сведения см. в разделе Управление версиями для служб хранилища Azure. |
Content-Length |
Обязательный. Длина содержимого запроса в байтах. Этот заголовок ссылается на длину содержимого документа тегов, а не самого большого двоичного объекта. |
Content-Type |
Обязательный. Значение этого заголовка должно быть application/xml; charset=UTF-8. |
Content-MD5 |
Необязательный элемент. Хэш MD5 содержимого запроса. Этот хэш используется для проверки целостности содержимого запроса в ходе транспортировки. Если два хэша не совпадают, операция завершается ошибкой с кодом 400 (недопустимый запрос). Этот заголовок связан с содержимым запроса, а не с содержимым самого большого двоичного объекта. |
x-ms-content-crc64 |
Необязательный элемент. Хэш CRC64 содержимого запроса. Этот хэш используется для проверки целостности содержимого запроса в ходе транспортировки. Если два хэша не совпадают, операция завершается ошибкой с кодом 400 (недопустимый запрос). Этот заголовок связан с содержимым запроса, а не с содержимым самого большого двоичного объекта. Если присутствуют оба Content-MD5 заголовка и x-ms-content-crc64 , запрос завершается ошибкой с кодом 400 (недопустимый запрос). |
x-ms-lease-id:<ID> |
Требуется, если у большого двоичного объекта имеется активная аренда. Для выполнения этой операции в большом двоичном объекте с активной арендой укажите допустимый идентификатор аренды для этого заголовка. Если в запросе не указан допустимый идентификатор аренды, операция завершается ошибкой с кодом состояния 403 (запрещено). |
x-ms-client-request-id |
Необязательный элемент. Предоставляет созданное клиентом непрозрачное значение с ограничением в 1 кибибайт (КиБ), которое записывается в журналы при настройке ведения журнала. Мы настоятельно рекомендуем использовать этот заголовок для сопоставления действий на стороне клиента с запросами, получаемыми сервером. Дополнительные сведения см. в разделе Мониторинг Хранилище BLOB-объектов Azure. |
Эта операция поддерживает условный x-ms-if-tags
заголовок для задания тегов BLOB-объектов, только если выполняется указанное условие. Дополнительные сведения см . в разделе Указание условных заголовков для операций с хранилищем BLOB-объектов.
Текст запроса
Далее приведен формат текста запроса.
<?xml version="1.0" encoding="utf-8"?>
<Tags>
<TagSet>
<Tag>
<Key>tag-name-1</Key>
<Value>tag-value-1</Value>
</Tag>
<Tag>
<Key>tag-name-2</Key>
<Value>tag-value-2</Value>
</Tag>
</TagSet>
</Tags>
Текст запроса должен быть XML-документом правильного формата UTF-8 и содержать набор тегов, представляющий теги для большого двоичного объекта.
Набор тегов может содержать не более 10 тегов. Ключи и значения тегов чувствительны к регистру. Ключи тегов должны содержать от 1 до 128 символов, а значения тегов — от 0 до 256 символов. Допустимые ключи тега и символы значений включают:
- Строчные и прописные буквы (a–z, A–Z)
- Цифры (0–9)
- Пробел ( )
- Плюс (+), минус (-), точка (.), косая черта (/), двоеточие (:), равно (=) и подчеркивание (_)
Ответ
Ответ включает код состояния HTTP и набор заголовков ответа.
Код состояния
Успешная операция возвращает код состояния 204 (нет контента).
Дополнительные сведения о кодах состояния см. в разделе Коды состояния и ошибок.
Заголовки ответов
Ответ для этой операции включает следующие заголовки. Ответ может также включать дополнительные стандартные заголовки HTTP. Все стандартные заголовки соответствуют спецификации протокола HTTP/1.1.
Заголовок ответа | Описание |
---|---|
x-ms-request-id |
Уникально идентифицирует выполненный запрос и может использоваться для устранения неполадок с запросом. Дополнительные сведения см. в статье Устранение неполадок с операциями API. |
x-ms-version |
Версия хранилища BLOB-объектов, которая использовалась для выполнения запроса. |
Date |
Значение даты и времени в формате UTC, созданное службой, которое указывает время инициации ответа. |
x-ms-client-request-id |
Может использоваться для устранения неполадок запросов и соответствующих ответов. Значение этого заголовка равно значению заголовка x-ms-client-request-id , если он присутствует в запросе и содержит не более 1024 видимых символов ASCII. Если заголовок x-ms-client-request-id отсутствует в запросе, он не будет присутствовать в ответе. |
Текст ответа
Нет.
Авторизация
Авторизация требуется при вызове любой операции доступа к данным в службе хранилища Azure. Вы можете авторизовать операцию, Set Blob Tags
как описано ниже.
Важно!
Корпорация Майкрософт рекомендует использовать Microsoft Entra ID с управляемыми удостоверениями для авторизации запросов к службе хранилища Azure. Microsoft Entra ID обеспечивает более высокий уровень безопасности и простоту использования по сравнению с авторизацией с общим ключом.
Служба хранилища 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 Blob Tags
операции, а также встроенная роль Azure RBAC с наименьшими привилегиями, которая включает это действие:
- Действие Azure RBAC:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write
- Встроенная роль с наименьшими привилегиями:владелец данных BLOB-объектов хранилища
Дополнительные сведения о назначении ролей с помощью Azure RBAC см. в статье Назначение роли Azure для доступа к данным BLOB-объектов.
Комментарии
Эта Set Blob Tags
операция поддерживается в REST API версии 2019-12-12 и более поздних версиях.
Для учетных записей с включенным иерархическим пространством имен операция не поддерживается, Set Blob Tags
так как теги больших двоичных объектов не поддерживаются для учетных записей иерархического пространства имен.
Операция Set Blob Tags
перезаписывает все существующие теги в большом двоичном объекте. Чтобы удалить все теги из большого двоичного объекта, отправьте Set Blob Tags
запрос с пустым <TagSet>
.
Эта операция не обновляет ETag или время последнего изменения большого двоичного объекта. Можно задать теги для архивного большого двоичного объекта.
Служба хранилища поддерживает строгой согласованность между BLOB-объектом и его тегами. Изменения тегов BLOB-объектов сразу же видны для последующих Get Blob Tags
операций с большим двоичным объектом. Однако вторичный индекс в конечном итоге является согласованным. Изменения тегов большого двоичного объекта могут быть не сразу видны Find Blobs by Tags
операциям.
Если запрос предоставляет недопустимые теги, хранилище BLOB-объектов возвращает код состояния 400 (недопустимый запрос).
Выставление счетов
Запросы на ценообразование могут исходить от клиентов, использующих API хранилища BLOB-объектов, напрямую через REST API хранилища BLOB-объектов или из клиентской библиотеки службы хранилища Azure. Эти запросы начисляют плату за каждую транзакцию. Тип транзакции влияет на способ оплаты учетной записи. Например, транзакции чтения начисляются на категорию выставления счетов, отличную от категории операций записи. В следующей таблице показана категория выставления счетов для Set Blob Tags
запросов на основе типа учетной записи хранения.
Операция | Тип учетной записи хранения | Категория выставления счетов |
---|---|---|
Установка тегов BLOB-объектов | Блочный BLOB-объект (ценовая категории "Премиум") Общего назначения версии 2 (цен. категория "Стандартный") |
Другие операции |
Установка тегов BLOB-объектов | Стандартная общего назначения версии 1 | Операции записи |
Дополнительные сведения о ценах для указанной категории выставления счетов см. в разделе Цены на Хранилище BLOB-объектов Azure.
См. также раздел
Управление данными хранилища BLOB-объектов и их поиск с помощью тегов индекса BLOB-объектов
Авторизация запросов к службе хранилища Azure
Коды состояний и ошибок
Коды ошибок хранилища BLOB-объектов