VENDAS: 1-800-867-1389

Obter Blob

Atualizado: junho de 2014

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.

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

 

  URI de solicitação do método GET Versão de HTTP

https://myaccount.blob.core.windows.net/mycontainer/myblob

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

HTTP/1,0

HTTP/1.1

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:

 

  URI de solicitação do método GET Versão de HTTP

http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob

HTTP/1,0

HTTP/1.1

Para obter mais informações, consulte Uso do Azure Storage Emulator para desenvolvimento e testes.

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

 

Parâmetro Descrição

snapshot

Opcional. O parâmetro de instantâneo é um valor DateTime opaco que, quando presente, especifica o instantâneo de blob a ser recuperado. Para obter mais informações sobre como trabalhar com instantâneos de blob, consulte Criando um instantâneo de um blob.

timeout

Opcional. O parâmetro timeout é expresso em segundos. Para obter mais informações, consulte Definição de tempos limite para operações de serviço Blob.

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

 

Cabeçalho de solicitação Descrição

Authorization

Obrigatória. Especifica o esquema de autenticação, o nome da conta e a assinatura. Para obter mais informações, consulte Autenticação federada para os Serviços de Armazenamento do Azure.

Date ou x-ms-date

Obrigatória. Especifica o Tempo Universal Coordenado (UTC) para a solicitação. Para obter mais informações, consulte Autenticação federada para os Serviços de Armazenamento do Azure.

x-ms-version

Obrigatório para todas as solicitações autenticadas, 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.

Range

Opcional. Retornar somente os bytes do blob no intervalo especificado.

x-ms-range

Opcional. Retornar somente os bytes do blob no intervalo especificado. Se Range e x-ms-range forem especificados, o serviço usará o valor de x-ms-range. Se nenhum for especificado, todo o conteúdo do blob será retornado. Consulte Especificando o cabeçalho de intervalo para operações do serviço Blob para mais informações.

x-ms-lease-id:<ID>

Opcional. Se esse cabeçalho for especificado, a operação será executada apenas se as seguintes condições forem atendidas:

  • A concessão do blob está atualmente ativa.

  • A ID de concessão especificada na solicitação corresponde à do blob.

Se esse cabeçalho for especificado e nenhuma dessas condições for atendida, a solicitação não será feita e ocorrerá uma falha na operação Get Blob com o código de status 412 (Falha na Pré-condição).

x-ms-range-get-content-md5: true

Opcional. Quando esse cabeçalho é definido como true e especificado junto com o cabeçalho Range, o serviço retorna o hash MD5 para o intervalo, desde que intervalo seja menor ou igual a 4 MB de tamanho.

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

Se esse cabeçalho for definido como true quando o intervalo exceder 4 MB em tamanho, o serviço retornará o código de status 400 (Solicitação Incorreta).

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-client-request-id

Opcional. Fornece um valor opaco, gerado pelo cliente, com um limite de caracteres de 1 KB que é registrado nos logs de análise quando o log de análise de armazenamento está habilitado. É altamente recomendável usar esse cabeçalho para correlacionar atividades do cliente com solicitações recebidas pelo servidor. Para obter mais informações, consulte Sobre o registro em log da Análise de Armazenamento e Log do Windows Azure: Usando logs para rastrear solicitações de armazenamento.

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 Especificando cabeçalhos condicionais para operações do serviço Blob.

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.

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 informações sobre códigos de status, consulte Status e códigos de erro.

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 obedecem à especificação de protocolo HTTP/1.1.

 

Sintaxe Descrição

Last-Modified

A data e a hora da última modificação feita no blob. 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-meta-name:value

Um conjunto de pares de nome-valor associados a esse blob como metadados definidos pelo usuário.

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 retornado, se o cliente tiver solicitado um subconjunto do blob definindo o cabeçalho de solicitação Range.

ETag

A ETag contém um valor que você pode usar para executar operações de forma condicional. Consulte Especificando cabeçalhos condicionais para operações do serviço Blob para mais informações. Se a versão da solicitação for a 2011-08-18 ou mais recente, o valor de ETag será exibido 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 mais recente, Put Blob define um 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 tiver o objetivo de ler um intervalo especificado e x-ms-range-get-content-md5 estiver definido como true, a solicitação retornará um hash MD5 para o intervalo, desde que o tamanho do intervalo seja menor ou igual a 4 MB.

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

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 como true quando o intervalo exceder 4 MB em tamanho, o serviço retornará o código de status 400 (Solicitação Incorreta).

Content-Encoding

Esse cabeçalho retorna o valor que foi especificado para o cabeçalho de solicitação Content-Encoding.

Content-Language

Esse cabeçalho retorna o valor que foi especificado para o cabeçalho de solicitação Content-Language.

Cache-Control

Esse cabeçalho será retornado, caso tenha sido especificado antes 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 campo do cabeçalho de resposta Content-Disposition transmite informações adicionais sobre como processar a carga de resposta, e também pode ser usado para anexar metadados adicionais. Por exemplo, se for definido como attachment, ele indicará que o usuário agente não deve exibir a resposta, mas em vez disso, 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.

x-ms-blob-type: <BlockBlob,PageBlob>

Retorna o tipo de blob.

x-ms-copy-completion-time:<datetime>

Versão 2012-02-12 e mais recente. A hora da conclusão da última tentativa de executar a operação Copy Blob 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 será exibido se uma cópia estiver pendente, 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.

x-ms-copy-status-description: <error string>

Versão 2012-02-12 e mais recente. 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 será exibido 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.

x-ms-copy-id: <id>

Versão 2012-02-12 e mais recente. Identificador de cadeia de caracteres para a última tentativa de executar a operação Copy Blob em que esse blob foi o destino. Esse cabeçalho não será exibido 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.

x-ms-copy-progress: <bytes copied/bytes total>

Versão 2012-02-12 e mais recente. Contém o número de bytes copiados e o total de bytes na origem na última tentativa de executar a operação Copy Blob em que esse blob foi o destino. Pode mostrar entre 0 e Content-Length bytes copiados. Esse cabeçalho não será exibido 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.

x-ms-copy-source: url

Versão 2012-02-12 e mais recente. A URL de até 2 KB de comprimento que especifica o blob ou arquivo de origem usado na última tentativa de executar a operação Copy Blob em que esse blob foi o destino. Esse cabeçalho não será exibido 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.

x-ms-copy-status: <pending | success | aborted | failed>

Versão 2012-02-12 e mais recente. Estado da operação de cópia identificada por x-ms-copy-id, com estes valores:

  • success: a cópia foi concluída com êxito.

  • pending: a cópia está em andamento. Verifique x-ms-copy-status-description se erros intermitentes e não fatais tornarem lento o andamento da cópia, mas não causarem falha.

  • aborted: a cópia foi finalizada por Abort Blob Copy.

  • failed: falha na cópia. Consulte x-ms-copy-status-description para obter detalhes sobre a falha.

Esse cabeçalho não será exibido 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.

x-ms-lease-duration: <infinite | fixed>

Versão 2012-02-12 e mais recente. 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 mais recente. Estado da concessão do blob.

x-ms-lease-status:<locked, unlocked>

O status da concessão atual do blob.

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 Solucionando problemas de operações de API.

x-ms-version

Indica a versão do serviço Blob usado para executar a solicitação. Incluído para solicitações feitas com a versão 2009-09-19 e mais recente.

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.

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 com a versão 2011-08-18 e mais recente, e para o serviço de armazenamento local na versão 1.6 do SDK ou mais recente.

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. Para obter detalhes, consulte Suporte a CORS (Compartilhamento de recursos entre origens) para os serviços de armazenamento do Azure.

Access-Control-Allow-Credentials

Retornado se a solicitação incluir um cabeçalho Origin e CORS estiver habilitado com uma regra de correspondência. que não permite todas as origens. Esse cabeçalho será definido como verdadeiro.

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

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: Wed, 23 Oct 2013 22:49:18 GMT
ETag: "0x8CB171DBEAD6A6B"
Vary: Origin
Last-Modified: Wed, 23 Oct 2013 22:48:29 GMT
x-ms-version: 2013-08-15
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0

Se a lista de controle de acesso (ACL) do contêiner for definida para permitir o acesso anônimo ao blob, qualquer cliente poderá chamar essa operação. Se o contêiner for privado, essa operação poderá ser executada pelo proprietário da conta e por qualquer pessoa com uma assinatura compartilhada de acesso que tenha permissão para ler o blob.

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 o intervalo especificado, o serviço retornará o intervalo de páginas até o valor especificado para o cabeçalho x-ms-blob-content-length. Para todas as páginas que carecem de conteúdo, o serviço retornará zero para esses bytes.

A conclusão de uma operação Get Blob pode demorar 2 minutos por MB. Se a operação estiver demorando mais de 2 minutos por MB em média, ela atingirá o 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 completo 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. Consulte Restringir o acesso a contêineres e blobs para mais informações.

Operações de cópia

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

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.

A tabela a seguir descreve os três campos de cada valor x-ms-copy-status-description.

 

Componente Descrição

Código de status HTTP

O valor inteiro de três dígitos que especifica a falha.

Código de erro

Palavra-chave que descreve o erro que é fornecido pelo Azure no elemento <ErrorCode>. Se nenhum elemento <ErrorCode> aparecer, uma palavra-chave que contém o texto do erro padrão associado ao código de status HTTP de três dígitos na especificação HTTP será usada. 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 x-ms-copy-status e x-ms-copy-status-description de cenários de falha comuns.

ImportantImportante
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 x-ms-copy-status Valor x-ms-copy-status-description

Operação de cópia concluída com êxito.

success

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: <hora>"

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: <hora>"

Falha irrecuperável durante a leitura do blob de origem de uma operação de cópia.

falha

404 ResourceNotFound "Falha na cópia ao ler a origem.”

noteObservação
Ao informar esse erro subjacente, o Azure retorna ResourceNotFound no elemento <ErrorCode>. Se nenhum elemento <ErrorCode> apareceu 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.)

falha

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).

falha

500 OperationCancelled "Falha na cópia durante a leitura da origem.”

Isso foi útil para você?
(1500 caracteres restantes)
Agradecemos os seus comentários
Mostrar:
© 2014 Microsoft