Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Операция Find Blobs by Tags in Container находит все blob-ы, чьи теги совпадают с поисковым выражением в контейнере.
запрос
Можно создать запрос Find Blobs by Tags in Container следующим образом. Мы рекомендуем HTTPS. Замените myaccount на имя вашего аккаунта хранения и mycontainer на имя вашего хранилища.
| URI запроса метода GET | Версия HTTP |
|---|---|
https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=blobs&where=<expression> |
HTTP/1.1 |
Параметры URI
Можно указать следующие дополнительные параметры в URI запроса:
| Параметр | Описание |
|---|---|
expression |
Обязательно. Фильтрует набор результатов так, чтобы включать только те blobs, чьи теги совпадают с указанным выражением. Для получения информации о том, как построить это выражение, см. Примечания позже в этой статье. |
marker |
Необязательно. Строковое значение, определяющее часть результирующий набор, возвращаемую с помощью следующей операции. Операция возвращает значение маркера в теле ответа, если возвращённый набор результатов не был полным. Значение маркера затем может быть использовано в следующем вызове для запроса следующего набора элементов. Значение маркера непрозрачно для клиента. |
maxresults |
Необязательно. Указывает максимальное количество возвращаемых BLOB-объектов. Если в запросе не maxresults указано или не указано значение более 5 000, сервер возвращает до 5 000 элементов. Если есть дополнительные результаты, которые нужно вернуть, служба возвращает маркер продолжения в элементе ответа NextMarker . В некоторых случаях сервис может возвращать меньше результатов, чем maxresults указано, но при этом возвращать токен продолжения.Задание maxresults значением меньше или равно нулю приводит к коду ответа об ошибке 400 (недопустимый запрос). |
timeout |
Необязательно. Выражено в секундах. Для получения дополнительной информации см. раздел «Установка тайм-аутов для операций с Blob Storage». |
Заголовки запроса
В следующей таблице описаны обязательные и необязательные заголовки запросов:
| Заголовок запроса | Описание |
|---|---|
Authorization |
Обязательно. Указывает схему авторизации, имя учетной записи и подпись. Дополнительные сведения см. в статье Авторизация запросов к службе хранилища Azure. |
Date или x-ms-date |
Обязательно. Указывает универсальное время (UTC) для запроса. Дополнительные сведения см. в статье Авторизация запросов к службе хранилища Azure. |
x-ms-version |
Требуется для всех авторизованных запросов, но необязательно для анонимных. Указывает версию операции, используемой для этого запроса. Дополнительные сведения см. в разделе Управление версиями служб хранилища Azure. |
x-ms-client-request-id |
Необязательно. Предоставляет созданное клиентом непрозрачное значение с ограничением символов 1-kibibyte (KiB), записанным в журналах при настройке ведения журнала. Настоятельно рекомендуется использовать этот заголовок для сопоставления действий на стороне клиента с запросами, получаемыми сервером. |
Текст запроса
Нет.
Ответ
Ответ включает HTTP-код статуса, заголовки ответов и тело ответа.
Код состояния
Успешная операция возвращает код состояния 200 (ОК).
Сведения о кодах состояния см. в коды состояния и коды ошибок.
Заголовки ответа
Ответ для этой операции содержит следующие заголовки. Ответ также может включать дополнительные стандартные заголовки HTTP. Все стандартные заголовки соответствуют спецификации протокола HTTP/1.1.
| Заголовок ответа | Описание |
|---|---|
Content-Type |
Указывается application/xml как тип контента. |
Content-Length |
Указывает размер возвращаемого XML-документа в байтах. |
x-ms-request-id |
Уникально идентифицирует выполненный запрос. Вы можете использовать его для устранения неполадок с запросом. Дополнительные сведения см. в статье Устранение неполадок с операциями API. |
x-ms-version |
Указывает версию Azure Blob Storage, использовавшуюся для выполнения запроса. |
Date |
Значение даты и времени в формате UTC, указывающее время отправки ответа службой. |
x-ms-client-request-id |
Может использоваться для устранения неполадок с запросами и соответствующими ответами. Значение этого заголовка равно значению x-ms-client-request-id самого заголовка, если оно присутствует в запросе и значение не более 1 024 видимых ASCII-символа. Если заголовок x-ms-client-request-id отсутствует в запросе, он не будет присутствовать в ответе. |
Основная часть ответа
Формат тела ответа следующий:
<?xml version="1.0" encoding="utf-8"?>
<EnumerationResults ServiceEndpoint=http://myaccount.blob.core.windows.net/>
<Where>string-value</Where>
<Blobs>
<Blob>
<Name>blob-name</Name>
<ContainerName>container-name</ContainerName>
<Tags>
<TagSet>
<Tag>
<Key>matching-tag-name1</Key>
<Value>matching-tag-value1</Value>
</Tag>
<Tag>
<Key>matching-tag-name2</Key>
<Value>matching-tag-value2</Value>
</Tag>
</TagSet>
</Tags>
</Blob>
</Blobs>
<NextMarker />
</EnumerationResults>
Ответный корпус представляет собой хорошо сформированный XML-документ UTF-8.
Authorization
Авторизация требуется при вызове любой операции доступа к данным в службе хранилища Azure. Вы можете авторизовать операцию Find Blobs by Tags in Container, как описано ниже.
Это важно
Корпорация Майкрософт рекомендует использовать идентификатор Microsoft Entra с управляемыми удостоверениями для авторизации запросов в службу хранилища Azure. Идентификатор Microsoft Entra обеспечивает более высокую безопасность и удобство использования по сравнению с авторизацией общего ключа.
Служба хранилища Azure поддерживает использование идентификатора Microsoft Entra для авторизации запросов к данным BLOB-объектов. С помощью идентификатора Microsoft Entra можно использовать управление доступом на основе ролей Azure (Azure RBAC) для предоставления разрешений субъекту безопасности. Субъект безопасности может быть пользователем, группой, субъектом-службой приложений или управляемым удостоверением Azure. Принципал безопасности проходит проверку подлинности с помощью Microsoft Entra ID, чтобы вернуть токен OAuth 2.0. Затем маркер можно использовать для авторизации запроса к службе BLOB-объектов.
Дополнительные сведения об авторизации с помощью идентификатора Microsoft Entra см. в статье Авторизация доступа к большим двоичным объектам с помощью идентификатора Microsoft Entra ID.
Разрешения
Ниже приведены действия RBAC, необходимые для пользователя Microsoft Entra, группы, управляемого удостоверения или субъекта-службы для вызова операции Find Blobs by Tags in Container и минимально привилегированной встроенной роли Azure RBAC, которая включает в себя следующее:
- Azure RBAC action:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/filter/action
- встроенная роль с минимальными привилегиями:владельца данных BLOB-объектов хранилища
Дополнительные сведения о назначении ролей с помощью Azure RBAC см. в статье Назначение роли Azure для доступа к данным BLOB-объектов.
Замечания
Эта операция поддерживается в версии Find Blobs by Tags in Container REST API 2021-04-10 и более поздней.
Для аккаунтов с включённым иерархическим пространством имён эта Find Blobs by Tags операция не поддерживается.
Вторичный индекс, который Find Blobs by Tags in Container использует, в конечном итоге становится последовательным. Обновления blob-тегов через Set Blob Tags могут быть не сразу видимы для Find Blobs by Tags in Container операций.
Построение поискового выражения
where Параметр URI находит скопления в аккаунте хранения и контейнере, теги которых совпадают с выражением. Выражение должно быть вычислено в true , чтобы blob был возвращён в наборе результатов.
Сервис хранения поддерживает подмножество грамматики ANSI SQL WHERE clause для значения where=<expression> параметра запроса. Сервис хранения поддерживает следующих операторов:
| Оператор | Описание | Пример |
|---|---|---|
= |
Равно | &where=Status = 'In Progress' |
> |
Больше | &where=LastModified > '2018-06-18 20:51:26Z' |
>= |
Больше или равно | &where=Priority >= '05' |
< |
Меньше | &where=Age < '032' |
<= |
Меньше или равно | &where=Reviewer <= 'Smith' |
AND |
Логическое И | &where=Name > 'C' AND Name < 'D'&where=Age > '032' AND Age < '100' |
Замечание
Значение where параметра URI должно быть корректно закодировано URI (включая пробелы и операторы). В предыдущих примерах это опущено ради удобства читаемости.
@container не поддерживается, когда контейнер является частью URI.
Все значения тегов — это строки. Поддерживаемые бинарные реляционные операторы используют лексикографическую сортировку значений тегов. Для поддержки не-строковых типов данных, включая числа и даты, необходимо использовать соответствующее дополнение и сортируемое форматирование. Значения тегов должны быть заключены в единичные кавычки.
Если имена тегов являются обычными SQL-идентификаторами, они могут присутствовать без выхода из системы. Если в них содержатся какие-либо специальные символы, их необходимо разделить двойными кавычками (например, "TagName" = TagValue). Мы рекомендуем всегда заключать имена тегов в двойные кавычки.
Служба хранения отклоняет любой запрос с недействительным выражением с кодом ошибки 400 (Плохой запрос).
Выставление счетов
Запросы цен могут возникать от клиентов, использующих API хранилища BLOB-объектов, непосредственно через REST API хранилища BLOB-объектов или из клиентской библиотеки службы хранилища Azure. Эти запросы начисляют плату за транзакцию. Тип транзакции влияет на то, как взимается учетная запись. Например, транзакции чтения начисляются в другую категорию выставления счетов, чем операции записи. В следующей таблице показана категория выставления счетов для запросов Find Blobs by Tags in Container на основе типа учетной записи хранения:
| Операция | Тип учетной записи хранения | Категория выставления счетов |
|---|---|---|
| Поиск БОЛЬШИХ двоичных объектов по тегам в контейнере | Блочный BLOB-объект категории "Премиум". Стандартная версия общего назначения v2 Стандартная версия общего назначения 1 |
Перечисление и создание операций контейнера |
Дополнительные сведения о ценах на указанную категорию выставления счетов см. в цен на хранилище BLOB-объектов Azure.
См. также
Управление и поиск данных на Azure Blob Storage с индексными тегами blob
Авторизация запросов в службу хранилища Azure
Коды состояний и ошибок
коды ошибок хранилища BLOB-объектов