Colocar o Blob

A Put Blob operação cria um novo bloco, página ou blob de acréscimo ou atualiza o conteúdo de um blob de blocos existente. A Put Blob operação substituirá todos os conteúdos de um blob existente pelo mesmo nome.

Quando atualiza um blob de blocos existente, substitui todos os metadados existentes no blob. O conteúdo do blob existente é substituído pelo conteúdo do novo blob. As atualizações parciais não são suportadas com Put Blobo . Para efetuar uma atualização parcial do conteúdo de um blob de blocos, utilize a operação Colocar Lista de Blocos .

Só pode criar um blob de acréscimo nas versões 2015-02-21 e posterior.

Uma chamada para um Put Blob para criar um blob de páginas ou um blob de acréscimo apenas inicializa o blob. Se o blob já existir, os conteúdos serão limpos. Para adicionar conteúdo a um blob de páginas, chame a operação Colocar Página . Para adicionar conteúdo a um blob de acréscimo, chame a operação Acrescentar Bloco .

Pedir

Pode construir o pedido da Put Blob seguinte forma. Recomendamos que utilize HTTPS. Substitua myaccount pelo nome da sua conta de armazenamento:

URI do pedido do método PUT Versão HTTP
https://myaccount.blob.core.windows.net/mycontainer/myblob HTTP/1.1

Pedido de serviço de armazenamento emulado

Quando estiver a fazer um pedido relativamente ao serviço de armazenamento emulado, especifique o nome do anfitrião do emulador e a porta do serviço Blob como 127.0.0.1:10000, seguido do nome da conta de armazenamento emulada:

URI do pedido do método PUT Versão HTTP
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob HTTP/1.1

O emulador de armazenamento suporta tamanhos de blobs de até 2 gibibytes (GiB).

Para obter mais informações, veja Utilizar o emulador do Azurite para o desenvolvimento local do Armazenamento do Azure.

Parâmetros do URI

Os seguintes parâmetros adicionais podem ser especificados no URI do pedido:

Parâmetro Description
timeout Opcional. O timeout parâmetro é expresso em segundos. Para obter mais informações, veja Set time-outs for Blob service operations (Definir tempos limite para operações do serviço Blob).

Cabeçalhos de pedido (todos os tipos de blobs)

Os cabeçalhos de pedido obrigatórios e opcionais para todos os tipos de blobs estão descritos na tabela seguinte:

Cabeçalho do pedido Description
Authorization Obrigatório. Especifica o esquema de autorização, o nome da conta e a assinatura. Para obter mais informações, veja Autorizar pedidos para o Armazenamento do Azure.
Date ou x-ms-date Obrigatório. Especifica a Hora Universal Coordenada (UTC) do pedido. Para obter mais informações, veja Autorizar pedidos para o Armazenamento do Azure.
x-ms-version Necessário para todos os pedidos autorizados. Especifica a versão da operação a utilizar para este pedido. Para obter mais informações, veja Controlo de versões dos serviços de Armazenamento do Azure.
Content-Length Obrigatório. A duração do pedido.

Para um blob de páginas ou um blob de acréscimo, o valor deste cabeçalho tem de ser definido como zero, uma vez que Put Blob é utilizado apenas para inicializar o blob. Para escrever conteúdo num blob de página existente, chame Colocar Página. Para escrever conteúdo num blob de acréscimo, chame Bloco de Acréscimo.
Content-Type Opcional. O tipo de conteúdo MIME do blob. O tipo predefinido é application/octet-stream.
Content-Encoding Opcional. Especifica as codificações de conteúdo que foram aplicadas ao blob. Este valor é devolvido ao cliente quando a operação Obter Blob é executada no recurso de blob. Quando este valor é devolvido, o cliente pode utilizá-lo para descodificar o conteúdo do blob.
Content-Language Opcional. Especifica as linguagens naturais utilizadas por este recurso.
Content-MD5 Opcional. Um Hash MD5 do conteúdo da bolha. Este Hash é utilizado para verificar a integridade da bolha durante o transporte. Quando este cabeçalho é especificado, o serviço de armazenamento verifica o hash que chegou ao que foi enviado. Se os dois hashes não corresponderem, a operação falha com o código de erro 400 (Pedido Incorreto).

Quando o cabeçalho é omitido na versão 2012-02-12 ou posterior, o Armazenamento de Blobs gera um hash MD5.

Os resultados da Get Blob, Get Blob Properties e List Blobs incluem o Hash MD5.
x-ms-content-crc64 Opcional. Um Hash CRC64 do conteúdo da bolha. Este Hash é utilizado para verificar a integridade da bolha durante o transporte. Quando este cabeçalho é especificado, o serviço de armazenamento verifica o hash que chegou ao que foi enviado. Se os dois hashes não corresponderem, a operação falha com o código de erro 400 (Pedido Incorreto). Este cabeçalho é suportado nas versões 02-02-2019 e posteriores.

Se os cabeçalhos Content-MD5 e x-ms-content-crc64 estiverem presentes, o pedido falha com um 400 (Pedido Incorreto).
Cache-Control Opcional. O Armazenamento de Blobs armazena este valor, mas não o utiliza ou 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 de conteúdo do blob.
x-ms-blob-content-language Opcional. Defina o idioma de conteúdo do blob.
x-ms-blob-content-md5 Opcional. Defina o hash MD5 do blob. Para BlockBlob, este cabeçalho tem precedência ao Content-MD5 verificar a integridade do blob durante o transporte. Para PageBlob e AppendBlob, este cabeçalho define diretamente o hash MD5 do blob.
x-ms-blob-cache-control Opcional. Define o controlo de cache do blob.
x-ms-blob-type: <BlockBlob ¦ PageBlob ¦ AppendBlob> Obrigatório. Especifica o tipo de blob a criar: blob de blocos, blob de páginas ou blob de acréscimo. O suporte para criar um blob de acréscimo só está disponível na versão 2015-02-21 e posterior.
x-ms-meta-name:value Opcional. Pares nome-valor associados ao blob como metadados.

Nota: a partir da versão 2009-09-19, os nomes de metadados têm de cumprir as regras de nomenclatura dos identificadores C#.
x-ms-encryption-scope Opcional. Indica o âmbito de encriptação a utilizar para encriptar o conteúdo do pedido. Este cabeçalho é suportado nas versões 2019-02-02 e posteriores.
x-ms-encryption-context Opcional. A predefinição é "Vazio". Se o valor estiver definido, definirá os metadados do sistema de blobs. Comprimento máximo-1024. Válido apenas quando o Espaço de Nomes Hierárquico está ativado para a conta. Este cabeçalho é suportado nas versões 2021-08-06 e posteriores.
x-ms-tags Opcional. Define as etiquetas codificadas de cadeia de consulta especificadas no blob. Consulte as Observações para obter informações adicionais. Suportado na versão 2019-12-12 e posterior.
x-ms-lease-id:<ID> Necessário se o blob tiver uma concessão ativa. Para executar esta operação num blob com uma concessão ativa, especifique o ID de concessão válido para este cabeçalho.
x-ms-blob-content-disposition Opcional. Define o cabeçalho do Content-Disposition blob. Disponível para as versões 2013-08-15 e posteriores.

O Content-Disposition campo de cabeçalho de resposta transmite informações adicionais sobre como processar o payload de resposta e pode utilizá-lo para anexar metadados adicionais. Por exemplo, se o cabeçalho estiver definido como attachment, indica que o user-agent não deve apresentar a resposta. Em vez disso, deve apresentar uma caixa de diálogo Guardar Como com um nome de ficheiro diferente do nome de blob especificado.

A resposta das operações Obter Blob e Obter Propriedades do Blob inclui o content-disposition cabeçalho.
Origin Opcional. Especifica a origem a partir da qual o pedido é emitido. A presença deste cabeçalho resulta em cabeçalhos de partilha de recursos de várias origens (CORS) na resposta. Para obter mais informações, veja Suporte do CORS 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 carateres de 1 kibibyte (KiB) que é registado nos registos de análise quando o registo é configurado. Recomendamos vivamente que utilize este cabeçalho para correlacionar as atividades do lado do cliente com os pedidos que o servidor recebe. Para obter mais informações, veja About Storage analytics logging (Acerca do registo da análise de armazenamento).
x-ms-access-tier Opcional. A camada a definir no blob. Para blobs de páginas numa conta Armazenamento Premium apenas com a versão 2017-04-17 e posterior. Para obter uma lista completa das camadas suportadas por blobs de páginas, veja Armazenamento premium de elevado desempenho e discos geridos para máquinas virtuais (VMs). Para blobs de blocos, suportado no armazenamento de blobs ou contas de fins gerais v2 apenas com a versão 2018-11-09 e posterior. Os valores válidos para as camadas de blob de blocos são Hot, Cool, Colde Archive. Nota: Cold o escalão é suportado para a versão 2021-12-02 e posterior. Para obter informações detalhadas sobre as camadas de blobs de blocos, veja Camadas de armazenamento frequente, esporádico e de arquivo.
x-ms-immutability-policy-until-date Versão 2020-06-12 e posterior. Especifica a data de retenção até ser definida no blob. Esta é a data até à qual o blob pode ser protegido contra modificação ou eliminação. Segue RFC1123 formato.
x-ms-immutability-policy-mode Versão 2020-06-12 e posterior. Especifica o modo de política de imutabilidade a definir no blob. Os valores válidos são unlocked e locked. Com unlockedo , os utilizadores podem alterar a política ao aumentar ou diminuir a data de retenção até. Com lockedo , estas ações são proibidas.
x-ms-legal-hold Versão 2020-06-12 e posterior. Especifica a retenção legal a ser definida no blob. Os valores válidos são true e false.
x-ms-expiry-option Opcional. Versão 2023-08-03 e posterior. Especifica a opção de data de expiração para o pedido. Para obter mais informações, veja ExpiryOption. Este cabeçalho é válido para contas com o espaço de nomes hierárquico ativado.
x-ms-expiry-time Opcional. Versão 2023-08-03 e posterior. Especifica a hora em que o blob está definido para expirar. O formato da data de expiração varia de acordo x-ms-expiry-optioncom . Para obter mais informações, veja ExpiryOption. Este cabeçalho é válido para contas com o espaço de nomes hierárquico ativado.

Esta operação também suporta a utilização de cabeçalhos condicionais para escrever o blob apenas se uma condição especificada for cumprida. Para obter mais informações, veja Especificar cabeçalhos condicionais para operações de Armazenamento de Blobs.

Cabeçalhos de pedido (apenas blobs de páginas)

Os cabeçalhos de pedido que são aplicáveis apenas para operações em blobs de páginas são descritos na seguinte tabela:

Cabeçalho do pedido Descrição
x-ms-blob-content-length: bytes Necessário para blobs de páginas. Este cabeçalho especifica o tamanho máximo para o blob de páginas, até 8 tebibytes (TiB). O tamanho do blob de páginas tem de estar alinhado com um limite de 512 bytes.

Se este cabeçalho for especificado para um blob de blocos ou um blob de acréscimo, o Armazenamento de Blobs devolve o código de estado 400 (Pedido Incorreto).
x-ms-blob-sequence-number: <num> Opcional. Definido apenas para blobs de páginas. O número de sequência é um valor controlado pelo utilizador que pode utilizar para controlar pedidos. O valor do número de sequência tem de ser de 0 a 2^63 - 1. O valor predefinido é 0.
x-ms-access-tier Versão 2017-04-17 e posterior. Apenas para blobs de páginas numa conta de armazenamento premium. Especifica a camada a definir no blob. Para obter uma lista completa dos escalões suportados, veja Armazenamento premium de elevado desempenho e discos geridos para VMs.
x-ms-client-request-id Este cabeçalho pode ser utilizado para resolver problemas de pedidos e respostas correspondentes. O valor deste cabeçalho é igual ao valor do x-ms-client-request-id cabeçalho se estiver presente no pedido e o valor não contiver mais de 1024 carateres ASCII visíveis. Se o x-ms-client-request-id cabeçalho não estiver presente no pedido, não estará presente na resposta.

Cabeçalhos de pedido (chaves de encriptação fornecidas pelo cliente)

A partir da versão 2019-02-02, podem ser especificados os seguintes cabeçalhos no pedido para encriptar um blob com uma chave fornecida pelo cliente. A encriptação com uma chave fornecida pelo cliente (e o conjunto de cabeçalhos correspondente) é opcional.

Cabeçalho do pedido Description
x-ms-encryption-key Obrigatório. A chave de encriptação AES-256 codificada com Base64.
x-ms-encryption-key-sha256 Obrigatório. O hash SHA256 codificado com Base64 da chave de encriptação.
x-ms-encryption-algorithm: AES256 Obrigatório. Especifica o algoritmo a utilizar para encriptação. O valor deste cabeçalho tem de ser AES256.

Corpo do pedido

Para um blob de blocos, o corpo do pedido contém o conteúdo do blob.

Para um blob de páginas ou um blob de acréscimo, o corpo do pedido está vazio.

Pedido de exemplo

O exemplo seguinte mostra um pedido 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: 2015-02-21  
x-ms-date: <date>  
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  
x-ms-expiry-option: RelativeToNow
x-ms-expiry-time: 30000
Authorization: SharedKey myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g=  
Content-Length: 11  
  
Request Body:  
hello world

Este pedido de exemplo cria um blob de páginas e especifica o respetivo tamanho máximo como 1024 bytes. Para adicionar conteúdo a um blob de páginas, tem de chamar Colocar Página:

Request Syntax:  
PUT https://myaccount.blob.core.windows.net/mycontainer/mypageblob HTTP/1.1  
  
Request Headers:  
x-ms-version: 2015-02-21  
x-ms-date: <date>  
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  

Este pedido de exemplo cria um blob de acréscimo. Para adicionar conteúdo ao blob de acréscimo, tem de chamar Bloco de Acréscimo:

Request Syntax:  
PUT https://myaccount.blob.core.windows.net/mycontainer/myappendblob HTTP/1.1  
  
Request Headers:  
x-ms-version: 2015-02-21  
x-ms-date: <date>  
Content-Type: text/plain; charset=UTF-8  
x-ms-blob-type: AppendBlob  
Authorization: SharedKey myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g=  
Origin: http://contoso.com  
Vary: Origin  
Content-Length: 0  

Resposta

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

Código de estado

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

Para obter mais informações sobre códigos de estado, veja Códigos de estado e de erro.

Cabeçalhos de resposta

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

Cabeçalho de resposta Descrição
ETag Contém um valor que o cliente pode utilizar para realizar operações condicionais PUT com o cabeçalho do If-Match pedido. Se a versão do pedido for 2011-08-18 ou posterior, o valor ETag estará entre aspas.
Last-Modified A data/hora em que o blob foi modificado pela última vez. O formato de data segue RFC 1123. Para obter mais informações, veja Representar valores de data/hora em cabeçalhos.

Qualquer operação de escrita no blob (incluindo atualizações nos metadados ou propriedades do blob) altera a última hora modificada do blob.
Content-MD5 Devolvido para um blob de blocos para que o cliente possa verificar a integridade do conteúdo da mensagem. O Content-MD5 valor devolvido é calculado pelo Armazenamento de Blobs. Na versão 2012-02-12 e posterior, este cabeçalho é devolvido mesmo quando o pedido não inclui Content-MD5 nem x-ms-blob-content-md5 cabeçalhos.
x-ms-content-crc64 Devolvido para um blob de blocos para que o cliente possa verificar a integridade do conteúdo da mensagem. O x-ms-content-crc64 valor devolvido é calculado pelo Armazenamento de Blobs. Este cabeçalho é sempre devolvido a partir da versão 2019-02-02.
x-ms-request-id Identifica exclusivamente o pedido que foi feito e pode utilizá-lo para resolver o pedido. Para obter mais informações, veja Resolver problemas de operações da API.
x-ms-version Indica a versão do Armazenamento de Blobs que foi utilizada para executar o pedido. Devolvido para pedidos feitos na versão 2009-09-19 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 Devolvido se o pedido incluir um Origin cabeçalho e CORS estiver ativado com uma regra correspondente. Este cabeçalho devolve o valor do cabeçalho do pedido de origem se existir uma correspondência.
Access-Control-Expose-Headers Devolvido se o pedido incluir um Origin cabeçalho e CORS estiver ativado com uma regra correspondente. Devolve a lista de cabeçalhos de resposta que devem ser expostos ao cliente ou emissor do pedido.
Access-Control-Allow-Credentials Devolvido se o pedido incluir um Origin cabeçalho e CORS estiver ativado com uma regra correspondente que não permita todas as origens. Este cabeçalho está definido como verdadeiro.
x-ms-request-server-encrypted: true/false Versão 2015-12-11 e posterior. O valor deste cabeçalho está definido como true se os conteúdos do pedido forem encriptados com êxito com o algoritmo especificado. Caso contrário, o valor é false.
x-ms-encryption-key-sha256 Versão 2019-02-02 e posterior. Devolvido se o pedido utilizou uma chave fornecida pelo cliente para encriptação, para que o cliente possa garantir que os conteúdos do pedido são encriptados com êxito com a chave fornecida.
x-ms-encryption-scope Versão 2019-02-02 e posterior. Devolvido se o pedido utilizou um âmbito de encriptação, para que o cliente possa garantir que os conteúdos do pedido são encriptados com êxito com o âmbito de encriptação.
x-ms-version-id: <DateTime> Versão 2019-12-12 e posterior. Este cabeçalho devolve um valor opaco DateTime que identifica exclusivamente o blob. O valor deste cabeçalho indica a versão do blob e pode ser utilizado em pedidos subsequentes para aceder ao blob.

Corpo da resposta

Nenhum.

Resposta de amostra

Response Status:  
HTTP/1.1 201 Created  
  
Response Headers:  
Transfer-Encoding: chunked  
Content-MD5: sQqNsWTgdUEFt6mb5y4/5Q==  
x-ms-content-crc64: 77uWZTolTHU
Date: <date>  
ETag: "0x8CB171BA9E94B0B"  
Last-Modified: <date>  
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  
x-ms-version-id: <DateTime>  

Autorização

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

Se um pedido especificar etiquetas com o cabeçalho do x-ms-tags pedido, o autor da chamada tem de cumprir os requisitos de autorização da operação Definir Etiquetas de Blobs .

Importante

A Microsoft recomenda a utilização de Microsoft Entra ID com identidades geridas para autorizar pedidos para o Armazenamento do Azure. Microsoft Entra ID fornece segurança e facilidade de utilização superiores em comparação com a autorização de Chave Partilhada.

O Armazenamento do Azure suporta a utilização de Microsoft Entra ID para autorizar pedidos para dados de blobs. Com Microsoft Entra ID, pode utilizar o controlo de acesso baseado em funções do Azure (RBAC do Azure) para conceder permissões a um principal de segurança. O principal de segurança pode ser um utilizador, grupo, principal de serviço de aplicação ou identidade gerida do Azure. O principal de segurança é autenticado por Microsoft Entra ID para devolver um token OAuth 2.0. Em seguida, o token pode ser utilizado para autorizar um pedido contra o serviço Blob.

Para saber mais sobre a autorização através de Microsoft Entra ID, veja Autorizar o acesso a blobs com Microsoft Entra ID.

Permissões

Abaixo estão listadas as ações RBAC necessárias para que um utilizador Microsoft Entra, grupo, identidade gerida ou principal de serviço chame a Put Blob operação e a função RBAC do Azure com menos privilégios que inclua esta ação:

Para saber mais sobre como atribuir funções com o RBAC do Azure, veja Atribuir uma função do Azure para acesso a dados de blobs.

Observações

Quando cria um blob, tem de especificar se é um blob de blocos, blob de acréscimo ou blob de páginas ao especificar o valor do x-ms-blob-type cabeçalho. Após a criação de um blob, o tipo do blob não pode ser alterado a menos que seja eliminado e recriado.

A tabela seguinte descreve os tamanhos máximos permitidos de blocos e blobs, por versão de serviço:

Versão do serviço Tamanho máximo do bloco (via Put Block) Tamanho máximo do blob (via Put Block List) Tamanho máximo do blob através de uma operação de escrita única (via Put Blob)
Versão 2019-12-12 e posterior 4000 mebibytes (MiB) Aproximadamente 190,7 TiB (4.000 MiB × 50.000 blocos) 5000 MiB
Versões 2016-05-31 até 2019-07-07 100 MiB Aproximadamente 4,75 TiB (100 MiB × 50.000 blocos) 256 MiB
Versões anteriores a 2016-05-31 4 MiB Aproximadamente 195 GiB (4 MiB × 50.000 blocos) 64 MiB

Se tentar carregar um blob de blocos maior do que o tamanho máximo permitido para essa versão de serviço ou um blob de página com mais de 8 TiB, o serviço devolve o código de estado 413 (Entidade de Pedido Demasiado Grande). O Armazenamento de Blobs também devolve informações adicionais sobre o erro na resposta, incluindo o tamanho máximo permitido do blob, em bytes.

Para criar um novo blob de páginas, primeiro inicialize o blob ao chamar Put Blobe, em seguida, especifique o tamanho máximo, até 8 TiB. Quando estiver a criar um blob de páginas, não inclua conteúdo no corpo do pedido. Depois de o blob ter sido criado, chame Colocar Página para adicionar conteúdo ao blob ou para modificá-lo.

Para criar um novo blob de acréscimo, chame Put Blob para criá-lo com um comprimento de conteúdo de 0 bytes. Após a criação do blob de acréscimo, chame Bloco de Acréscimo para adicionar conteúdo ao final do mesmo.

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

Propriedades personalizadas do Blob

Um blob tem propriedades personalizadas (definidas através de cabeçalhos) que pode utilizar para armazenar valores associados a cabeçalhos HTTP padrão. Posteriormente, pode ler estes valores ao chamar Obter Propriedades do Blob ou modificá-los ao chamar Definir Propriedades do Blob. Os cabeçalhos de propriedade personalizados e o cabeçalho HTTP padrão correspondente estão listados na seguinte tabela:

Cabeçalho HTTP Cabeçalho de propriedade de blob personalizado
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 ou persistir estes valores de propriedade com o blob é a seguinte:

  • Se o cliente especificar um cabeçalho de propriedade personalizado, conforme indicado pelo x-ms-blob prefixo, este valor é 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 é armazenado na propriedade personalizada correspondente associada ao blob e é devolvido por uma chamada para Get Blob Properties. Por exemplo, se o cliente definir o Content-Type cabeçalho no pedido, esse valor é armazenado na propriedade do x-ms-blob-content-type blob.

  • Se o cliente definir o cabeçalho HTTP padrão e o cabeçalho de propriedade correspondente no mesmo pedido, o pedido PUT utiliza o valor fornecido para o cabeçalho HTTP padrão, mas o valor especificado para o cabeçalho de propriedade personalizada é mantido com o blob e devolvido pelos pedidos GET subsequentes.

Se forem fornecidas etiquetas no x-ms-tags cabeçalho, têm de ser codificadas com cadeia de consulta. As chaves de etiqueta e os valores têm de estar em conformidade com os requisitos de nomenclatura e comprimento, conforme especificado em Set Blob Tags. Além disso, o x-ms-tags cabeçalho pode conter até 2kb de etiquetas. Se forem necessárias mais etiquetas, utilize a operação Definir Etiquetas de Blobs .

Se o blob tiver uma concessão ativa, o cliente tem de especificar um ID de concessão válido no pedido para substituir o blob. Se o cliente não especificar um ID de concessão ou especificar um ID de concessão inválido, o Armazenamento de Blobs devolve o código de estado 412 (Falha na Pré-condição). Se o cliente especificar um ID de concessão, mas o blob não tiver uma concessão ativa, o Armazenamento de Blobs também devolve o código de estado 412 (Falha na Pré-condição). Se o cliente especificar um ID de concessão num blob que ainda não existe, o Armazenamento de Blobs devolve o código de estado 412 (Falha na Pré-condição) para pedidos feitos na versão 2013-08-15 e posterior. Para versões anteriores a 2013-08-15, o Armazenamento de Blobs devolve o código de estado 201 (Criado).

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

Uma Put Blob operação tem permissão de 10 minutos por MiB para concluir. Se a operação estiver a demorar mais de 10 minutos por MiB, em média, a operação excede o limite de tempo.

A substituição de um archive blob falha e substituir um hot ou cool blob herda a camada do blob antigo se não for fornecido um x-ms-access-tier cabeçalho.

ExpiryOption

Pode enviar os seguintes valores como cabeçalho x-ms-expiry-option . Este cabeçalho não é sensível a maiúsculas e minúsculas.

Opção de expiração Description
RelativeToNow Define a data de expiração relativamente à hora atual. x-ms-expiry-time tem de ser especificado como o número de milissegundos a decorrer a partir do momento atual.
Absolute x-ms-expiry-time tem de ser especificado como uma hora absoluta, no formato RFC 1123.
NeverExpire Define o blob para nunca expirar ou remove a data de expiração atual. x-ms-expiry-time não pode ser especificado.

A semântica para definir uma data de expiração num blob é a seguinte:

  • Set Expiry só pode ser definido num blob e não num diretório.
  • Set Expiry com um expiryTime no passado não é permitido.
  • ExpiryTime não pode ser especificado com um expiryOption valor de Never.

Faturação

Os pedidos de preços podem ter origem em clientes que utilizam APIs de Armazenamento de Blobs, diretamente através da API REST do Armazenamento de Blobs ou a partir de uma biblioteca de cliente do Armazenamento do Azure. Estes pedidos acumulam custos por transação. O tipo de transação afeta a forma como a conta é cobrada. Por exemplo, as transações de leitura acumulam-se numa categoria de faturação diferente das transações de escrita. A tabela seguinte mostra a categoria de faturação dos Put Blob pedidos com base no tipo de conta de armazenamento:

Operação Tipo de conta de armazenamento Categoria de faturação
Colocar o Blob Blob de bloco premium
Standard para fins gerais v2
Standard para fins gerais v1
Operações de escrita

Para saber mais sobre os preços da categoria de faturação especificada, veja Preços do Armazenamento de Blobs do Azure.

Ver também

Autorizar pedidos para o Armazenamento do Azure
Códigos de estado e de erro
Códigos de erro do serviço Blob
Definir tempos limite para operações do serviço Blob