Listar Blobs

A List Blobs operação retorna uma lista dos blobs no contêiner especificado.

Solicitação

A solicitação List Blobs pode ser criada da seguinte maneira. HTTPS é recomendado. Substitua myaccount pelo nome da sua conta de armazenamento:

Método URI da solicitação Versão de HTTP
GET https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list HTTP/1.1

URI do serviço de armazenamento emulado

Ao fazer uma solicitação no serviço de armazenamento emulado, especifique o nome de host do emulador e a porta do serviço Blob como 127.0.0.1:10000, seguido pelo nome da conta de armazenamento emulado:

Método URI da solicitação Versão de HTTP
GET http://127.0.0.1:10000/devstoreaccount1/mycontainer?restype=container&comp=list HTTP/1.1

Para obter mais informações, consulte Como usar o Armazenamento Emulator do Azure para desenvolvimento e teste.

Parâmetros de URI

Os seguintes parâmetros adicionais podem ser especificados no URI.

Parâmetro Descrição
prefix Opcional. Filtra os resultados para retornar apenas os blobs cujos nomes começam com o prefixo especificado.
delimiter Opcional. Quando a solicitação inclui esse parâmetro, a operação retorna um elemento BlobPrefix no corpo de resposta que atua como um espaço reservado para todos os blobs cujos nomes começam com a mesma subcadeia de caracteres até o aparecimento do caractere delimitador. O delimitador pode ser um único caractere ou uma cadeia de caracteres.
marker Opcional. Um valor de cadeia de caracteres que identifica a parte da lista a ser retornada com a próxima operação na lista. A operação retornará um valor de marcador dentro do corpo de resposta se a lista retornada não estiver completa. O valor de marcador pode ser usado em uma chamada subsequente para solicitar o próximo conjunto de itens da lista.

O valor do marcador é opaco ao cliente.
maxresults Opcional. Especifica o número máximo de blobs a ser retornado, inclusive todos os elementos BlobPrefix. Se a solicitação não especificar maxresults, nem especificar um valor maior do que 5.000, o servidor retornará até 5.000 itens. Se houver resultados adicionais a serem retornados, o serviço retornará um token de continuação no NextMarker elemento de resposta. Em determinados casos, o serviço pode retornar menos resultados do que o especificado maxresults e também retornar um token de continuação.

A configuração de maxresults com um valor menor ou igual a zero resulta em um código de resposta de erro 400 (Solicitação Incorreta).
include={snapshots,metadata,uncommittedblobs,copy,deleted,tags,versions,
deletedwithversions,immutabilitypolicy,legalhold,permissions}
Opcional. Especifica um ou mais conjuntos de dados a serem incluídos na resposta:

- snapshots: especifica que os instantâneos devem ser incluídos na enumeração. Os instantâneos são listados do mais antigo ao mais novo na resposta.
- metadata: especifica que os metadados de blob sejam retornados na resposta.
- uncommittedblobs: especifica que os blobs para quais blocos foram carregados, mas que não foram confirmados usando a Lista de Blocos de Colocação, sejam incluídos na resposta.
- copy: versão 2012-02-12 e mais recente. Especifica que os metadados relacionados a qualquer operação atual ou anterior de Copy Blob devem ser incluídos na resposta.
-deleted: versão 2017-07-29 e mais recente. Especifica que blobs excluídos suavemente devem ser incluídos na resposta.
-tags: versão 2019-12-12 e mais recente. Especifica que as marcas de Índice de Blob definidas pelo usuário devem ser incluídas na resposta.
-versions: versão 2019-12-12 e mais recente. Especifica que versões de blobs devem ser incluídas na enumeração.
-deletedwithversions: versão 2020-10-02 e mais recente. Especifica que blobs excluídos com quaisquer versões (ativas ou excluídas) devem ser incluídos na resposta com uma marca <HasVersionsOnly> e valor verdadeiro.
-immutabilitypolicy: versão 2020-06-12 e mais recente. Especifica que a política de imutabilidade até a data e o modo de política de imutabilidade dos blobs devem ser incluídos na enumeração.
-legalhold: versão 2020-06-12 e mais recente. Especifica que a retenção legal de blobs deve ser incluída na enumeração.
-permissions: versão 2020-06-12 e mais recente. Com suporte apenas para contas com um namespace hierárquico habilitado. Se uma solicitação incluir esse parâmetro, o Proprietário, o Grupo, as Permissões e a Lista de Controle de Acesso para os blobs ou diretórios listados serão incluídos na enumeração.

Para especificar mais de uma dessas opções no URI, você deve separar cada opção com uma vírgula codificada na URL ("%82").
showonly={deleted,files,directories} Opcional. Especifica um desses conjuntos de dados a ser retornado na resposta:

-deleted: opcional. Versão 2020-08-04 e mais recente. Somente para contas com Namespace Hierárquico habilitado. Quando uma solicitação inclui esse parâmetro, a lista contém apenas blobs excluídos suavemente. Se include=deleted também for especificado, a solicitação falhará com a Solicitação Incorreta (400).
-files: opcional. Versão 2020-12-06 e mais recente. Somente para contas com Namespace Hierárquico habilitado. Quando uma solicitação inclui esse parâmetro, a lista contém apenas arquivos.
-directories: opcional. Versão 2020-12-06 e mais recente. Somente para contas com Namespace Hierárquico habilitado. Quando uma solicitação inclui esse parâmetro, a lista contém apenas diretórios.
timeout Opcional. O parâmetro timeout é expresso em segundos. Para obter mais informações, consulte Configurando tempos limite para operações de serviço de blob.

Cabeçalhos de solicitação

A tabela a seguir descreve os cabeçalhos de solicitação obrigatórios e opcionais.

Cabeçalho da solicitação Descrição
Authorization Obrigatórios. Especifica o esquema de autorização, o nome da conta e a assinatura. Para obter mais informações, consulte Autorizar solicitações para o Azure Armazenamento.
Date ou x-ms-date Obrigatórios. Especifica o UTC (Tempo Universal Coordenado) para a solicitação. Para obter mais informações, consulte Autorizar solicitações para o Azure Armazenamento.
x-ms-version Obrigatório para todas as solicitações autorizadas, opcional para solicitações anônimas. Especifica a versão da operação a ser usada para esta solicitação. Para obter mais informações, consulte Controle de versão para os Serviços de Armazenamento do Azure.
x-ms-client-request-id Opcional. Fornece um valor opaco gerado pelo cliente com um limite de caracteres de 1 KiB que é registrado nos logs de análise quando o log de análise de armazenamento está habilitado. O uso desse cabeçalho é altamente recomendável para correlacionar as atividades do lado do cliente com as solicitações recebidas pelo servidor. Para obter mais informações, consulte Sobre Análise de Armazenamento registro em log e registro em log do Azure: usando logs para rastrear solicitações de Armazenamento.
x-ms-upn Opcional. Válido somente quando um namespace hierárquico está habilitado para a conta e include=permissions é fornecido na solicitação. Se for verdadeiro, os valores de identidade do usuário retornados nos <campos Proprietário>, <Grupo> e <Acl> serão transformados de Azure Active Directory IDs de objeto para nomes de entidade de usuário. Se for falso, os valores serão retornados como Azure Active Directory IDs de objeto. O valor padrão é false. Observe que as IDs de objeto de grupo e aplicativo não são traduzidas porque não têm nomes amigáveis exclusivos.

Corpo da solicitação

Nenhum.

Solicitação de Exemplo

Consulte Enumerando recursos de blob para obter uma solicitação de exemplo.

Resposta

A resposta inclui um código de status HTTP, um conjunto de cabeçalhos de resposta e um corpo de resposta no formato XML.

Código de status

Uma operação bem-sucedida retorna o código de status 200 (OK).

Para obter informações sobre códigos de status, consulte Status e Códigos de Erro.

Cabeçalhos de resposta

A resposta para esta operação inclui os cabeçalhos a seguir. A resposta também pode incluir cabeçalhos padrão HTTP adicionais. Todos os cabeçalhos padrão estão em conformidade com a especificação de protocolo HTTP/1.1.

Cabeçalho de resposta Descrição
Content-Type Especifica o formato em que os resultados são retornados. Atualmente, esse valor é application/xml.
x-ms-request-id Esse cabeçalho identifica a solicitação que foi feita de forma exclusiva e pode ser usado para solucionar problemas na solicitação. Para obter mais informações, consulte Solução de problemas de operações de API.
x-ms-version Indica a versão do serviço Blob usado para executar a solicitação. Esse cabeçalho é retornado para solicitações feitas com a versão 2009-09-19 e mais recentes.

Esse cabeçalho será retornado também para solicitações anônimas sem uma versão especificada se o contêiner foi marcado para acesso público usando a versão 2009-09-19 do serviço Blob.
Date Um valor de data/hora UTC gerado pelo serviço que indica a hora em que a resposta foi iniciada.
x-ms-client-request-id Esse cabeçalho pode ser usado para solucionar problemas de solicitações e respostas correspondentes. O valor desse cabeçalho é igual ao valor do x-ms-client-request-id cabeçalho se ele estiver presente na solicitação e o valor estiver no máximo 1024 caracteres ASCII visíveis. Se o x-ms-client-request-id cabeçalho não estiver presente na solicitação, esse cabeçalho não estará presente na resposta.

Corpo da resposta

O formato da resposta XML é mostrado a seguir.

Observe que os elementos Prefix, Marker, MaxResults e Delimiter somente estarão presentes se tiverem sido especificados no URI de solicitação. O elemento NextMarker terá um valor somente se os resultados da lista não estiverem completos.

Os instantâneos, os metadados de blob, e os blobs não confirmadas serão incluídos na resposta somente se forem especificados com o parâmetro include no URI de solicitação.

Na versão 2009-09-19 e mais recentes, as propriedades de blob são encapsuladas em um elemento Properties.

A partir da versão 2009-09-19, List Blobs retorna os seguintes elementos renomeados no corpo de resposta:

  • Last-Modified (anteriormente LastModified)

  • Content-Length (anteriormente Size)

  • Content-Type (anteriormente ContentType)

  • Content-Encoding (anteriormente ContentEncoding)

  • Content-Language (anteriormente ContentLanguage)

O elemento Content-MD5 é exibido para os blobs criados com a versão 2009-09-19 e mais recentes. Na versão 2012-02-12 e mais recente, o serviço Blob calcula o Content-MD5 valor quando você carrega um blob usando o Put Blob, mas não calcula isso quando você cria um blob usando a Lista de Blocos de Colocação. Você pode definir explicitamente o Content-MD5 valor ao criar o blob ou chamando as operações Colocar Lista de Blocos ou Definir Propriedades de Blob .

Para versões de 2009-09-19 e mais recentes, mas antes da versão 2015-02-21, chamar List Blobs um contêiner que inclui blobs de acréscimo falhará com o código de status 409 (FeatureVersionMismatch) se o resultado da listagem contiver um blob de acréscimo.

LeaseState e LeaseDuration aparecer somente na versão 2012-02-12 e posterior.

CopyId, CopyStatus, CopySource, CopyProgress, CopyCompletionTime e CopyStatusDescription aparecem somente na versão 2012-02-12 e mais recentes, quando essa operação inclui o parâmetro include={copy}. Esses elementos não serão exibidos se esse blob nunca tiver sido o destino em uma operação Copy Blob ou se esse blob tiver sido alterado depois de uma operação Copy Blob concluída usando Set Blob Properties, Put Blob ou Put Block List. Esses elementos também não aparecem com um blob criado pelo Copy Blob antes da versão 2012-02-12.

Na versão 2013-08-15 e mais recente, o elemento EnumerationResults contém um atributo ServiceEndpoint que especifica o ponto de extremidade do blob e um campo ContainerName que especifica o nome do contêiner. Em versões anteriores, esses dois atributos eram combinados no campo ContainerName. Também na versão 2013-08-15 e mais recente, o elemento Url em Blob foi removido.

Para a versão 2015-02-21 e superior, List Blobs retorna blobs de todos os tipos (blobs de bloco, página e acréscimo).

Para a versão 2015-12-11 e superior, List Blobs retorna o ServerEncrypted elemento. Esse elemento será definido para true se os metadados do blob e do aplicativo estiverem completamente criptografados e false de outra forma.

Para a versão 2016-05-31 e superior, List Blobs retorna o IncrementalCopy elemento para blobs de cópia incrementais e instantâneos com o valor definido como true.

Para a versão 2017-04-17 e superior, List Blobs retorna o AccessTier elemento se uma camada de acesso tiver sido definida explicitamente. Para obter uma lista das camadas de blob de página premium permitidas, consulte Armazenamento Premium de alto desempenho e discos gerenciados para VMs. Para contas blob Armazenamento ou Uso Geral v2, os valores válidos são HotArchive/Cool/. Se o blob estiver em estado pendente de reidratação, o ArchiveStatus elemento será retornado com um dos valores válidos/rehydrate-pending-to-hotrehydrate-pending-to-cool. Para obter informações detalhadas sobre camadas de blob de blocos, consulte camadas de armazenamento quente, esporádica e de arquivo.

Para a versão 2017-04-17 e superior, List Blobs retorna o AccessTierInferred elemento em contas blob Armazenamento ou Uso Geral v2. Se o blob de blocos não tiver a camada de acesso definida, inferiremos a camada das propriedades da conta de armazenamento e esse valor será definido como true. Esse cabeçalho só estará presente se a camada for inferida da propriedade da conta. Para obter informações detalhadas sobre camadas de blob de blocos, consulte camadas de armazenamento quente, esporádica e de arquivo.

Para a versão 2017-04-17 e superior, List Blobs retorna o AccessTierChangeTime elemento em contas blob Armazenamento ou Uso Geral v2. Isso será retornado somente se a camada no blob de blocos tiver sido definida. O formato da data segue RFC 1123. Para obter mais informações, consulte Representação de valores Date-Time em cabeçalhos. Para obter informações detalhadas sobre camadas de blob de blocos, consulte camadas de armazenamento quente, esporádica e de arquivo.

Para a versão 2017-07-29 e superior, DeletedDeletedTime e RemainingRetentionDays apareça quando essa operação incluir o include={deleted} parâmetro. Esses elementos não aparecerão se esse blob não tiver sido excluído. Esses elementos aparecem para blob ou instantâneo que são excluídos com DELETE operação quando o recurso de exclusão reversível foi habilitado. Deleted o elemento é definido como true para blobs e instantâneos que são excluídos suavemente. Deleted-Time corresponde ao tempo em que o blob foi excluído. RemainingRetentionDays indica o número de dias após os quais o blob excluído reversível será excluído permanentemente pelo serviço blob.

Para a versão 2017-11-09 e superior, Creation-Time retorna o tempo em que esse blob foi criado.

Para a versão 2019-02-02 e superior, List Blobs retorna o CustomerProvidedKeySha256 elemento se o blob for criptografado com uma chave fornecida pelo cliente. O valor será definido como o hash SHA-256 da chave usada para criptografar o blob. Além disso, se a operação incluir o include={metadata} parâmetro e houver metadados de aplicativo presentes em um blob criptografado com uma chave fornecida pelo cliente, o Metadata elemento terá um Encrypted="true" atributo para indicar que o blob tem metadados que não podem ser descriptografados como parte da List Blobs operação. Chame Obter Propriedades de Blob ou Obter Metadados de Blob com a chave fornecida pelo cliente para acessar os metadados desses blobs.

Para a versão 2019-02-02 e superior, List Blobs retorna o EncryptionScope elemento se o blob for criptografado com um escopo de criptografia. O valor será definido como o nome do escopo de criptografia usado para criptografar o blob. Se a operação incluir o include={metadata} parâmetro, os metadados do aplicativo no blob serão descriptografados de forma transparente e disponíveis no Metadata elemento.

Para a versão 2019-12-12 e superior, List Blobs retorna o RehydratePriority elemento em contas blob Armazenamento ou Uso Geral v2 se o objeto estiver em estado pendente de reidratação. Os valores válidos são High/Standard. Para obter informações detalhadas sobre camadas de blob de blocos, consulte camadas de armazenamento quente, esporádica e de arquivo.

Para a versão 2019-12-12 e superior, List Blobs retorna o VersionId elemento para blobs e versões de blob geradas quando o Controle de Versão está habilitado na conta.

Para a versão 2019-12-12 e superior, List Blobs retorna o IsCurrentVersion elemento para a versão atual do blob com o valor definido como true, para diferenciá-lo das versões geradas automaticamente somente leitura.

Para a versão 2019-12-12 e superior, List Blobs retorna o TagCount elemento para blobs com qualquer marca. O Tags elemento aparece somente quando essa operação inclui o include={tags} parâmetro. Esses elementos não aparecerão se não houver marcas no blob.

Para a versão 2019-12-12 e superior, List Blobs retorna o Sealed elemento para Blobs de Acréscimo. O Sealed elemento aparece somente quando o blob de Acréscimo foi lacrado. Esses elementos não aparecerão se o Blob de Acréscimo não estiver lacrado.

Para a versão 2020-02-10 e superior, List Blobs retorna o LastAccessTime elemento. Os elementos mostram quando os dados do blob foram acessados pela última vez de acordo com a política de controle de tempo de acesso da última conta de armazenamento. O elemento não será retornado se a conta de armazenamento não tiver uma política de controle de tempo de acesso anterior ou a política estiver desabilitada. Para obter informações sobre como definir a política de controle de tempo de acesso da última conta, consulte a API do Serviço de Blob. O LastAccessTime elemento não acompanha a última vez em que os metadados do blob são acessados.

Para a versão 2020-06-12 e superior, List Blobs retorna o elemento e ImmutabilityPolicyMode os ImmutabilityPolicyUntilDate elementos quando essa operação inclui o include={immutabilitypolicy} parâmetro.

Para a versão 2020-06-12 e superior, List Blobs retorna o LegalHold elemento quando essa operação inclui o include={legalhold} parâmetro.

Para a versão 2020-06-12 e superior, para contas com um namespace hierárquico habilitado, List Blobs retorna Ownere AclGroupPermissions elemento quando a solicitação contém include={permissions} parâmetro. Observe que o Acl elemento será uma lista combinada de Acls de Acesso e Padrão que foram definidas no arquivo/diretório.

Para a versão 2020-06-12 e superior, para contas com um namespace hierárquico habilitado, List Blobs com um delimitador retorna o Properties elemento no BlobPrefix elemento, que corresponde às Propriedades no diretório.

Para a versão 2020-08-04 e superior, para contas habilitadas para Namespace hierárquico, List Blobs retorna o DeletionId elemento para blobs excluídos. DeletionId é um identificador de 64 bits sem sinal que identifica exclusivamente um caminho excluído suavemente para distingui-lo de outros blobs excluídos com o mesmo caminho.

Para a versão 2020-10-02 e superior, para contas habilitadas para Namespace Hierárquico, List Blobs retorna o ResourceType elemento de propriedade para o caminho, que pode ser qualquer um file/directory.

Para a versão 2021-02-12 e superior, List Blobs o código percentual (por RFC 2396) todos BlobName ou BlobPrefixName valores de elemento que contêm caracteres inválidos em XML (especificamente, U+FFFE ou U+FFFF). Se codificado, o Name elemento incluirá um Encoded=true atributo. Observe que isso só ocorrerá para os valores de Name elemento que contêm os caracteres inválidos em XML, não os elementos restantes Name na resposta.

Para a versão 2021-06-08 e superior, para contas habilitadas para Namespace Hierárquico, List Blobs retorna o Placeholder elemento properties no BlobPrefix elemento para diretórios de espaço reservado ao listar blobs excluídos com um delimitador. Esses diretórios de espaço reservado só existem para ajudar a navegar até blobs excluídos suavemente.

Para a versão 2020-02-10 e superior, para contas habilitadas para Namespace hierárquico, List Blobs retorna o Expiry-Time elemento para blobs excluídos. Expiry-Time é a hora em que o arquivo expirará e será retornado para o arquivo se a expiração for definida na mesma.

<?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>
        <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>  

Exemplo de Resposta

Consulte Enumerando recursos de blob para obter uma resposta de exemplo.

Autorização

Se a lista de controle de acesso (ACL) do contêiner for definida para permitir o acesso anônimo ao contêiner, qualquer cliente poderá chamar essa operação. De outra forma, essa operação poderá ser chamada pelo proprietário da conta e por qualquer pessoa com uma assinatura de acesso compartilhado que tenha permissão para listar blobs em seu contêiner.

Comentários

Propriedades de blob na resposta

Se você solicitou que os blobs não confirmadas sejam incluídos na enumeração, observe que algumas propriedades não serão definidas até o blob ser confirmado, portanto, algumas propriedades talvez não possam ser retornadas na resposta.

O elemento x-ms-blob-sequence-number somente é retornado para blobs de página.

O OrMetadata elemento só é retornado para blobs de blocos.

Para blobs de página, o valor retornado no elemento Content-Length corresponde ao valor do cabeçalho x-ms-blob-content-length do blob.

O elemento Content-MD5 será exibido no corpo da resposta apenas se tiver sido definido no blob usando a versão 2009-09-19 ou mais recentes. Você pode definir a Content-MD5 propriedade quando o blob é criado ou chamando Definir Propriedades de Blob. Na versão 2012-02-12 e mais recente, Put Blob define o valor MD5 de um blob de blocos mesmo quando a solicitação Put Blob não inclui um cabeçalho MD5.

Metadados na resposta

O elemento Metadata estará presente apenas se o parâmetro include=metadata tiver sido especificado no URI. No elemento Metadata, o valor de cada par de nome-valor é listado em um elemento correspondente ao nome do par.

Observe que os metadados solicitados com esse parâmetro devem ser armazenados de acordo com as restrições de nomenclatura impostas pela versão 2009-09-19 do serviço Blob. A partir dessa versão, todos os nomes de metadados devem aderir às convenções de nomenclatura para identificadores C#.

Se um par de nome-valor de metadados violar as restrições de nomenclatura impostas pela versão 2009-09-19, o corpo da resposta indicará o nome problemático dentro de um elemento x-ms-invalid-name, conforme mostrado no seguinte fragmento XML:

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

Marcas na resposta

O Tags elemento só estará presente se o include=tags parâmetro tiver sido especificado no URI e se houver marcas no blob. Dentro do TagSet elemento, até 10 Tag elementos são retornados, cada um contendo as key marcas value de Índice de Blob definidas pelo usuário. A ordenação de marcas não é garantida na resposta.

O e TagCount os Tags elementos não serão retornados se não houver marcas no blob.

O serviço de armazenamento mantém uma consistência forte entre um blob e suas marcas, mas o índice secundário é eventualmente consistente. As marcas podem estar visíveis em uma resposta aos Blobs de Lista antes de serem visíveis para operações Localizar Blobs por Marcas.

Instantâneos na resposta

Os instantâneos serão listados na resposta somente se o parâmetro include=snapshots tiver sido especificado no URI. Os instantâneos listados na resposta não incluem o elemento LeaseStatus, pois os instantâneos não podem ter concessões ativas.

Se você chamar List Blobs com um delimitador, não poderá incluir também instantâneos na enumeração. Uma solicitação que inclui ambos retornará um erro de InvalidQueryParameter (código de status HTTP 400 – Solicitação Incorreta).

Blobs não confirmados na resposta

Os blobs não confirmados serão listados na resposta somente se o parâmetro include=uncommittedblobs tiver sido especificado no URI. Os blobs não confirmados listados na resposta não incluem nenhum dos seguintes elementos:

  • Last-Modified

  • Etag

  • Content-Type

  • Content-Encoding

  • Content-Language

  • Content-MD5

  • Cache-Control

  • Metadata

Blobs excluídos na resposta

Os blobs excluídos serão listados na resposta somente se o include=deleted parâmetro tiver sido especificado no URI. Os blobs excluídos listados na resposta não incluem os elementos de Concessão , pois os blobs excluídos não podem ter concessões ativas.

Os instantâneos excluídos serão incluídos na resposta da lista, se include=deleted,snapshot for especificado no URI.

Metadados de replicação de objeto na resposta

O OrMetadata elemento está presente quando uma política de Replicação de Objeto foi avaliada em um blob e a chamada blobs de lista foi feita usando a versão 2019-12-12 ou posterior. No elemento OrMetadata, o valor de cada par de nome-valor é listado em um elemento correspondente ao nome do par. O formato do nome é or-{policy-id}_{rule-id}, onde {policy-id} é um guid que representa o identificador de política de replicação de objeto na conta de armazenamento e {rule-id} é um guid que representa o identificador de regra no contêiner de armazenamento. Os valores válidos são 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>  
…  
  

Política de Imutabilidade na resposta

Os ImmutabilityPolicyUntilDateelementos . ImmutabilityPolicyMode só estarão presentes se o include=immutabilitypolicy parâmetro tiver sido especificado no URI.

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

Retenção legal na resposta

O elemento LegalHold estará presente apenas se o parâmetro include=legalhold tiver sido especificado no URI.

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

Retornando conjuntos de resultados usando um valor de marcador

Se você especificar um valor para o parâmetro maxresults e o número de blobs a serem retornados exceder esse valor ou exceder o valor padrão para maxresults, o corpo da resposta conterá um elemento NextMarker que indicará o blob seguinte a ser retornado em uma solicitação subsequente. Em determinados casos, o serviço pode retornar o NextMarker elemento mesmo que o número de resultados retornados seja menor que o valor de maxresults.

Para retornar o próximo conjunto de itens, especifique o valor NextMarker como o parâmetro de marcador no URI para a solicitação subsequente. Observe que o valor de NextMarker deve ser tratado como opaco.

Usando um delimitador para percorrer o namespace do blob

O parâmetro delimiter permite que o chamador percorra o namespace do blob usando um delimitador configurado pelo usuário. Desse modo, você pode atravessar uma hierarquia virtual de blobs como se fosse um sistema de arquivos. O delimitador pode ser um único caractere ou uma cadeia de caracteres. Quando a solicitação inclui esse parâmetro, ela retorna um elemento BlobPrefix. O elemento BlobPrefix é retornado no lugar de todos os blobs cujos nomes começam com a mesma subcadeia de caracteres até o aparecimento do caractere delimitador. O valor do BlobPrefix elemento é substring+delimitador, onde subcadeia de caracteres é a subcadeia de caracteres comum que inicia um ou mais nomes de blob, e delimitador é o valor do parâmetro delimitador .

Você pode usar o valor de BlobPrefix para fazer uma chamada subsequente para listar os blobs que começam com esse prefixo, especificando o valor de BlobPrefix para o parâmetro prefix no URI de solicitação.

Observe que cada elemento BlobPrefix retornado conta para o resultado máximo, assim como cada elemento Blob.

Os blobs são listados em ordem alfabética no corpo de resposta, com as letras maiúsculas primeiro.

Erros de cópia em CopyStatusDescription

CopyStatusDescription contém mais informações sobre a falha Copy Blob.

  • Quando uma tentativa de cópia falha e o serviço Blob ainda está repetindo a operação, CopyStatus é definido como pending e o texto CopyStatusDescription descreve a falha que pode ter ocorrido durante a última tentativa de cópia.

  • Quando CopyStatus é definido como failed, o texto CopyStatusDescription descreve o erro que causou a falha na operação de cópia.

A tabela a seguir descreve os três campos de cada valor CopyStatusDescription.

Componente Descrição
Código de status HTTP O valor inteiro de três dígitos que especifica a falha.
Código do erro Palavra-chave que descreve o erro fornecido pelo Azure no <elemento ErrorCode> . Se nenhum <elemento ErrorCode> for exibido, será usada uma palavra-chave que contém o texto de erro padrão associado ao código de status HTTP de 3 dígitos na especificação HTTP. Consulte códigos de erro comuns da API REST.
Informações Descrição detalhada da falha, entre aspas.

A tabela a seguir descreve os valores CopyStatus e CopyStatusDescription de cenários de falha comuns.

Importante

O texto da descrição mostrado aqui pode ser alterado sem aviso, mesmo sem uma alteração da versão, portanto, não conte com a correspondência exata a esse texto.

Cenário Valor de CopyStatus Valor de CopyStatusDescription
Operação de cópia concluída com êxito. sucesso empty
O usuário anulou a operação de cópia antes da conclusão. aborted empty
Falha na leitura do blob de origem durante uma operação de cópia, mas a operação será repetida. pending 502 BadGateway "Encontrado um erro reproduzível ao ler a origem. Uma nova tentativa será realizada. Tempo de falha: <tempo>"
Falha ao gravar no blob de destino de uma operação de cópia, mas a operação será repetida. pending 500 InternalServerError "Encontrado um erro reproduzível. Uma nova tentativa será realizada. Tempo de falha: <tempo>"
Falha irrecuperável durante a leitura do blob de origem de uma operação de cópia. falhou 404 ResourceNotFound "Falha na cópia ao ler a origem". Nota: Ao relatar esse erro subjacente, o Azure retorna ResourceNotFound no <elemento ErrorCode> . Se nenhum <elemento ErrorCode> aparecesse na resposta, uma representação de cadeia de caracteres padrão do status HTTP, como NotFound seria exibido.
O tempo limite que limita todas as operações de cópia expirou. (Atualmente, o tempo limite é duas semanas.) falhou 500 OperationCancelled "A cópia excedeu o tempo máximo permitido.”
Ocorreram falhas muito frequentes na leitura da origem, e uma proporção mínima de tentativas e êxitos não foi atendida. (Esse tempo limite impede tentativas a partir de uma origem muito ruim por duas semanas antes da falha). falhou 500 OperationCancelled "Falha na cópia durante a leitura da origem.”

Confira também

Códigos de status e de erro
Códigos de erro do serviço Blob