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 Blob
o . 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 , Cold e 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 unlocked o , os utilizadores podem alterar a política ao aumentar ou diminuir a data de retenção até. Com locked o , 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-option com . 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:
-
Ação RBAC do Azure:
- Create novo blob de blocos: Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action
- Create blob de blocos novo ou substituir existente: Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
- Função incorporada com menos privilégios:Contribuidor de Dados de Blobs de Armazenamento
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 Blob
e, 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 oContent-Type
cabeçalho no pedido, esse valor é armazenado na propriedade dox-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 umexpiryTime
no passado não é permitido. -
ExpiryTime
não pode ser especificado com umexpiryOption
valor deNever
.
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