Get Blob

A operação Get Blob lê ou baixa um blob do sistema, incluindo seus metadados e propriedades. Você também pode chamar Get Blob para ler um instantâneo.

Solicitação

Você pode construir a solicitação da Get Blob seguinte maneira. Recomendamos que você use HTTPS. Substitua myaccount pelo nome da sua conta de armazenamento:

URI de solicitação de método GET Versão HTTP
https://myaccount.blob.core.windows.net/mycontainer/myblob

https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime>

https://myaccount.blob.core.windows.net/mycontainer/myblob?versionid=<DateTime>

HTTP/1.0

HTTP/1.1

URI do serviço de armazenamento emulado

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

URI de solicitação de método GET Versão HTTP
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob HTTP/1.0

HTTP/1.1

Para saber mais, confira Usar o Emulador de Armazenamento do Azure para desenvolvimento e teste.

Parâmetros do URI

Os seguintes parâmetros adicionais podem ser especificados no URI de solicitação:

Parâmetro Descrição
snapshot Opcional. O parâmetro instantâneo é um valor opaco DateTime que, quando está presente, especifica o blob instantâneo a ser recuperado. Para obter mais informações sobre como trabalhar com instantâneos de blob, consulte Create um instantâneo de um blob.
versionid Opcional, versão 2019-12-12 e posterior. O versionid parâmetro é um valor opaco DateTime que, quando presente, especifica a versão do blob a ser recuperada.
timeout Opcional. O parâmetro timeout é expresso em segundos. Para obter mais informações, consulte Definir tempos limite para operações de Armazenamento de Blobs.

Cabeçalhos da 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 saber mais, confira Autorizar solicitações para o Armazenamento do Azure.
Date ou x-ms-date Obrigatórios. Especifica o UTC (Tempo Universal Coordenado) para a solicitação. Para saber mais, confira Autorizar solicitações para o Armazenamento do Azure.
x-ms-version Necessá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. Se esse cabeçalho for omitido para uma solicitação anônima, o serviço executará a solicitação com a versão 2009-09-19. Para obter mais informações, consulte Controle de versão para os Serviços de Armazenamento do Azure.
Range Opcional. Retornar os bytes do blob somente no intervalo especificado.
x-ms-range Opcional. Retornar os bytes do blob somente no intervalo especificado. Se Range e x-ms-range forem especificados, o serviço usará o valor de x-ms-range. Se nenhum dos intervalos for especificado, todo o conteúdo do blob será retornado. Para obter mais informações, consulte Especificar o cabeçalho de intervalo para operações de Armazenamento de Blobs.
x-ms-lease-id: <ID> Opcional. Se esse cabeçalho for especificado, a operação será executada somente se ambas as seguintes condições forem atendidas:

- A concessão do blob está ativa no momento.
- A ID de concessão especificada na solicitação corresponde à ID de concessão do blob.

Se esse cabeçalho for especificado, mas qualquer uma dessas condições não for atendida, a solicitação falhará e a Get Blob operação falhará com status código 412 (Falha na pré-condição).
x-ms-range-get-content-md5: true Opcional. Quando esse cabeçalho é definido true como e especificado junto com o Range cabeçalho, o serviço retorna o hash MD5 para o intervalo, desde que o intervalo seja menor ou igual a 4 mebibytes (MiB) em tamanho.

Se o cabeçalho for especificado sem o Range cabeçalho, o serviço retornará status código 400 (Solicitação Incorreta).

Se o cabeçalho estiver definido true como quando o intervalo exceder 4 MiB, o serviço retornará status código 400 (Solicitação Incorreta).
x-ms-range-get-content-crc64: true Opcional. Quando esse cabeçalho é definido true como e especificado junto com o Range cabeçalho, o serviço retorna o hash CRC64 para o intervalo, desde que o intervalo seja menor ou igual a 4 MiB de tamanho.

Se o cabeçalho for especificado sem o Range cabeçalho, o serviço retornará status código 400 (Solicitação Incorreta).

Se o cabeçalho estiver definido true como quando o intervalo exceder 4 MiB, o serviço retornará status código 400 (Solicitação Incorreta).

Se os x-ms-range-get-content-md5 cabeçalhos e x-ms-range-get-content-crc64 estiverem presentes, a solicitação falhará com um 400 (Solicitação Incorreta).

Esse cabeçalho tem suporte nas versões 2019-02-02 e posteriores.
Origin Opcional. Especifica a origem da qual a solicitação será emitida. A presença desse cabeçalho resulta em recursos de origens cruzadas compartilhando (CORS) cabeçalhos na resposta.
x-ms-upn Opcional. Versão 2023-11-03 e posterior. Válido para contas com namespace hierárquico habilitado. Se for true, os valores de identidade do usuário retornados nos x-ms-ownercabeçalhos de x-ms-group resposta e x-ms-acl serão transformados de Microsoft Entra IDs de objeto para Nomes de Entidade de Usuário. Se o valor for false, eles serão retornados como Microsoft Entra IDs de objeto. O valor padrão é false. Observe que as IDs de objeto de grupo e aplicativo não são convertidas, pois não têm nomes amigáveis exclusivos.
x-ms-client-request-id Opcional. Fornece um valor opaco gerado pelo cliente com um limite de caracteres KiB (1 kibibyte), que é registrado nos logs de análise quando o log de análise de armazenamento está habilitado. É altamente recomendável que você use esse cabeçalho ao correlacionar atividades do lado do cliente com solicitações recebidas pelo servidor. Para obter mais informações, consulte Sobre o registro em log de Análise de Armazenamento do Azure.

Essa operação também dará suporte ao uso de cabeçalhos condicionais para ler o blob somente se uma determinada condição for atendida. Para obter mais informações, consulte Especificar cabeçalhos condicionais para operações de Armazenamento de Blobs.

Cabeçalhos de solicitação (chaves de criptografia fornecidas pelo cliente)

A partir da versão 2019-02-02, você pode especificar os cabeçalhos a seguir na solicitação para ler um blob criptografado com uma chave fornecida pelo cliente. A criptografia com uma chave fornecida pelo cliente (e o conjunto correspondente de cabeçalhos) é opcional. Se um blob tiver sido criptografado anteriormente com uma chave fornecida pelo cliente, você deverá incluir esses cabeçalhos na solicitação para concluir a operação de leitura com êxito.

Cabeçalho da solicitação Descrição
x-ms-encryption-key Obrigatórios. A chave de criptografia AES-256 codificada em Base64.
x-ms-encryption-key-sha256 Opcional. O hash SHA256 codificado em Base64 da chave de criptografia.
x-ms-encryption-algorithm: AES256 Obrigatórios. Especifica o algoritmo a ser usado para criptografia. O valor deste cabeçalho deve ser AES256.

Corpo da solicitação

Nenhum.

Resposta

A resposta inclui um código de status HTTP, um conjunto de cabeçalhos de resposta e o corpo de resposta, que tem o conteúdo do blob.

Código de status

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

Uma operação bem-sucedida para ler um intervalo especificado retorna o código de status 206 (conteúdo parcial).

Para obter mais informações sobre códigos de status, consulte Códigos de status e 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 do protocolo HTTP/1.1.

Sintaxe Descrição
Last-Modified A data/hora em que o blob foi modificado pela última vez. O formato da data segue RFC 1123.

Qualquer operação que modificar o blob, incluindo uma atualização dos metadados ou das propriedades do blob, alterará a hora da última modificação do blob.
x-ms-creation-time Versão 2017-11-09 e posterior. A data/hora em que o blob foi criado. O formato da data segue RFC 1123.
x-ms-meta-name:value Um conjunto de pares nome-valor associado a esse blob como metadados definidos pelo usuário.
x-ms-tag-count Versão 2019-12-12 e posterior. Se o blob tiver marcas, esse cabeçalho retornará o número de marcas armazenadas no blob. O cabeçalho não será retornado se não houver marcas no blob.
Content-Length O número de bytes presentes no corpo da resposta.
Content-Type O tipo de conteúdo especificado para o blob. O tipo de conteúdo padrão é application/octet-stream.
Content-Range Indica o intervalo de bytes retornados caso o cliente tenha solicitado um subconjunto do blob definindo o cabeçalho da Range solicitação.
ETag Contém um valor que você pode usar para executar operações condicionalmente. Para obter mais informações, consulte Especificar cabeçalhos condicionais para operações de Armazenamento de Blobs. Se a versão da solicitação for 2011-08-18 ou posterior, o valor de ETag será colocado entre aspas.
Content-MD5 Se o blob tiver um hash MD5 e essa operação Get Blob tiver o objetivo de ler todo o blob, esse cabeçalho de resposta será retornado de modo que o cliente possa verificar a integridade do conteúdo da mensagem.

Na versão 2012-02-12 e posterior, Put Blob define o valor de hash MD5 de um blob de blocos mesmo quando a solicitação Put Blob não inclui um cabeçalho MD5.

Se a solicitação for ler um intervalo especificado e o x-ms-range-get-content-md5 estiver definido truecomo , a solicitação retornará um hash MD5 para o intervalo, desde que o tamanho do intervalo seja menor ou igual a 4 MiB.

Se nenhum desses conjuntos de condições for true, nenhum valor será retornado para o Content-MD5 cabeçalho.

Se x-ms-range-get-content-md5 for especificado sem o cabeçalho Range, o serviço retornará o código de status 400 (Solicitação Incorreta).

Se x-ms-range-get-content-md5 for definido true como quando o intervalo exceder 4 MiB, o serviço retornará status código 400 (Solicitação Incorreta).
x-ms-content-crc64 Se a solicitação for ler um intervalo especificado e o x-ms-range-get-content-crc64 for definido truecomo , a solicitação retornará um hash CRC64 para o intervalo, desde que o tamanho do intervalo seja menor ou igual a 4 MiB.

Se x-ms-range-get-content-crc64 for especificado sem o cabeçalho Range, o serviço retornará o código de status 400 (Solicitação Incorreta).

Se x-ms-range-get-content-crc64 for definido true como quando o intervalo exceder 4 MiB, o serviço retornará status código 400 (Solicitação Incorreta).
Content-Encoding Retorna o valor especificado para o cabeçalho da solicitação Content-Encoding .
Content-Language Retorna o valor especificado para o cabeçalho da solicitação Content-Language .
Cache-Control Retornado se o cabeçalho foi especificado anteriormente para o blob.
Content-Disposition Retornado para solicitações na versão 2013-08-15 e mais recente. Esse cabeçalho retorna o valor que foi especificado para o cabeçalho x-ms-blob-content-disposition.

O Content-Disposition campo de cabeçalho de resposta transmite informações adicionais sobre como processar o conteúdo da resposta e pode ser usado para anexar metadados adicionais. Por exemplo, se o cabeçalho estiver definido attachmentcomo , ele indicará que o agente do usuário não deve exibir a resposta. Em vez disso, ele mostra uma caixa de diálogo Salvar como com um nome de arquivo diferente do nome de blob especificado.
x-ms-blob-sequence-number O número de sequência atual de um blob de páginas.

Esse cabeçalho não é retornado para blobs de blocos ou blobs de acréscimo.
x-ms-blob-type: <BlockBlob | PageBlob | AppendBlob> Retorna o tipo de blob.
x-ms-copy-completion-time: <datetime> Versão 2012-02-12 e posterior. A hora de conclusão da última tentativa Copy Blob de operação em que esse blob foi o blob de destino. Esse valor pode especificar a hora de uma tentativa de cópia concluída, cancelada o com falha. Esse cabeçalho não aparecerá se uma cópia estiver pendente, se esse blob nunca tiver sido o destino em uma Copy Blob operação ou se esse blob tiver sido modificado após uma operação concluída Copy Blob que usou Set Blob Properties, Put Blobou Put Block List.
x-ms-copy-status-description: <error string> Versão 2012-02-12 e posterior. Aparece somente quando x-ms-copy-status é failed ou pending. Descreve a causa da última falha fatal ou não fatal da operação de cópia. Esse cabeçalho não aparecerá se esse blob nunca tiver sido o destino em uma Copy Blob operação ou se esse blob tiver sido modificado após uma operação concluída Copy Blob que usou Set Blob Properties, Put Blobou Put Block List.
x-ms-copy-id: <id> Versão 2012-02-12 e posterior. Um identificador de cadeia de caracteres para a última tentativa Copy Blob de operação em que esse blob foi o blob de destino. Esse cabeçalho não aparecerá se esse blob nunca tiver sido o destino em uma Copy Blob operação ou se esse blob tiver sido modificado após uma operação concluída Copy Blob que usou Set Blob Properties, Put Blobou Put Block List.
x-ms-copy-progress: <bytes copied/bytes total> Versão 2012-02-12 e posterior. Contém o número de bytes que foram copiados e o total de bytes na origem na última tentativa Copy Blob de operação em que esse blob foi o blob de destino. Ele pode mostrar de 0 a Content-Length bytes copiados. Esse cabeçalho não aparecerá se esse blob nunca tiver sido o destino em uma Copy Blob operação ou se esse blob tiver sido modificado após uma operação concluída Copy Blob que usou Set Blob Properties, Put Blobou Put Block List.
x-ms-copy-source: url Versão 2012-02-12 e posterior. Uma URL de até 2 KiB de comprimento que especifica o blob de origem ou arquivo usado na última tentativa Copy Blob de operação em que esse blob foi o blob de destino. Esse cabeçalho não aparecerá se esse blob nunca tiver sido o destino em uma Copy Blob operação ou se esse blob tiver sido modificado após uma operação concluída Copy Blob que usou Set Blob Properties, Put Blobou Put Block List.

A URL retornada nesse cabeçalho contém todos os parâmetros de solicitação que foram usados na operação de cópia no blob de origem, incluindo o token SAS (assinatura de acesso compartilhado) que foi usado para acessar o blob de origem.
x-ms-copy-status: <pending | success | aborted | failed> Versão 2012-02-12 e posterior. O estado da operação de cópia identificada por x-ms-copy-id, com estes valores:

- success: cópia concluída com êxito.
- pending: a cópia está em andamento. Verifique x-ms-copy-status-description se erros intermitentes não fatais retardam o progresso da cópia, mas não causam falha.
- aborted: a cópia foi encerrada por Abort Copy Blob.
- failed: falha na cópia. Consulte x-ms-copy-status-description para obter detalhes da falha.

Esse cabeçalho não aparecerá se esse blob nunca tiver sido o destino em uma Copy Blob operação ou se esse blob tiver sido modificado após uma operação concluída Copy Blob que usou Set Blob Properties, Put Blobou Put Block List.
x-ms-lease-duration: <infinite | fixed> Versão 2012-02-12 e posterior. Quando um blob é concedido, especifica se a concessão tem duração infinita ou fixa.
x-ms-lease-state: <available | leased | expired | breaking | broken> Versão 2012-02-12 e posterior. O estado de concessão do blob.
x-ms-lease-status:<locked | unlocked> O status da concessão atual do blob.
x-ms-request-id Identifica exclusivamente a solicitação que foi feita e pode ser usada para solucionar problemas da solicitação. Para obter mais informações, consulte Solucionar problemas de operações de API.
x-ms-version Indica a versão do Armazenamento de Blobs que foi usada para executar a solicitação. Incluído para solicitações que foram feitas usando a versão 2009-09-19 e posterior.

Esse cabeçalho também será retornado para solicitações anônimas sem uma versão especificada se o contêiner tiver sido marcado para acesso público usando o Armazenamento de Blobs versão 2009-09-19.
Accept-Ranges: bytes Indica se o serviço oferece suporte a solicitações de conteúdo de blob parcial. Incluído para solicitações feitas usando a versão 2011-08-18 e posterior e para o serviço de armazenamento local no SDK versão 1.6 e posterior.
Date Um valor de data/hora UTC gerado pelo serviço, que indica a hora em que a resposta foi iniciada.
Access-Control-Allow-Origin Retornado se a solicitação incluir um cabeçalho Origin e CORS estiver habilitado com uma regra de correspondência. Este cabeçalho retorna o valor do cabeçalho de solicitação de origem no caso de uma correspondência.
Access-Control-Expose-Headers Retornado se a solicitação incluir um cabeçalho Origin e CORS estiver habilitado com uma regra de correspondência. Retorna a lista de cabeçalhos de resposta que devem ser expostos ao cliente ou ao emissor da solicitação.
Vary Retornado com o valor do cabeçalho Origin quando as regras de CORS são especificadas. Confira Suporte a CORS para os serviços de Armazenamento do Azure para obter detalhes.
Access-Control-Allow-Credentials Retornado se a solicitação incluir um Origin cabeçalho e o CORS estiver habilitado com uma regra correspondente que não permita todas as origens. Esse cabeçalho será definido como true.
x-ms-blob-committed-block-count O número de blocos confirmados presentes no blob. Esse cabeçalho é retornado somente para blobs de acréscimo.
x-ms-server-encrypted: true/false Versão 2015-12-11 e posterior. O valor desse cabeçalho será definido true como se os dados de blob e os metadados do aplicativo forem completamente criptografados usando o algoritmo especificado. Caso contrário, o valor será definido false como (quando o blob for descriptografado ou se apenas partes dos metadados do blob ou do aplicativo forem criptografadas).
x-ms-encryption-key-sha256 Versão 2019-02-02 e posterior. Esse cabeçalho será retornado se o blob for criptografado com uma chave fornecida pelo cliente.
x-ms-encryption-context Versão 2021-08-06 e posterior. Se o valor da propriedade de contexto de criptografia for definido, ele retornará o valor definido. Válido somente quando o Namespace Hierárquico está habilitado para a conta.
x-ms-encryption-scope Versão 2019-02-02 e posterior. Esse cabeçalho será retornado se o blob for criptografado com um escopo de criptografia.
x-ms-blob-content-md5 Versão 2016-05-31 e posterior. Se o blob tiver um hash MD5 e se a solicitação contiver um cabeçalho de intervalo (Intervalo ou x-ms-range), esse cabeçalho de resposta será retornado com o valor do valor MD5 do blob inteiro. Esse valor pode ou não ser igual ao valor retornado no cabeçalho Content-MD5, com o último calculado do intervalo solicitado.
x-ms-client-request-id Pode ser usado para solucionar problemas de solicitações e respostas correspondentes. O valor desse cabeçalho será igual ao valor do x-ms-client-request-id cabeçalho se ele estiver presente na solicitação e o valor não contiver mais de 1.024 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.
x-ms-last-access-time Versão 2020-02-10 e posterior. Indica a última vez em que os dados do blob foram acessados com base na política de acompanhamento de hora do último acesso da conta de armazenamento. O cabeçalho não será retornado se a conta de armazenamento não tiver uma política de acompanhamento de hora do último acesso ou se a política estiver desabilitada. Para obter informações sobre como definir a política de acompanhamento de hora do último acesso da conta de armazenamento, consulte API do Serviço Blob.
x-ms-blob-sealed Versão 2019-12-12 e posterior. Retornado somente para blobs de acréscimo. Se o blob de acréscimo tiver sido lacrado, o valor será true. Para obter mais informações, consulte Anexar selo de blob
x-ms-immutability-policy-until-date Versão 2020-06-12 e posterior. Especifica a retenção até a data definida no blob. Essa é a data até a qual o blob pode ser protegido contra modificação ou exclusão. Retornado somente se uma política de imutabilidade estiver definida no blob. O valor desse cabeçalho está no formato RFC1123.
x-ms-immutability-policy-mode: unlocked/locked Versão 2020-06-12 e posterior. Retornado se uma política de imutabilidade estiver definida no blob. Os valores são unlocked e locked. unlocked indica que o usuário pode alterar a política aumentando ou diminuindo a retenção até a data. locked indica que essas ações são proibidas.
x-ms-legal-hold: true/false Versão 2020-06-12 e posterior. Esse cabeçalho não será retornado se não houver nenhuma retenção legal no blob. O valor desse cabeçalho será definido true como se o blob contiver uma retenção legal e seu valor for true. Caso contrário, o valor será definido false como se o blob contiver uma retenção legal e seu valor for false.
x-ms-owner Versão 2020-06-12 e posterior, somente para contas com namespace hierárquico habilitado. Retorna o proprietário-usuário do arquivo ou diretório.
x-ms-group Versão 2020-06-12 e posterior, somente para contas com namespace hierárquico habilitado. Retorna o grupo proprietário do arquivo ou diretório.
x-ms-permissions Versão 2020-06-12 e posterior, somente para contas com namespace hierárquico habilitado. Retorna as permissões definidas para usuário, grupo e outros no arquivo ou diretório. Cada permissão individual está no [r,w,x,-]{3} formato .
x-ms-acl Versão 2023-11-03 e posterior. Somente para contas com namespace hierárquico habilitado. Retorna a lista combinada de acesso e a lista de controle de acesso padrão definida para usuário, grupo e outros no arquivo ou diretório. Cada ACE (entrada de controle de acesso) consiste em um escopo, um tipo, um identificador de usuário ou grupo e permissões no formato [scope]:[type]:[id]:[permissions]. O default escopo indica que a ACE pertence à ACL padrão de um diretório; caso contrário, o escopo será implícito e a ACE pertence à ACL de acesso. Cada permissão individual está no [r,w,x,-]{3} formato .
x-ms-resource-type Versão 2020-10-02 e posterior, somente para contas com namespace hierárquico habilitado. Retorna o tipo de recurso para o caminho, que pode ser file ou directory.

Corpo da resposta

O corpo da resposta tem o conteúdo do blob.

Resposta de exemplo

Status Response:  
HTTP/1.1 200 OK  
  
Response Headers:  
x-ms-blob-type: BlockBlob  
x-ms-lease-status: unlocked  
x-ms-lease-state: available  
x-ms-meta-m1: v1  
x-ms-meta-m2: v2  
Content-Length: 11  
Content-Type: text/plain; charset=UTF-8  
Date: <date>  
ETag: "0x8CB171DBEAD6A6B"  
Vary: Origin  
Last-Modified: <date>  
x-ms-version: 2015-02-21  
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0  
x-ms-copy-id: 36650d67-05c9-4a24-9a7d-a2213e53caf6  
x-ms-copy-source: <url>  
x-ms-copy-status: success  
x-ms-copy-progress: 11/11  
x-ms-copy-completion-time: <date>  
  

Autorização

A autorização é necessária ao chamar qualquer operação de acesso a dados no Armazenamento do Azure. Você pode autorizar a Get Blob operação conforme descrito abaixo.

Importante

A Microsoft recomenda usar Microsoft Entra ID com identidades gerenciadas para autorizar solicitações para o Armazenamento do Azure. Microsoft Entra ID fornece segurança superior e facilidade de uso em comparação com a autorização de Chave Compartilhada.

O Armazenamento do Azure dá suporte ao uso de Microsoft Entra ID para autorizar solicitações para dados de blob. Com Microsoft Entra ID, você pode usar o RBAC (controle de acesso baseado em função) do Azure para conceder permissões a uma entidade de segurança. A entidade de segurança pode ser um usuário, um grupo, uma entidade de serviço de aplicativo ou uma identidade gerenciada do Azure. A entidade de segurança é autenticada por Microsoft Entra ID para retornar um token OAuth 2.0. Em seguida, o token pode ser usado para autorizar uma solicitação no serviço de Blob.

Para saber mais sobre a autorização usando Microsoft Entra ID, consulte Autorizar o acesso a blobs usando Microsoft Entra ID.

Permissões

Veja abaixo a ação RBAC necessária para um usuário Microsoft Entra, grupo, identidade gerenciada ou entidade de serviço para chamar a Get Blob operação e a função rbac interna do Azure com privilégios mínimos que inclui esta ação:

Para saber mais sobre como atribuir funções usando o RBAC do Azure, confira Atribuir uma função do Azure para acesso aos dados de blob.

Comentários

Para um blob de páginas, uma operação Get Blob em um intervalo de páginas que ainda não têm conteúdo ou que foi limpo retorna zeros para esses bytes.

Se você chamar Get Blob em um blob de páginas sem nenhum intervalo especificado, o serviço retornará o intervalo de páginas até o valor especificado para o x-ms-blob-content-length cabeçalho. Para todas as páginas que não têm conteúdo, o serviço retorna zeros para esses bytes.

Para um blob de acréscimo, a Get Blob operação retorna o x-ms-blob-committed-block-count cabeçalho . Esse cabeçalho indica o número de blocos confirmados no blob. O x-ms-blob-committed-block-count cabeçalho não é retornado para blobs de blocos ou blobs de páginas.

Uma Get Blob operação tem permissão de dois minutos por MiB para ser concluída. Se a operação estiver demorando mais de dois minutos por MiB em média, a operação terá um tempo limite.

O cabeçalho x-ms-version é necessário para recuperar um blob que pertence a um contêiner privado. Se o blob pertencer a um contêiner disponível para acesso público total ou parcial, qualquer cliente poderá lê-lo sem especificar uma versão; a versão do serviço não é necessária para recuperar um blob que pertence a um contêiner público. Para saber mais, confira Restringir o acesso a contêineres e blobs.

Uma Get Blob operação em um blob de blocos arquivado falhará.

Operações de cópia

Para determinar se uma Copy Blob operação foi concluída, primeiro marcar para garantir que o x-ms-copy-id valor do cabeçalho do blob de destino corresponda à ID de cópia fornecida pela chamada original para Copy Blob. Uma correspondência garante que outro aplicativo não anule a cópia e inicie uma nova Copy Blob operação. Em seguida, marcar para o x-ms-copy-status: success cabeçalho. No entanto, lembre-se de que todas as operações de gravação em um blob, exceto Lease, Put Page, e Put Block removem todas as x-ms-copy-* propriedades do blob. Essas propriedades também não são copiadas por Copy Blob operações que usam versões do Armazenamento de Blobs anteriores a 2012-02-12.

Aviso

A URL retornada no cabeçalho contém todos os x-ms-copy-source parâmetros de solicitação que foram usados na operação de cópia no blob de origem. Se você usar um token SAS para acessar o blob de origem, esse token SAS aparecerá no x-ms-copy-source cabeçalho quando Get Blob for chamado no blob de destino.

Quando x-ms-copy-status: failed aparece na resposta, x-ms-copy-status-description contém mais informações sobre a falha de Copy Blob.

Os três campos de cada x-ms-copy-status-description valor são descritos na tabela a seguir:

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

Os x-ms-copy-status valores e x-ms-copy-status-description de cenários comuns de falha são descritos na tabela a seguir:

Importante

As descrições de erro nesta tabela podem ser alteradas sem aviso, mesmo sem uma alteração de versão, portanto, elas podem não corresponder exatamente ao texto.

Cenário Valor x-ms-copy-status Valor x-ms-copy-status-description
Operação de cópia concluída com êxito. sucesso vazio
O usuário anulou a operação de cópia antes da conclusão. aborted vazio
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. Hora da 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. Hora da 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: Quando o serviço relata esse erro subjacente, ele retorna ResourceNotFound no ErrorCode elemento . Se nenhum ErrorCode elemento aparecer na resposta, uma representação de cadeia de caracteres padrão do status HTTP, como NotFound, será exibida.
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.”
A operação de cópia falhou com muita frequência ao ler da origem e não atendeu a uma proporção mínima de tentativas para êxitos. (Esse tempo limite impede a repetição de uma fonte muito ruim ao longo de duas semanas antes de falhar). falhou 500 OperationCancelled "Falha na cópia durante a leitura da origem.”

x-ms-last-access-time controla a hora em que os dados do blob foram acessados com base na política de acompanhamento de hora do último acesso da conta de armazenamento. Acessar os metadados de um blob não altera a hora do último acesso.

Cobrança

As solicitações de preços podem ser originadas de clientes que usam APIs de Armazenamento de Blobs, diretamente por meio da API REST do Armazenamento de Blobs ou de uma biblioteca de clientes do Armazenamento do Azure. Essas solicitações acumulam encargos por transação. O tipo de transação afeta a forma como a conta é cobrada. Por exemplo, as transações de leitura se acumulam em uma categoria de cobrança diferente das transações de gravação. A tabela a seguir mostra a categoria de cobrança para Get Blob solicitações com base no tipo de conta de armazenamento:

Operação Tipo de conta de armazenamento Categoria de cobrança
Get Blob Blob de blocos Premium
Uso geral v2 Standard
Uso geral v1 Standard
Operações de leitura

Para saber mais sobre os preços da categoria de cobrança especificada, confira Preços Armazenamento de Blobs do Azure.

Confira também

Autorizar solicitações para o Armazenamento do Azure
Status e códigos de erro
Códigos de erro do Armazenamento de Blobs
Definir tempos limite para operações de Armazenamento de Blobs