VENDAS: 1-800-867-1389

Colocar Blob

Atualizado: janeiro de 2014

A operação Put Blob cria um novo blob de blocos ou de páginas, ou atualiza o conteúdo de um bloco de blobs existente.

A atualização de um blob de blocos existente substitui todos os metadados existentes no blob. As atualizações parciais não têm suporte em Put Blob; o conteúdo de blob existente é substituído pelo conteúdo no novo blob. Para executar uma atualização parcial do conteúdo de um blob de blocos, use a operação Colocar lista de blocos.

Observe que a chamada de Put Blob para criar um blob de páginas somente inicializa o blob. Para adicionar o conteúdo a um blob de páginas, chame a operação Colocar Página.

A solicitação Put 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 PUT Versão de HTTP

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

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 PUT Versão de HTTP

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

HTTP/1.1

Observe que o emulador de armazenamento oferece suporte apenas a tamanhos de blob de até 2 GB.

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

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 cabeçalhos de solicitação necessários e opcionais para operações em blobs do blocos e páginas.

 

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

Content-Length

Obrigatória. O comprimento da solicitação.

Para um blob de páginas, o valor desse cabeçalho deverá ser definido como zero, pois Colocar Blob é usado apenas para inicializar o blob de páginas. O tamanho do blob de páginas é especificado no cabeçalho x-ms-blob-content-length. Todo o conteúdo deve ser gravado em um blob de páginas chamando Colocar Página.

Content-Type

Opcional. O tipo de conteúdo MIME do blob. O tipo padrão é application/octet-stream.

Content-Encoding

Opcional. Especifica quais codificações de conteúdo foram aplicadas ao blob. Esse valor será retornado para o cliente quando a operação Obter Blob for executada no recurso de blob. O cliente pode usar esse valor quando retornado para decodificar o conteúdo do blob.

Content-Language

Opcional. Especifica os idiomas naturais usados por esse recurso.

Content-MD5

Opcional. Um hash MD5 do conteúdo do blob. O hash é usado para verificar a integridade do blob durante o transporte. Quando esse cabeçalho é especificado, o serviço de armazenamento verifica o hash do conteúdo que chegou com o valor enviado. Se os dois hashes não corresponderem, a operação falhará com o código de erro 400 (Solicitação Incorreta).

Quando omitido na versão 2012-02-12 e posteriores, o serviço Blob gera um hash MD5.

Os resultados de Obter Blob, Obter propriedades de blobe Listar blobs incluem o hash MD5.

Cache-Control

Opcional. O serviço Blob armazena esse valor, mas não o utiliza, nem modifica.

x-ms-blob-content-type

Opcional. Defina o tipo de conteúdo do blob.

x-ms-blob-content-encoding

Opcional. Defina a codificação do conteúdo do blob.

x-ms-blob-content-language

Opcional. Defina o idioma do conteúdo do blob.

x-ms-blob-content-md5

Opcional. Defina o hash MD5 do blob.

x-ms-blob-cache-control

Opcional. Define o controle de cache do blob.

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

Obrigatória. Especifica o tipo de blob a ser criado. blob de bloco ou blob de página.

x-ms-meta-name:value

Opcional. Pares de nome-valor associados ao blob como metadados.

Observe que, a partir da versão 2009-09-19, os nomes de metadados devem atender às regras de nomenclatura para identificadores C#.

x-ms-lease-id:<ID>

Obrigatório se o blob tiver uma concessão ativa. Para executar essa operação em um blob com uma concessão ativa, especifique a ID de concessão válida para esse cabeçalho.

x-ms-blob-content-disposition

Opcional. Define o cabeçalho Content-Disposition do blob. Disponível para versões 2013-08-15 e posteriores.

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.

A resposta das operações Obter Blob e Obter propriedades de blob inclui o cabeçalho content-disposition.

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 cabeçalhos na resposta. Para obter detalhes, consulte Suporte a CORS (Compartilhamento de recursos entre origens) 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 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 gravar 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 tabela a seguir descreve os cabeçalhos de solicitação aplicáveis apenas para operações em blobs de página.

 

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

x-ms-blob-content-length: bytes

Necessário para blobs de páginas. Esse cabeçalho especifica o tamanho máximo do blob de páginas, até 1 TB. O tamanho do blob de páginas deve ser alinhado a um limite de 512 bytes.

Se esse cabeçalho for especificado para um blob de blocos, o serviço Blob retornará o código de status 400 (Solicitação Incorreta).

x-ms-blob-sequence-number: <num>

Opcional. Defina para blobs de página apenas. O número de sequência é um valor controlado pelo usuário que você pode usar para rastrear solicitações. O valor do número de sequência deve ficar entre 0 e 2^63 - 1. O valor padrão é 0.

Para um blob de blocos, o corpo da solicitação tem o conteúdo do blob.

Para um blob de páginas, o corpo da solicitação está vazio.

O exemplo a seguir mostra uma solicitação para criar um blob de blocos:

Request Syntax:
PUT https://myaccount.blob.core.windows.net/mycontainer/myblockblob HTTP/1.1

Request Headers:
x-ms-version: 2013-08-15
x-ms-date: Wed, 23 Oct 2013 22:33:355 GMT
Content-Type: text/plain; charset=UTF-8
x-ms-blob-content-disposition: attachment; filename="fname.ext"
x-ms-blob-type: BlockBlob
x-ms-meta-m1: v1
x-ms-meta-m2: v2
Authorization: SharedKey myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g=
Content-Length: 11

Request Body:
hello world

Essa solicitação de exemplo cria um blob de páginas e especifica seu tamanho máximo como 1024 bytes. Observe que você deve chamar Colocar Página para adicionar conteúdo a um blob de páginas:

Request Syntax:
PUT https://myaccount.blob.core.windows.net/mycontainer/mypageblob HTTP/1.1

Request Headers:
x-ms-version: 2013-08-15
x-ms-date: Wed, 23 Oct 2013 22:41:55 GMT
Content-Type: text/plain; charset=UTF-8
x-ms-blob-type: PageBlob
x-ms-blob-content-length: 1024
x-ms-blob-sequence-number: 0
Authorization: SharedKey 
Origin: http://contoso.com
Vary: Origin
myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g=
Content-Length: 0

A resposta inclui um código de status HTTP e um conjunto de cabeçalhos de resposta.

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

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 HTTP padrão adicionais. Todos os cabeçalhos padrão obedecem à especificação de protocolo HTTP/1.1.

 

Cabeçalho de resposta Descrição

ETag

A ETag contém um valor que o cliente pode usar para executar operações PUT condicionais usando o cabeçalho de solicitação If-Match. Se a versão da solicitação for a 2011-08-18 ou mais recente, o valor de ETag será exibido entre aspas.

Last-Modified

A data e a hora da última modificação feita no blob. O formato da data segue a RFC 1123. Para obter mais informações, consulte Representação de valores de data/hora em cabeçalhos.

Qualquer operação de gravação no blob (incluindo atualizações nos metadados ou nas propriedades do blob), altera a hora da última modificação do blob.

Content-MD5

Esse cabeçalho é retornado para um blob de blocos, para que o cliente possa verificar a integridade do conteúdo da mensagem. O valor Content-MD5 retornado é computado pelo serviço Blob. Na versão 2012-02-12 e mais recentes, esse cabeçalho é retornado até mesmo quando a solicitação não inclui os cabeçalhos Content-MD5 ou x-ms-blob-content-md5.

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. Esse cabeçalho é retornado para solicitações feitas na versão 2009-09-19 e 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.

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.

Response Status:
HTTP/1.1 201 Created

Response Headers:
Transfer-Encoding: chunked
Content-MD5: sQqNsWTgdUEFt6mb5y4/5Q==
Date: Wed, 23 Oct 2013 22:33:35 GMT
ETag: "0x8CB171BA9E94B0B"
Last-Modified: Wed, 23 Oct 2013 22:30:15 GMT
Access-Control-Allow-Origin: http://contoso.com
Access-Control-Expose-Headers: Content-MD5
Access-Control-Allow-Credentials: True
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0

Essa operação poderá ser chamada pelo proprietário da conta e por qualquer cliente com uma assinatura de acesso compartilhado que tenha permissão para gravar nesse blob ou em seu contêiner.

Quando cria um blob, você deve especificar se é um blob de blocos ou um blob de páginas. Após a criação de um blob, o tipo de blob não pode ser alterado, a menos que seja excluído e recriado.

Para criar um novo blob de páginas, primeiro inicialize o blob chamando Put Blob e especifique seu tamanho máximo, até 1 TB. Ao criar um blob de páginas, não inclua o conteúdo no corpo da solicitação. Após a criação do blob, chame Colocar Página para adicionar conteúdo ao blob ou modificá-lo.

O tamanho de carregamento máximo para um blob de blocos é 64 MB. Se o blob for tiver mais que 64 MB, você deverá carregá-lo como um conjunto de blocos. Para obter mais informações, consulte as operações Colocar Bloco e Colocar lista de blocos. Não será necessário chamar Put Blob, se você carregar o blob como um conjunto de blocos.

Se você tentar carregar um blob de blocos com mais de 64 MB ou um blob de páginas com mais de 1 TB, o serviço retornará o código de status 413 (Entidade de Solicitação Muito Grande). O serviço Blob também retorna informações adicionais sobre o erro na resposta, inclusive o tamanho máximo permitido do blob em bytes.

Se você chamar Put Blob para substituir um blob existente com o mesmo nome, todos os instantâneos associados ao blob original serão retidos. Para remover instantâneos associados, chame Excluir Blob primeiro e, em seguida, Put Blob para recriar o blob.

Um blob tem as propriedades personalizadas (definidas pelos cabeçalhos) que você pode usar para armazenar os valores associados aos cabeçalhos HTTP padrão. Esses valores podem ser lidos subsequentemente chamando-se Obter propriedades de blob ou modificados chamando-se Definir propriedades de blob. Os cabeçalhos de propriedade personalizada e o cabeçalho HTTP padrão correspondente são listados na seguinte tabela:

 

Cabeçalho HTTP Cabeçalho da propriedade personalizada do blob

Content-Type

x-ms-blob-content-type

Content-Encoding

x-ms-blob-content-encoding

Content-Language

x-ms-blob-content-language

Content-MD5

x-ms-blob-content-md5

Cache-Control

x-ms-blob-cache-control

A semântica para definir esses valores de propriedade como persistentes com o blob é a seguinte:

  • Se o cliente especificar um cabeçalho de propriedade personalizada, conforme indicado pelo prefixo x-ms-blob, esse valor será armazenado com o blob.

  • Se o cliente especificar um cabeçalho HTTP padrão, mas não o cabeçalho da propriedade personalizada, o valor será armazenado na propriedade personalizada correspondente associada ao blob, e retornado por uma chamada a Get Blob Properties. Por exemplo, se o cliente definir o cabeçalho Content-Type na solicitação, esse valor será armazenado na propriedade x-ms-blob-content-type do blob.

  • Se o cliente definir o cabeçalho HTTP padrão e o cabeçalho da propriedade correspondente na mesma solicitação, a solicitação PUT usará o valor fornecido para o cabeçalho HTTP padrão, mas o valor especificado para o cabeçalho da propriedade personalizada será mantido com o blob e retornado por solicitações GET subsequentes.

Se o blob tiver uma concessão ativa, o cliente deverá especificar uma ID de concessão válida na solicitação para substituir o blob. Se o cliente não especificar uma ID de concessão ou especificar uma ID inválida, o serviço Blob retornará o código de status 412 (Falha na Pré-condição). Se o cliente especificar uma ID de concessão, mas o blob não tiver uma concessão ativa, o serviço Blob também retornará o código de status 412 (Falha na Pré-condição). Se o cliente especificar um ID de concessão em um blob que ainda não existir, o serviço Blob retornará o código de status 412 (falha na pré-condição) para solicitações feitas na versão 2013-08-15 e posterior; para versões anteriores, o serviço Blob retornará o código de status 201 (criado).

Se um blob existente com uma concessão ativa for substituído por uma operação Put Blob, a concessão persistirá no blob atualizado, até ele expirar ou ser liberado.

A conclusão de uma operação Put Blob pode demorar 10 minutos por MB. Se a operação estiver demorando mais de 10 minutos por MB em média, ela atingirá o tempo limite.

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