Поделиться через


Вывод списка БОЛЬШИХ двоичных объектов

Операция List Blobs возвращает список больших двоичных объектов в указанном контейнере.

Просьба

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

Метод URI запроса ВЕРСИЯ HTTP
GET https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list HTTP/1.1

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

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

Метод URI запроса ВЕРСИЯ HTTP
GET http://127.0.0.1:10000/devstoreaccount1/mycontainer?restype=container&comp=list HTTP/1.1

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

Параметры URI

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

Параметр Описание
prefix Необязательный. Фильтрует результаты, чтобы возвращать только большие двоичные объекты с именами, начинающимися с указанного префикса. В учетных записях с иерархическим пространством имен возникает ошибка в случаях, когда имя файла отображается в середине пути префикса. Например, можно попытаться найти большие двоичные объекты, имена которых присвоены readmefile.txt с помощью префиксного пути folder1/folder2/readme/readmefile.txt. Ошибка появится, если какая-либо подпапка содержит файл с именем readme.
delimiter Необязательный. Когда запрос включает этот параметр, операция возвращает BlobPrefix элемент в теле ответа. Этот элемент выступает в качестве заполнителя для всех больших двоичных объектов с именами, начинающимися с той же подстроки, вплоть до внешнего вида символа разделителя. Разделитель может быть одним символом или строкой.
marker Необязательный. Строковое значение, определяющее часть списка, возвращаемую с помощью следующей операции списка. Операция возвращает значение маркера в теле ответа, если возвращенный список не был завершен. Затем можно использовать значение маркера в последующем вызове для запроса следующего набора элементов списка.

Значение маркера непрозрачно для клиента.
maxresults Необязательный. Указывает максимальное количество возвращаемых больших двоичных объектов, включая все BlobPrefix элементы. Если запрос не указывает maxresultsили задает значение, превышающее 5000, сервер вернет до 5 000 элементов. Если есть дополнительные результаты, которые нужно вернуть, служба возвращает маркер продолжения в элементе ответа NextMarker . В некоторых случаях служба может возвращать меньше результатов, чем указано в maxresults, а также возвращать маркер продолжения.

Задание maxresults значением меньше или равно нулю приводит к коду ответа об ошибке 400 (недопустимый запрос).
include={snapshots,metadata,uncommittedblobs,copy,deleted,tags,versions,
deletedwithversions,immutabilitypolicy,legalhold,permissions}
Необязательный. Указывает один или несколько наборов данных для включения в ответ:

- snapshots: указывает, что моментальные снимки должны быть включены в перечисление. Моментальные снимки перечислены от старых до самых новых в ответе.
- metadataУказывает, что метаданные BLOB-объекта должны быть возвращены в ответе.
- uncommittedblobsУказывает, что большие двоичные объекты, для которых были отправлены блокировки, но которые не были зафиксированы с помощью функции "Поставить список блокировок", должны быть включены в ответ.
- copy: Версия 2012-02-12 и выше. Указывает, что метаданные, относящиеся к любой текущей или предыдущей Copy Blob операции, должны быть включены в ответ.
- deleted: Версия 2017-07-29 и выше. Указывает, что обратимо удаленные большие двоичные объекты должны быть включены в ответ.
- tags: Версия 2019-12-12 и более поздняя. Указывает, что определяемые пользователем теги индекса BLOB-объектов должны быть включены в ответ.
- versions: Версия 2019-12-12 и более поздняя. Указывает, что в перечисление должны быть включены версии больших двоичных объектов.
- deletedwithversions: Версия 2020-10-02 и более поздняя. Указывает, что удаленные BLOB-объекты с любыми версиями (активными или удаленными) должны быть включены в ответ. Элементы, которые вы окончательно удалили, отображаются в ответе, пока они не обрабатываются сборкой мусора. Используйте тег \<HasVersionsOnly\>, а значение true.
- immutabilitypolicy: Версия 2020-06-12 и выше. Указывает, что перечисление должно включать политику неизменяемости до даты и режим политики неизменяемости больших двоичных объектов.
- legalhold: Версия 2020-06-12 и выше. Указывает, что перечисление должно содержать юридическое удержание больших двоичных объектов.
- permissions: Версия 2020-06-12 и выше. Поддерживается только для учетных записей с включенным иерархическим пространством имен. Если запрос включает этот параметр, то в перечисление будут включены владельцы, группы, разрешения и список управления доступом для перечисленных BLOB-объектов или каталогов.

Чтобы указать более одного из этих параметров в URI, необходимо разделить каждый вариант запятой в кодировке URL-адреса («%82»).
showonly={deleted,files,directories} Необязательный. Указывает один из этих наборов данных, возвращаемых в ответе:

- deleted:Необязательный. Версия 2020-08-04 и более поздних версий. Только для учетных записей, включенных с иерархическим пространством имен. Если запрос включает этот параметр, список содержит только обратимо удаленные большие двоичные объекты. Обратите внимание, что резервный вариант авторизации ACL POSIX не поддерживается для перечисления обратимых удаленных BLOB-объектов. Если include=deleted также указано, запрос завершается ошибкой (400).
- files:Необязательный. Версия 2020-12-06 и более поздних версий. Только для учетных записей, включенных с иерархическим пространством имен. Если запрос включает этот параметр, список содержит только файлы.
- directories:Необязательный. Версия 2020-12-06 и более поздних версий. Только для учетных записей, включенных с иерархическим пространством имен. Если запрос включает этот параметр, список содержит только каталоги.
timeout Необязательный. Параметр timeout выражается в секундах. Дополнительные сведения см. в статье Настройка времени ожидания для операций с хранилищем BLOB-объектов.

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

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

Заголовок запроса Описание
Authorization Обязательно. Указывает схему авторизации, имя учетной записи и подпись. Дополнительные сведения см. в статье Авторизация запросов к службе хранилища Azure.
Date или x-ms-date Обязательно. Указывает универсальное время (UTC) для запроса. Дополнительные сведения см. в статье Авторизация запросов к службе хранилища Azure.
x-ms-version Требуется для всех авторизованных запросов и необязательных для анонимных запросов. Указывает версию операции, используемой для этого запроса. Дополнительные сведения см. в разделе Управление версиями служб хранилища Azure.
x-ms-client-request-id Необязательный. Предоставляет созданное клиентом непрозрачное значение с ограничением символов 1-kibibyte (KiB), записанным в журналах при настройке ведения журнала. Настоятельно рекомендуется использовать этот заголовок для сопоставления действий на стороне клиента с запросами, получаемыми сервером. Дополнительные сведения см. в статье Monitorхранилища BLOB-объектов Azure.
x-ms-upn Необязательный. Действует только в том случае, если для учетной записи включено иерархическое пространство имен, указанное include=permissions в запросе. Если true, значения удостоверений пользователя, возвращенные в полях <Владелец, <Группа>> и <Список подписей> доступа, преобразуются из идентификаторов объектов Microsoft Entra в имена участников-пользователей. Если false, значения возвращаются в виде идентификаторов объектов Microsoft Entra. Значение по умолчанию — false. Обратите внимание, что идентификаторы групп и объектов приложения не преобразуются, так как они не имеют уникальных понятных имен.

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

Никакой.

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

Пример запроса см. в разделе Перечисление ресурсов BLOB-объектов .

Ответ

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

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

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

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

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

Заголовок ответа Описание
Content-Type Указывает формат, в котором возвращаются результаты. В настоящее время это значение application/xml.
x-ms-request-id Этот заголовок однозначно идентифицирует выполненный запрос и может использоваться для устранения неполадок запроса. Дополнительные сведения см. в операций API устранения неполадок.
x-ms-version Указывает версию хранилища BLOB-объектов, используемую для выполнения запроса. Этот заголовок возвращается для запросов, выполненных с помощью версии 2009-09-19 и более поздних версий.

Этот заголовок также возвращается для анонимных запросов без указанной версии, если контейнер был помечен для общедоступного доступа с помощью версии хранилища BLOB-объектов 2009-09-19.
Date Значение даты и времени в формате UTC, указывающее время, в течение которого был инициирован ответ. Служба создает это значение.
x-ms-client-request-id Этот заголовок можно использовать для устранения неполадок запросов и соответствующих ответов. Значение этого заголовка равно значению заголовка x-ms-client-request-id, если он присутствует в запросе. Значение не более 1024 видимых символов ASCII. Если в запросе отсутствует заголовок x-ms-client-request-id, этот заголовок не будет присутствовать в ответе.

Текст ответа

Формат XML-ответа выглядит следующим образом.

Обратите внимание, что Prefixэлементы , Marker, MaxResults, и Delimiter присутствуют только в том случае, если они были указаны в URI запроса. Если NextMarker пусто, то результаты списка завершены. Если поле NextMarkerне пустое, результаты списка могут быть или не быть полными. Если вы хотите перечислить все большие двоичные объекты, продолжайте вызов List Blobs с последующими значениями маркеров, пока он не NextMarker опустеет.

Моментальные снимки, метаданные BLOB-объектов и незафиксированные BLOB-объекты включаются в ответ только в том случае, если они указаны с параметром include в URI запроса.

В версии 2009-09-19 и более поздних свойства большого двоичного объекта инкапсулируются в элементе Properties .

Начиная с версии 2009-09-19, List Blobs возвращает следующие переименованные элементы в теле ответа:

  • Last-Modified (ранее LastModified)

  • Content-Length (ранее Size)

  • Content-Type (ранее ContentType)

  • Content-Encoding (ранее ContentEncoding)

  • Content-Language (ранее ContentLanguage)

Элемент Content-MD5 отображается для больших двоичных объектов, созданных с версией 2009-09-19 и более поздними. В версии 2012-02-12 и более поздних хранилище BLOB-объектов вычисляет Content-MD5 значение при отправке BLOB-объекта с помощью функции Put Blob. Хранилище BLOB-объектов не вычисляет это значение при создании большого двоичного объекта с помощью функции "Поместить список блокировок". Вы можете явно задать Content-MD5 значение при создании большого двоичного объекта или при вызове операций Put Block List или Set Blob Properties .

Для версий от 2009-09-19 и более поздних, но до версии 2015-02-21, вы не можете вызвать List Blobs контейнер, содержащий добавочные BLOB-объекты. Служба возвращает код состояния 409 (конфликт), если результат перечисления содержит добавочный большой двоичный объект.

LeaseState и LeaseDuration появляются только в версии 2012-02-12 и более поздних версиях.

CopyId, CopyStatus, CopySource, CopyProgressCopyCompletionTime, и CopyStatusDescription появляются только в версии 2012-02-12 и более поздних, когда эта операция включает параметр.include={copy} Эти элементы не отображаются, если этот большой двоичный объект никогда не был местом назначения в Copy Blob операции. Элементы не отображаются, если этот большой двоичный объект был изменен после завершения Copy Blob операции с помощью Set Blob Properties, Put Blob, или Put Block List. Эти элементы также не отображаются в большом двоичном объекте, созданном с помощью функции "Копировать большой двоичный объект" до версии 2012-02-12.

В версии 2013-08-15 и более поздних версиях EnumerationResults элемент содержит атрибут, ServiceEndpoint указывающий конечную точку BLOB-объекта. Этот элемент также содержит ContainerName поле, в котором указывается имя контейнера. В предыдущих версиях эти два атрибута были объединены ContainerName вместе в поле. Также в версии 2013-08-15 и более поздних версиях Url элемент ниже Blob был удален.

Для версии 2015-02-21 и более поздних версий List Blobs возвращает большие двоичные объекты всех типов (блочные, страничные и добавочные большие двоичные объекты).

Для версии 2015-12-11 и более поздних версий List Blobs возвращает ServerEncrypted элемент. Этот элемент устанавливается, если true большой двоичный объект и метаданные приложения полностью зашифрованы, и false в противном случае.

Для версии 2016-05-31 и более поздних версий List Blobs возвращает IncrementalCopy элемент для добавочной копии больших двоичных объектов и моментальных снимков со значением .true

Для версии 2017-04-17 и более поздних версий возвращает элемент, List BlobsAccessTier если уровень доступа был явно задан. Список разрешенных уровней страничных BLOB-объектов уровня "Премиум" см. в статье Высокопроизводительное хранилище класса "Премиум" и управляемые диски для виртуальных машин. Для Хранилища BLOB-объектов или учетных записей общего назначения версии 2 допустимыми значениями являются Hot, Cool, и Archive. Если большой двоичный объект находится в состоянии ожидания регидратации, то ArchiveStatus элемент возвращается с одним из допустимых значений (rehydrate-pending-to-hot, rehydrate-pending-to-cool, или rehydrate-pending-to-cold). Подробные сведения о распределении по уровням блочных BLOB-объектов см. в статье Горячий, холодный и архивный уровни хранилища.

Для версии 2017-04-17 и более поздних версий List Blobs возвращает AccessTierInferred элемент в хранилище BLOB-объектов или учетных записях общего назначения версии 2. Если для блочного BLOB-объекта не задан уровень доступа, информация об уровне выводится из свойств учетной записи хранения, и для этого значения устанавливается значение true. Этот заголовок присутствует только в том случае, если уровень выводится из свойства учетной записи.

Для версии 2017-04-17 и более поздних версий List Blobs возвращает AccessTierChangeTime элемент в хранилище BLOB-объектов или учетных записях общего назначения версии 2. Это возвращается только в том случае, если уровень в блочных BLOB-объектах когда-либо был задан. Дополнительные сведения см. в разделе Представление значений даты и времени в заголовках.

Для версии 2017-07-29 и более поздних версий, , DeletedTime, и RemainingRetentionDays появляются, Deletedкогда эта операция включает параметр.include={deleted} Эти элементы не отображаются, если этот большой двоичный объект не был удален. Эти элементы отображаются для больших двоичных объектов или моментальных снимков, которые удаляются с помощью DELETE операции, когда была включена функция обратимого удаления. Для Deleted элемента задано значение для true больших двоичных объектов и моментальных снимков, которые являются обратимо удаленными. Deleted-Time соответствует времени, когда большой двоичный объект был удален. RemainingRetentionDays Указывает количество дней, по истечении которых обратимо удаленный BLOB-объект удаляется без возможности восстановления.

Для версии 2017-11-09 и более поздних возвращает Creation-Time время создания этого большого двоичного объекта.

Для версии 2019-02-02 и более поздних версий возвращает элемент, List BlobsCustomerProvidedKeySha256 если большой двоичный объект зашифрован с помощью ключа, предоставленного клиентом. Значение будет установлено на хэш SHA-256 ключа, используемого для шифрования БОЛЬШОго двоичного объекта. Кроме того, если операция включает include={metadata} параметр и в большом двоичном объекте присутствуют метаданные приложения, зашифрованные с помощью ключа, предоставленного клиентом, Metadata элемент будет иметь атрибут.Encrypted="true" Этот атрибут указывает, что большой двоичный объект содержит метаданные, которые не могут быть расшифрованы в рамках List Blobs операции. Чтобы получить доступ к метаданным для этих BLOB-объектов, вызовите команду "Получить свойства BLOB-объекта " или "Получить метаданные BLOB-объекта " с помощью ключа, предоставленного клиентом.

Для версии 2019-02-02 и более поздних версий возвращает элемент, List BlobsEncryptionScope если большой двоичный объект зашифрован с помощью области шифрования. Значение будет присвоено имени области шифрования, используемой для шифрования БОЛЬШОго двоичного объекта. Если операция включает параметр, include={metadata} метаданные приложения в большом двоичном объекте прозрачно расшифровываются и доступны в элементе Metadata .

Для версии 2019-12-12 и более поздних версий List Blobs возвращает RehydratePriority элемент в хранилище BLOB-объектов или учетных записях общего назначения версии 2, если объект находится в состоянии rehydrate pending . Допустимые значения — High и Standard.

Для версии 2019-12-12 и более поздних версий List Blobs возвращает VersionId элемент для больших двоичных объектов и созданных версий больших двоичных объектов, если управление версиями включено в учетной записи.

Для версии 2019-12-12 и более поздних версий List Blobs возвращает IsCurrentVersion элемент для текущей версии большого двоичного объекта. Значение установлено в .true Этот элемент позволяет отличать текущую версию от доступных только для чтения версий.

Для версии 2019-12-12 и более поздних версий List Blobs возвращает TagCount элемент для больших двоичных объектов с любыми тегами. Элемент Tags появляется только в том случае, если эта операция включает параметр.include={tags} Эти элементы не отображаются, если в большом двоичном объекте нет тегов.

Для версии 2019-12-12 и более поздних версий List Blobs возвращает Sealed элемент для добавления больших двоичных объектов. Элемент Sealed отображается только в том случае, если добавочный большой двоичный объект запечатан. Эти элементы не отображаются, если добавленный большой двоичный объект не запечатан.

Для версии 2020-02-10 и более поздних версий List Blobs возвращает LastAccessTime элемент. Элемент показывает, когда данные большого двоичного объекта были последними доступом, в соответствии с политикой отслеживания времени последнего доступа учетной записи хранения. Элемент не возвращается, если учетная запись хранения не имеет этой политики или политика отключена. Сведения о настройке политики отслеживания времени последнего доступа учетной записи см. в разделе API службы BLOB-объектов. Элемент LastAccessTime не отслеживает время последнего обращения к метаданным большого двоичного объекта.

Для версии 2020-06-12 и более поздних версий, List Blobs возвращает ImmutabilityPolicyUntilDate элементы andImmutabilityPolicyMode, если эта операция включает параметр.include={immutabilitypolicy}

Для версии 2020-06-12 и более поздних версий, List Blobs возвращает LegalHold элемент, если эта операция включает параметр.include={legalhold}

Для версии 2020-06-12 и более поздних версий для учетных записей с включенным List Blobs иерархическим пространством имен возвращает Ownerэлементы , Group, Permissions, и Acl . Запрос должен содержать параметр.include={permissions} Обратите внимание, что этот Acl элемент представляет собой объединенный список списков доступа и списков управления доступом по умолчанию, которые были установлены для файла или каталога.

Для версии 2020-06-12 и более поздних версий для учетных записей с включенным List Blobs иерархическим пространством имен с разделителем возвращается Properties элемент в элементе BlobPrefix . Это соответствует свойствам каталога.

Для версии 2020-08-04 и более поздних версий для учетных записей с включенным List Blobs иерархическим пространством имен возвращает DeletionId элемент для удаленных больших двоичных объектов. DeletionId — это беззнаковый 64-разрядный идентификатор. Элемент однозначно идентифицирует обратимо удаленный путь, чтобы отличить его от других удаленных BLOB-объектов с тем же путем.

Для версии 2020-10-02 и более поздних версий, для учетных записей с включенным иерархическим пространством имен, List Blobs возвращает ResourceType элемент свойства для пути. Это может быть либо или filedirectory.

Для версии 2021-02-12 и более поздних версий List Blobs всеNameBlobзначения или BlobPrefixName элементы будут кодироваться в процентах (согласно RFC 2396). В частности, он будет делать это для тех значений, которые содержат символы, которые не являются допустимыми в XML (U+FFFE или U+FFFF). При кодировании элемент Name будет включать атрибут Encoded=true. Обратите внимание, что это происходит только для значений элементов, содержащих символы, недопустимые в XML, а не для Name остальных Name элементов в ответе.

Для версии 2021-06-08 и более поздних версий, для учетных записей с включенным иерархическим пространством имен, List Blobs возвращает Placeholder элемент properties. Он возвращает этот элемент в элементе BlobPrefix для директорий-заполнителей при перечислении удаленных блобов с разделителем. Эти каталоги заполнителей существуют для упрощения навигации по обратимо удаленным BLOB-объектам.

Для версии 2021-06-08 и более поздних версий, для учетных записей с включенным иерархическим пространством EncryptionContext имен, List Blobs возвращает элемент. Если задано значение свойства контекста шифрования, оно вернет заданное значение.

Для версии 2020-02-10 и более поздних версий для учетных записей с включенным List Blobs иерархическим пространством имен возвращает Expiry-Time элемент для удаленных больших двоичных объектов. Expiry-Time — это время, когда срок действия файла истекает, и возвращается для файла, если срок его действия установлен на то же значение.

<?xml version="1.0" encoding="utf-8"?>  
<EnumerationResults ServiceEndpoint="http://myaccount.blob.core.windows.net/"  ContainerName="mycontainer">  
  <Prefix>string-value</Prefix>  
  <Marker>string-value</Marker>  
  <MaxResults>int-value</MaxResults>  
  <Delimiter>string-value</Delimiter>  
  <Blobs>  
    <Blob>  
      <Name>blob-name</Name>  
      <Snapshot>date-time-value</Snapshot>  
      <VersionId>date-time-vlue</VersionId>
      <IsCurrentVersion>true</IsCurrentVersion>
      <Deleted>true</Deleted>
      <Properties> 
        <Creation-Time>date-time-value</Creation-Time>
        <Last-Modified>date-time-value</Last-Modified>  
        <Etag>etag</Etag>
        <Owner>owner user id</Owner>
        <Group>owning group id</Group>
        <Permissions>permission string</Permissions>
        <Acl>access control list</Acl>
        <ResourceType>file | directory</ResourceType>
        <Placeholder>true</Placeholder>
        <Content-Length>size-in-bytes</Content-Length>  
        <Content-Type>blob-content-type</Content-Type>  
        <Content-Encoding />  
        <Content-Language />  
        <Content-MD5 />  
        <Cache-Control />  
        <x-ms-blob-sequence-number>sequence-number</x-ms-blob-sequence-number>  
        <BlobType>BlockBlob|PageBlob|AppendBlob</BlobType>  
        <AccessTier>tier</AccessTier>  
        <LeaseStatus>locked|unlocked</LeaseStatus>  
        <LeaseState>available | leased | expired | breaking | broken</LeaseState>  
        <LeaseDuration>infinite | fixed</LeaseDuration>  
        <CopyId>id</CopyId>  
        <CopyStatus>pending | success | aborted | failed </CopyStatus>  
        <CopySource>source url</CopySource>  
        <CopyProgress>bytes copied/bytes total</CopyProgress>  
        <CopyCompletionTime>datetime</CopyCompletionTime>  
        <CopyStatusDescription>error string</CopyStatusDescription>  
        <ServerEncrypted>true</ServerEncrypted> 
        <CustomerProvidedKeySha256>encryption-key-sha256</CustomerProvidedKeySha256>
        <EncryptionContext>encryption-context</EncryptionContext>
        <EncryptionScope>encryption-scope-name</EncryptionScope>
        <IncrementalCopy>true</IncrementalCopy>
        <AccessTierInferred>true</AccessTierInferred>
        <AccessTierChangeTime>datetime</AccessTierChangeTime>
        <DeletedTime>datetime</DeletedTime>
        <RemainingRetentionDays>no-of-days</RemainingRetentionDays>
        <TagCount>number of tags between 1 to 10</TagCount>
        <RehydratePriority>rehydrate priority</RehydratePriority>
        <Expiry-Time>date-time-value</Expiry-Time>
      </Properties>  
      <Metadata>     
        <Name>value</Name>  
      </Metadata>  
      <Tags>
          <TagSet>
              <Tag>
                  <Key>TagName</Key>
                  <Value>TagValue</Value>
              </Tag>
          </TagSet>
      </Tags>
      <OrMetadata />
    </Blob>  
    <BlobPrefix>  
      <Name>blob-prefix</Name>  
    </BlobPrefix>  
  </Blobs>  
  <NextMarker />  
</EnumerationResults>  

Пример ответа

Пример ответа см. в разделе Перечисление ресурсов BLOB-объектов .

Авторизация

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

Важный

Корпорация Майкрософт рекомендует использовать идентификатор Microsoft Entra с управляемыми удостоверениями для авторизации запросов в службу хранилища Azure. Идентификатор Microsoft Entra обеспечивает более высокую безопасность и удобство использования по сравнению с авторизацией общего ключа.

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

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

Разрешения

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

При указании include=tags:

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

Замечания

Свойства BLOB-объектов в ответе

Если вы запросили, что незафиксированные большие двоичные объекты будут включены в перечисление, обратите внимание, что некоторые свойства не задаются до фиксации большого двоичного объекта. Некоторые свойства могут не возвращаться в ответе.

Элемент x-ms-blob-sequence-number возвращается только для страничных BLOB-объектов.

Элемент OrMetadata возвращается только для блочных больших двоичных объектов.

Для страничных BLOB-объектов значение, возвращаемое в элементе Content-Length , соответствует значению заголовка BLOB-объекта x-ms-blob-content-length .

Элемент Content-MD5 отображается в тексте ответа только в том случае, если он был задан в большом двоичном объекте с помощью версии 2009-09-19 или более поздней. Вы можете задать свойство Content-MD5 при создании большого двоичного объекта или с помощью вызова команды Задать свойства большого двоичного объекта. В версии 2012-02-12 и более поздних задает Put Blob значение MD5 блочного BLOB-объекта, даже если Put Blob запрос не содержит заголовок MD5.

Метаданные в ответе

Элемент Metadata присутствует только в том случае, include=metadata если параметр был указан в URI. Внутри Metadata элемента значение каждой пары имя-значение перечисляется в элементе, соответствующем имени пары.

Обратите внимание, что метаданные, запрошенные с этим параметром, должны храниться в соответствии с ограничениями именования, введенными в версии хранилища BLOB-объектов 2009-09-19. Начиная с этой версии, все имена метаданных должны соответствовать соглашениям об именовании идентификаторов C#.

Если пара «имя-значение» метаданных нарушает эти ограничения именования, в тексте ответа указывается проблемное имя в элементе x-ms-invalid-name . В следующем фрагменте XML показано следующее:

  
…  
<Metadata>  
  <MyMetadata1>first value</MyMetadata1>  
  <MyMetadata2>second value</MyMetadata2>  
  <x-ms-invalid-name>invalid-metadata-name</x-ms-invalid-name>  
</Metadata>  
…  
  

Теги в ответе

Элемент Tags присутствует только в том случае, если include=tags параметр был указан в URI, и если на большом двоичном объекте есть теги. Внутри TagSet элемента возвращается до 10 Tag элементов, каждый из которых содержит keyvalue определенные пользователем теги индекса BLOB-объектов. Порядок тегов не гарантируется в ответе.

Элементы Tags and TagCount не возвращаются, если на большом двоичном объекте нет тегов.

Служба хранилища поддерживает надежную согласованность между BLOB-объектом и его тегами, но вторичный индекс в конечном итоге согласован. Теги могут быть видны в ответе List Blobs до того, как они станут видимыми для Find Blobs by Tags операций.

Моментальные снимки в ответе

Снимки указываются в ответе только в том случае, include=snapshots если параметр был указан в URI. Моментальные снимки, перечисленные в ответе, не включают этот LeaseStatus элемент, так как моментальные снимки не могут иметь активных аренд.

Используя версию службы 2021-06-08 и выше, вы можете вызывать List Blobs с разделителем и включать моментальные снимки в перечисление. Для версий служб до версии 2021-06-08 запрос, содержащий ошибку InvalidQueryParameter (код состояния HTTP 400 – недопустимый запрос).

Незафиксированные большие двоичные объекты в ответе

Незафиксированные BLOB-объекты перечисляются в ответе только в том случае, include=uncommittedblobs если параметр был указан в URI. Незафиксированные большие двоичные объекты, перечисленные в ответе, не включают ни одного из следующих элементов:

  • Last-Modified

  • Etag

  • Content-Type

  • Content-Encoding

  • Content-Language

  • Content-MD5

  • Cache-Control

  • Metadata

Удаленные большие двоичные объекты в ответе

Удаленные большие двоичные объекты отображаются в ответе только в том случае, include=deleted если параметр был указан в URI. Удаленные большие двоичные объекты, перечисленные в ответе, не включают элементы аренды , так как удаленные большие двоичные объекты не могут иметь активных аренд.

Удаленные снимки включаются в ответ списка, если include=deleted,snapshot они были указаны в URI.

Метаданные репликации объектов в ответе

Элемент OrMetadata присутствует, если политика репликации объектов была оценена на большом двоичном объекте и List Blobs вызов был выполнен с использованием версии 2019-12-12 или более поздней. Внутри OrMetadata элемента значение каждой пары имя-значение перечисляется в элементе, соответствующем имени пары. Формат имени — or-{policy-id}_{rule-id}, где {policy-id} — идентификатор GUID, представляющий идентификатор политики репликации объектов в учетной записи хранения. {rule-id} — это идентификатор GUID, представляющий идентификатор правила в контейнере хранилища. Допустимые значения — complete или failed.

  
…  
<OrMetadata>  
  <or-e524bba7-4323-4b93-91f8-d09d5d0b7057_d86c51de-ef02-4264-bdcf-dcd389a6c7ac>complete</or-e524bba7-4323-4b93-91f8-d09d5d0b7057_d86c51de-ef02-4264-bdcf-dcd389a6c7ac>  
  <or-2b302b5d-fcd5-44d6-a5ed-455bf27e17ea_4a398ff5-2a89-4090-879b-10248f23428e>failed</or-2b302b5d-fcd5-44d6-a5ed-455bf27e17ea_4a398ff5-2a89-4090-879b-10248f23428e>  
</OrMetadata>  
…  
  

Политика неизменяемости в ответе

Элементы and ImmutabilityPolicyUntilDateImmutabilityPolicyMode присутствуют только в том случае, include=immutabilitypolicy если параметр был указан в URI.

<Properties> 
   <ImmutabilityPolicyUntilDate>date-time-value</ImmutabilityPolicyUntilDate>   
   <ImmutabilityPolicyMode>unlocked | locked </ImmutabilityPolicyMode>  
</Properties> 

Элемент LegalHold присутствует только в том случае, include=legalhold если параметр был указан в URI.

<Properties> 
  <LegalHold>true | false </LegalHold>  
</Properties> 

Возврат результирующих наборов с помощью значения маркера

Если вы указываете значение параметраmaxresults, а количество возвращаемых больших двоичных объектов превышает это значение или превышает значение по умолчанию для maxresults, текст ответа содержит элемент.NextMarker Этот элемент указывает на следующий большой двоичный объект, возвращаемый при последующем запросе. В некоторых случаях служба может вернуть элемент, NextMarker даже если количество возвращаемых результатов меньше значения maxresults.

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

Использование разделителя для обхода пространства имен BLOB-объектов

Этот delimiter параметр позволяет вызывающему объекту перемещаться по пространству имен BLOB-объектов с помощью разделителя, настроенного пользователем. Таким образом, можно пройти по виртуальной иерархии больших двоичных объектов, как будто это файловая система. Разделитель может быть одним символом или строкой.

Когда запрос включает этот параметр, операция возвращает BlobPrefix элемент. Элемент BlobPrefix возвращается вместо всех больших двоичных объектов с именами, начинающимися с одной и той же подстроки, вплоть до появления символа-разделителя. Значение BlobPrefix элемента — substring+delimiter, где substring — это общая подстрока, с которой начинается одно или несколько имен BLOB, а delimiter — это значение параметра delimiter .

Вы можете использовать значение of BlobPrefix для выполнения последующего вызова, чтобы получить список больших двоичных объектов, которые начинаются с этого префикса. Это можно сделать, указав значение параметра BlobPrefixprefix for в URI запроса.

Обратите внимание, что каждый элемент BlobPrefix возвращается к максимальному результату, так же, как и каждый элемент Blob.

Большие двоичные объекты перечислены в алфавитном порядке в тексте ответа с буквами верхнего регистра, перечисленными в первую очередь. Обратите внимание, что для учетных записей с включенным иерархическим пространством / имен сортировка рассматривается как наименьший порядок. Эта разница в поведении применима только к рекурсивному списку.

Ошибки копирования в описании состояния копирования

CopyStatusDescription содержит дополнительную информацию о Copy Blob сбое.

  • Если попытка копирования завершается сбоем, CopyStatus устанавливается значение pending «Хранилище BLOB-объектов все еще повторяет операцию». В CopyStatusDescription тексте описывается сбой, который мог произойти во время последней попытки копирования.

  • Если CopyStatus задано значение , failedтекст CopyStatusDescription описывает ошибку, которая привела к сбою операции копирования.

В следующей таблице описаны поля каждого CopyStatusDescription значения.

Компонент Описание
Код состояния HTTP Стандартное трехзначное целое число, указывающее сбой.
Код ошибки Ключевое слово, описывающее ошибку. Он предоставляется Azure в элементе <ErrorCode> . Если элемент ErrorCode> не <отображается, служба возвращает ключевое слово, содержащее стандартный текст ошибки, связанный с трехзначным кодом состояния HTTP в спецификации HTTP. Дополнительные сведения см. в статье Общие коды ошибок REST API.
Информация Подробное описание сбоя в кавычках.

В следующей таблице описаны CopyStatus распространенные сценарии сбоев и CopyStatusDescription их значения.

Важный

Текст описания, показанный здесь, может изменяться без предупреждения, даже без изменения версии. Не полагаться на сопоставление этого точного текста.

Сценарий Значение состояния копирования Значение описания состояния копирования
Операция копирования завершена успешно. успех пустой
Пользователь прервал операцию копирования до завершения. недоношенный пустой
Произошел сбой при чтении из исходного большого двоичного объекта во время операции копирования. Операция будет извлечена. ожидаемый 502 BadGateway "Обнаружена повторная ошибка при чтении источника. Повторите попытку. Время отказа: <время>»
При записи в целевой большой двоичный объект операции копирования произошел сбой. Операция будет извлечена. ожидаемый 500 InternalServerError "Обнаружена повторная ошибка. Повторите попытку. Время отказа: <время>»
Неустранимый сбой произошел при чтении из исходного большого двоичного объекта операции копирования. неудавшийся 404 ResourceNotFound "Ошибка копирования при чтении исходного кода." Когда служба сообщает об этой базовой ошибке, она возвращает ResourceNotFound ее в элементе <ErrorCode> . Если элемент ErrorCode> не <появился в ответе, появляется стандартное строковое представление состояния HTTP, например NotFound,
Период времени ожидания, ограничивающий все операции копирования, прошедшие. (В настоящее время период ожидания составляет две недели.) неудавшийся 500 OperationCancelled "Копия превысила максимально допустимое время".
Операция копирования не удалась слишком часто при чтении из источника и не соответствовала минимальному соотношению попыток к успехам. (Это время ожидания предотвращает повторную попытку очень плохого источника в течение двух недель до сбоя). неудавшийся 500 OperationCancelled "Сбой копирования при чтении источника".

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

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

Операция Тип учетной записи хранения Категория выставления счетов
Вывод списка БОЛЬШИХ двоичных объектов Большой двоичный объект класса Premium
Стандартный общего назначения версии 2
Стандартный общего назначения версии 1
Перечисление и создание операций контейнера

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

См. также

Коды состояний и ошибок
коды ошибок хранилища BLOB-объектов