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


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

Операция 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 Необязательный. Указывает максимальное количество возвращаемых BLOB-объектов, включая все элементы BlobPrefix. Если запрос не указывает maxresultsили задает значение, превышающее 5000, сервер вернет до 5 000 элементов. При наличии дополнительных результатов служба возвращает маркер продолжения в элементе ответа NextMarker. В некоторых случаях служба может возвращать меньше результатов, чем указано maxresults, а также возвращать маркер продолжения.

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

- snapshots. Указывает, что моментальные снимки должны быть включены в перечисление. Моментальные снимки перечислены от старых до самых новых в ответе.
- metadata. Указывает, что метаданные большого двоичного объекта возвращаются в ответе.
- uncommittedblobs. Указывает, что большие двоичные объекты, для которых были отправлены блоки, но которые не были зафиксированы с помощью Put Block List, должны быть включены в ответ.
- 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, необходимо разделить каждый параметр с запятой ("%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, значения удостоверений пользователя, возвращаемые в>владельца <, <группу <>, а поля Acl> преобразуются из идентификаторов объектов 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 имеет значение, только если результаты списка не завершены.

Моментальные снимки, метаданные 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 при отправке большого двоичного объекта с помощью Put BLOB-объектов. Хранилище BLOB-объектов не вычисляет это при создании большого двоичного объекта с помощью put Block List. Вы можете явно задать значение Content-MD5 при создании большого двоичного объекта или путем вызова списка блокировок или задания свойств BLOB-объектов операций.

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

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

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

В версии 2013-08-15 и более поздних версиях элемент EnumerationResults содержит атрибут ServiceEndpoint, указывающий конечную точку большого двоичного объекта. Этот элемент также содержит поле 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 Blobs возвращает элемент AccessTier, если уровень доступа был явно задан. Список разрешенных уровней 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. Если блочный большой двоичный объект не имеет набора уровней доступа, сведения уровня выводят из свойств учетной записи хранения, и это значение имеет значение true. Этот заголовок присутствует только в том случае, если уровень выводится из свойства учетной записи.

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

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

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

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

Для версии 2019-02-02 и более поздних версий List Blobs возвращает элемент EncryptionScope, если большой двоичный объект зашифрован с областью шифрования. Значение будет присвоено имени области шифрования, используемой для шифрования БОЛЬШОго двоичного объекта. Если операция включает параметр 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 для добавочных BLOB-объектов. Элемент Sealed отображается только в том случае, если добавленный большой двоичный объект был запечатан. Эти элементы не отображаются, если добавленный большой двоичный объект не запечатан.

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

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

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

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

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

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

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

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

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

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

Для учетных записей версии 2020-02-10 и более поздних версий с включенным иерархическим пространством имен List Blobs возвращает элемент Expiry-Time для удаленных BLOB-объектов. 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>  

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

Пример ответа см. в перечислении ресурсов БОЛЬШИХ двоичных объектов.

Авторизация

Авторизация требуется при вызове любой операции доступа к данным в службе хранилища 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-объектов.

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

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

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

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

Обратите внимание, что метаданные, запрошенные с этим параметром, должны храниться в соответствии с ограничениями именования, введенными в версии хранилища 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 элементов, каждый из которых содержит key и value пользовательских тегов индекса BLOB-объектов. Порядок тегов не гарантируется в ответе.

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

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

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

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

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

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

Незафиксированные большие двоичные объекты перечислены в ответе только в том случае, если параметр 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 значение каждой пары name-value указывается в элементе, соответствующем имени пары. Формат имени — 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>  
…  
  

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

Элементы ImmutabilityPolicyUntilDate и ImmutabilityPolicyMode присутствуют только в том случае, если параметр 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 равно подстрокам и разделителям, где подстрока — это общая подстрока, которая начинает один или несколько имен BLOB-объектов, а разделителя — значение параметра delimiter.

Можно использовать значение BlobPrefix для последующего вызова списка больших двоичных объектов, начинающихся с этого префикса. Для этого укажите значение BlobPrefix для параметра prefix в 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-объектов