Obter Blob
A Get Blob
operação lê ou transfere um blob do sistema, incluindo os respetivos metadados e propriedades. Também pode ligar Get Blob
para ler um instantâneo.
Pedir
Pode construir o pedido da Get Blob
seguinte forma. Recomendamos que utilize HTTPS. Substitua myaccount pelo nome da sua conta de armazenamento:
URI do pedido 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
Quando estiver a fazer um pedido contra o serviço de armazenamento emulado, especifique o nome de anfitrião do emulador e Armazenamento de Blobs do Azure porta como 127.0.0.1:10000
, seguido do nome da conta de armazenamento emulada:
URI do pedido de método GET | Versão HTTP |
---|---|
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob |
HTTP/1.0 HTTP/1.1 |
Para obter mais informações, veja Utilizar o Emulador de Armazenamento do Azure para desenvolvimento e teste.
Parâmetros URI
Os seguintes parâmetros adicionais podem ser especificados no URI do pedido:
Parâmetro | Description |
---|---|
snapshot |
Opcional. O parâmetro instantâneo é um valor opaco DateTime que, quando está presente, especifica o instantâneo do blob a obter. Para obter mais informações sobre como trabalhar com instantâneos de blobs, veja 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 obter. |
timeout |
Opcional. O timeout parâmetro é expresso em segundos. Para obter mais informações, veja Definir tempos limite para operações de Armazenamento de Blobs. |
Cabeçalhos do pedido
A tabela seguinte descreve os cabeçalhos de pedido obrigatórios e opcionais.
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. Opcional para pedidos anónimos. Especifica a versão da operação a utilizar para este pedido. Se este cabeçalho for omitido para um pedido anónimo, o serviço executa o pedido com a versão 2009-09-19. Para obter mais informações, veja Controlo de versões dos serviços de Armazenamento do Azure. |
Range |
Opcional. Devolva os bytes do blob apenas no intervalo especificado. |
x-ms-range |
Opcional. Devolva os bytes do blob apenas no intervalo especificado. Se ambos e Range x-ms-range forem especificados, o serviço utiliza o valor de x-ms-range . Se nenhum dos intervalos for especificado, será devolvido todo o conteúdo do blob. Para obter mais informações, veja Especificar o cabeçalho do intervalo para operações de Armazenamento de Blobs. |
x-ms-lease-id: <ID> |
Opcional. Se este cabeçalho for especificado, a operação só será efetuada se ambas as condições seguintes forem cumpridas: - A concessão do blob está atualmente ativa. - O ID de concessão especificado no pedido corresponde ao ID de concessão do blob. Se este cabeçalho for especificado, mas qualquer uma destas condições não for cumprida, o pedido falhará e a operação falhará com o Get Blob código de estado 412 (Falha na Pré-condição). |
x-ms-range-get-content-md5: true |
Opcional. Quando este cabeçalho está definido como true e especificado em conjunto com o Range cabeçalho, o serviço devolve o hash MD5 para o intervalo, desde que o intervalo seja menor ou igual a 4 mebibytes (MiB) de tamanho.Se o cabeçalho for especificado sem o Range cabeçalho, o serviço devolve o código de estado 400 (Pedido Incorreto).Se o cabeçalho estiver definido como true quando o intervalo exceder 4 MiB, o serviço devolve o código de estado 400 (Pedido Incorreto). |
x-ms-range-get-content-crc64: true |
Opcional. Quando este cabeçalho está definido como true e especificado juntamente com o Range cabeçalho, o serviço devolve o hash CRC64 para o intervalo, desde que o intervalo seja inferior ou igual a 4 MiB de tamanho.Se o cabeçalho for especificado sem o Range cabeçalho, o serviço devolve o código de estado 400 (Pedido Incorreto).Se o cabeçalho estiver definido como true quando o intervalo exceder 4 MiB, o serviço devolve o código de estado 400 (Pedido Incorreto).Se os x-ms-range-get-content-md5 cabeçalhos e x-ms-range-get-content-crc64 estiverem presentes, o pedido falha com um 400 (Pedido Incorreto).Este cabeçalho é suportado nas versões 2019-02-02 e posterior. |
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 entre origens (CORS) na resposta. |
x-ms-upn |
Opcional. Versão 2023-11-03 e posterior. Válido para contas com o espaço de nomes hierárquico ativado. Se for verdade, os valores de identidade de utilizador que são devolvidos nos x-ms-owner x-ms-group cabeçalhos de resposta e x-ms-acl serão transformados de Microsoft Entra IDs de objeto para Nomes principais de utilizador. Se o valor for falso, serão devolvidos como Microsoft Entra IDs de objeto. O valor predefinido é falso. Tenha em atenção que os IDs de objetos de grupo e de aplicação não são traduzidos porque 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 carateres de 1 kibibyte (KiB), que é registado nos registos de análise quando o registo de análise de armazenamento está ativado. Recomendamos vivamente que utilize este cabeçalho quando estiver a correlacionar atividades do lado do cliente com pedidos recebidos pelo servidor. Para obter mais informações, veja Acerca do registo de Análise de Armazenamento do Azure. |
Esta operação também suporta a utilização de cabeçalhos condicionais para ler o blob apenas se for cumprida uma condição especificada. Para obter mais informações, veja Especificar cabeçalhos condicionais para operações de Armazenamento de Blobs.
Cabeçalhos de pedido (chaves de encriptação fornecidas pelo cliente)
A partir da versão 2019-02-02, pode especificar os seguintes cabeçalhos no pedido para ler um blob encriptado com uma chave fornecida pelo cliente. A encriptação com uma chave fornecida pelo cliente (e o conjunto de cabeçalhos correspondente) é opcional. Se um blob tiver sido encriptado anteriormente com uma chave fornecida pelo cliente, tem de incluir estes cabeçalhos no pedido para concluir a operação de leitura com êxito.
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 |
Opcional. 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
Nenhum.
Resposta
A resposta inclui um código de estado HTTP, um conjunto de cabeçalhos de resposta e o corpo da resposta, que contém os conteúdos do blob.
Código de estado
Uma operação bem-sucedida para ler o blob completo devolve o código de estado 200 (OK).
Uma operação bem-sucedida para ler um intervalo especificado devolve o código de estado 206 (Conteúdo Parcial).
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.
Syntax | Descrição |
---|---|
Last-Modified |
A data/hora em que o blob foi modificado pela última vez. O formato de data segue RFC 1123. Qualquer operação que modifique o blob, incluindo uma atualização dos metadados ou propriedades do blob, altera 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 de data segue RFC 1123. |
x-ms-meta-name:value |
Um conjunto de pares nome-valor associado a este blob como metadados definidos pelo utilizador. |
x-ms-tag-count |
Versão 2019-12-12 e posterior. Se o blob tiver etiquetas, este cabeçalho devolve o número de etiquetas armazenadas no blob. O cabeçalho não é devolvido se não existirem etiquetas 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 predefinido é application/octet-stream . |
Content-Range |
Indica o intervalo de bytes devolvido no caso de o cliente ter pedido um subconjunto do blob ao definir o cabeçalho do Range pedido. |
ETag |
Contém um valor que pode utilizar para realizar operações condicionalmente. Para obter mais informações, veja Especificar cabeçalhos condicionais para operações de Armazenamento de Blobs. Se a versão do pedido for 2011-08-18 ou posterior, o valor ETag estará entre aspas. |
Content-MD5 |
Se o blob tiver um hash MD5 e esta Get Blob operação for para ler o blob completo, este cabeçalho de resposta é devolvido para 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 hash MD5 de um blob de blocos mesmo quando o Put Blob pedido não inclui um cabeçalho MD5.Se o pedido for para ler um intervalo especificado e o x-ms-range-get-content-md5 estiver definido como true , o pedido devolve um hash MD5 para o intervalo, desde que o tamanho do intervalo seja menor ou igual a 4 MiB.Se nenhum destes conjuntos de condições for true , não será devolvido nenhum valor para o Content-MD5 cabeçalho.Se x-ms-range-get-content-md5 for especificado sem o Range cabeçalho, o serviço devolve o código de estado 400 (Pedido Incorreto).Se x-ms-range-get-content-md5 estiver definido como true quando o intervalo exceder 4 MiB, o serviço devolve o código de estado 400 (Pedido Incorreto). |
x-ms-content-crc64 |
Se o pedido for ler um intervalo especificado e estiver x-ms-range-get-content-crc64 definido como true , o pedido devolve 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 Range cabeçalho, o serviço devolve o código de estado 400 (Pedido Incorreto).Se x-ms-range-get-content-crc64 estiver definido como true quando o intervalo exceder 4 MiB, o serviço devolve o código de estado 400 (Pedido Incorreto). |
Content-Encoding |
Devolve o valor especificado para o cabeçalho do Content-Encoding pedido. |
Content-Language |
Devolve o valor especificado para o cabeçalho do Content-Language pedido. |
Cache-Control |
Devolvido se o cabeçalho tiver sido especificado anteriormente para o blob. |
Content-Disposition |
Devolvido para pedidos na versão 2013-08-15 e posterior. Este cabeçalho devolve o valor especificado para o x-ms-blob-content-disposition cabeçalho.O Content-Disposition campo de cabeçalho de resposta transmite informações adicionais sobre como processar o payload de resposta e pode ser utilizado 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, mostra uma caixa de diálogo Guardar Como com um nome de ficheiro diferente do nome de blob especificado. |
x-ms-blob-sequence-number |
O número de sequência atual de um blob de páginas. Este cabeçalho não é devolvido para blobs de blocos ou blobs de acréscimo. |
x-ms-blob-type: <BlockBlob | PageBlob | AppendBlob> |
Devolve o tipo do blob. |
x-ms-copy-completion-time: <datetime> |
Versão 2012-02-12 e posterior. A hora de conclusão da última operação tentada Copy Blob em que este blob era o blob de destino. Este valor pode especificar a hora de uma tentativa de cópia concluída, abortada ou falhada. Este cabeçalho não será apresentado se uma cópia estiver pendente, se este blob nunca tiver sido o destino numa Copy Blob operação ou se este blob tiver sido modificado após uma operação concluída que utilizou Copy Blob Set Blob Properties , Put Blob ou Put Block List . |
x-ms-copy-status-description: <error string> |
Versão 2012-02-12 e posterior. Aparece apenas 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. Este cabeçalho não é apresentado se este blob nunca tiver sido o destino numa Copy Blob operação ou se este blob tiver sido modificado após uma operação concluída que utilizou Copy Blob Set Blob Properties , Put Blob ou Put Block List . |
x-ms-copy-id: <id> |
Versão 2012-02-12 e posterior. Um identificador de cadeia para a última operação tentada Copy Blob em que este blob era o blob de destino. Este cabeçalho não é apresentado se este blob nunca tiver sido o destino numa Copy Blob operação ou se este blob tiver sido modificado após uma operação concluída que utilizou Copy Blob Set Blob Properties , Put Blob ou 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 operação tentada Copy Blob em que este blob foi o blob de destino. Pode mostrar de 0 a Content-Length bytes copiados. Este cabeçalho não é apresentado se este blob nunca tiver sido o destino numa Copy Blob operação ou se este blob tiver sido modificado após uma operação concluída que utilizou Copy Blob Set Blob Properties , Put Blob ou Put Block List . |
x-ms-copy-source: url |
Versão 2012-02-12 e posterior. Um URL com até 2 KiB de comprimento que especifica o blob ou ficheiro de origem utilizado na última operação tentada Copy Blob em que este blob era o blob de destino. Este cabeçalho não é apresentado se este blob nunca tiver sido o destino numa Copy Blob operação ou se este blob tiver sido modificado após uma operação concluída que utilizou Copy Blob Set Blob Properties , Put Blob ou Put Block List . O URL devolvido neste cabeçalho contém quaisquer parâmetros de pedido utilizados na operação de cópia no blob de origem, incluindo o token de assinatura de acesso partilhado (SAS) que foi utilizado para aceder ao 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 curso. Verifique x-ms-copy-status-description se existem erros intermitentes e não fatais no progresso lento da cópia, mas não causam falhas.- aborted : a cópia foi terminada por Abort Copy Blob .- failed : A cópia falhou. Veja x-ms-copy-status-description para obter detalhes da falha.Este cabeçalho não é apresentado se este blob nunca tiver sido o destino de uma Copy Blob operação ou se este blob tiver sido modificado após uma operação concluída que utilizou Copy Blob Set Blob Properties , Put Blob ou 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 é de 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 estado atual da concessão do blob. |
x-ms-request-id |
Identifica exclusivamente o pedido que foi feito e pode ser utilizado 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. Incluído para pedidos efetuados com a versão 2009-09-19 e posterior. Este cabeçalho também é devolvido para pedidos anónimos sem uma versão especificada se o contentor tiver sido marcado para acesso público com a versão 2009-09-19 do Armazenamento de Blobs. |
Accept-Ranges: bytes |
Indica que o serviço suporta pedidos de conteúdo de blobs parciais. Incluído para pedidos efetuados com 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 |
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 em caso de 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 serão expostos ao cliente ou emissor do pedido. |
Vary |
Devolvido com o valor do Origin cabeçalho quando as regras CORS são especificadas. Veja Suporte do CORS para os serviços de Armazenamento do Azure para obter detalhes. |
Access-Control-Allow-Credentials |
Devolvido se o pedido incluir um Origin cabeçalho e CORS estiver ativado com uma regra correspondente que não permite todas as origens. Este cabeçalho será definido como true . |
x-ms-blob-committed-block-count |
O número de blocos consolidados presentes no blob. Este cabeçalho é devolvido apenas para blobs de acréscimo. |
x-ms-server-encrypted: true/false |
Versão 2015-12-11 e posterior. O valor deste cabeçalho é definido como true se os dados do blob e os metadados da aplicação estiverem completamente encriptados com o algoritmo especificado. Caso contrário, o valor é definido como false (quando o blob não está encriptado ou se apenas partes dos metadados do blob ou da aplicação estiverem encriptadas). |
x-ms-encryption-key-sha256 |
Versão 2019-02-02 e posterior. Este cabeçalho é devolvido se o blob for encriptado 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 encriptação estiver definido, devolverá o valor definido. Válido apenas quando o Espaço de Nomes Hierárquico está ativado para a conta. |
x-ms-encryption-scope |
Versão 2019-02-02 e posterior. Este cabeçalho é devolvido se o blob for encriptado com um âmbito de encriptação. |
x-ms-blob-content-md5 |
Versão 2016-05-31 e posterior. Se o blob tiver um hash MD5 e se o pedido contiver um cabeçalho de intervalo (Intervalo ou intervalo de x-ms), este cabeçalho de resposta é devolvido com o valor MD5 de todo o blob. Este valor pode ou não ser igual ao valor devolvido no cabeçalho Content-MD5, com este último calculado a partir do intervalo pedido. |
x-ms-client-request-id |
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, este cabeçalho não está presente na resposta. |
x-ms-last-access-time |
Versão 2020-02-10 e posterior. Indica a última vez que os dados do blob foram acedidos com base na última política de controlo da hora de acesso da conta de armazenamento. O cabeçalho não é devolvido se a conta de armazenamento não tiver uma política de controlo da hora do último acesso ou se a política estiver desativada. Para obter informações sobre como definir a última política de controlo da hora de acesso da conta de armazenamento, veja API do Serviço blob. |
x-ms-blob-sealed |
Versão 2019-12-12 e posterior. Devolvido apenas para blobs de acréscimo. Se o blob de acréscimo tiver sido selado, o valor será true . Para obter mais informações, veja Acrescentar Selo de Blobs |
x-ms-immutability-policy-until-date |
Versão 2020-06-12 e posterior. Especifica a retenção até à data definida no blob. Esta é a data até à qual o blob pode ser protegido contra modificação ou eliminação. Devolvido apenas se for definida uma política de imutabilidade no blob. O valor deste cabeçalho está no formato RFC1123. |
x-ms-immutability-policy-mode: unlocked/locked |
Versão 2020-06-12 e posterior. Devolvido se for definida uma política de imutabilidade no blob. Os valores são unlocked e locked .
unlocked indica que o utilizador pode alterar a política ao aumentar ou diminuir a retenção até à data.
locked indica que estas ações são proibidas. |
x-ms-legal-hold: true/false |
Versão 2020-06-12 e posterior. Este cabeçalho não é devolvido se não existir nenhuma retenção legal no blob. O valor deste cabeçalho é definido como true se o blob contiver uma retenção legal e o respetivo valor for true . Caso contrário, o valor é definido como false se o blob contiver uma retenção legal e o respetivo valor for false . |
x-ms-owner |
Versão 2020-06-12 e posterior, apenas para contas com espaço de nomes hierárquico ativado. Devolve o proprietário-utilizador do ficheiro ou diretório. |
x-ms-group |
Versão 2020-06-12 e posterior, apenas para contas com espaço de nomes hierárquico ativado. Devolve o grupo proprietário do ficheiro ou diretório. |
x-ms-permissions |
Versão 2020-06-12 e posterior, apenas para contas com espaço de nomes hierárquico ativado. Devolve o conjunto de permissões para utilizador, grupo e outro no ficheiro ou diretório. Cada permissão individual está no [r,w,x,-]{3} formato . |
x-ms-acl |
Versão 2023-11-03 e posterior. Apenas para contas com espaço de nomes hierárquico ativado. Devolve a lista combinada de acesso e lista de controlo de acesso predefinida que estão definidas para utilizador, grupo e outro no ficheiro ou diretório. Cada entrada de controlo de acesso (ACE) consiste num âmbito, um tipo, um identificador de utilizador ou grupo e permissões no formato [scope]:[type]:[id]:[permissions] . O default âmbito indica que o ACE pertence à ACL predefinida de um diretório; caso contrário, o âmbito é implícito e o 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, apenas para contas com espaço de nomes hierárquico ativado. Devolve o tipo de recurso para o caminho, que pode ser file ou directory . |
Corpo da resposta
O corpo da resposta contém o conteúdo do blob.
Resposta de amostra
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. Pode autorizar a Get Blob
operação conforme descrito abaixo.
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 superior e facilidade de utilização 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 a 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 Get Blob
operação e a função RBAC do Azure com menos privilégios que inclua esta ação:
- Ação RBAC do Azure:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
- Função incorporada com menos privilégios:Leitor deDados 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
Para um blob de páginas, uma Get Blob
operação através de um intervalo de páginas que ainda não têm conteúdo ou que foram desmarcadas devolve zeros para esses bytes.
Se chamar Get Blob
um blob de página sem intervalo especificado, o serviço devolve o intervalo de páginas até ao valor especificado para o x-ms-blob-content-length
cabeçalho. Para quaisquer páginas que não tenham conteúdo, o serviço devolve zeros para esses bytes.
Para um blob de acréscimo, a Get Blob
operação devolve o x-ms-blob-committed-block-count
cabeçalho. Este cabeçalho indica o número de blocos consolidados no blob. O x-ms-blob-committed-block-count
cabeçalho não é devolvido para blobs de blocos ou blobs de página.
É Get Blob
permitida a conclusão de uma operação de dois minutos por MiB. Se a operação estiver a demorar mais de dois minutos por MiB, em média, a operação excederá o tempo limite.
O x-ms-version
cabeçalho é necessário para obter um blob que pertence a um contentor privado. Se o blob pertencer a um contentor disponível para acesso público total ou parcial, qualquer cliente pode lê-lo sem especificar uma versão; a versão do serviço não é necessária para obter um blob que pertence a um contentor público. Para obter mais informações, consulte Restringir o acesso a contentores e blobs.
Uma Get Blob
operação num blob de bloco arquivado falhará.
Operações de cópia
Para determinar se uma Copy Blob
operação foi concluída, primeiro verifique se o x-ms-copy-id
valor do cabeçalho do blob de destino corresponde ao ID de cópia fornecido pela chamada original para Copy Blob
. Uma correspondência garante que outra aplicação não abortou a cópia e iniciou uma nova Copy Blob
operação. Em seguida, procure o x-ms-copy-status: success
cabeçalho. No entanto, tenha em atenção que todas as operações de escrita num blob exceto Lease
, Put Page
e Put Block
as operações removem todas as x-ms-copy-*
propriedades do blob. Estas propriedades também não são copiadas por Copy Blob
operações que utilizam versões de Armazenamento de Blobs anteriores a 2012-02-12.
Aviso
O URL devolvido no x-ms-copy-source
cabeçalho contém quaisquer parâmetros de pedido utilizados na operação de cópia no blob de origem. Se utilizar um token de SAS para aceder ao blob de origem, esse token de SAS será apresentado 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 Copy Blob
falha.
Os três campos de cada x-ms-copy-status-description
valor estão descritos na tabela seguinte:
Componente | Descrição |
---|---|
Código de estado de HTTP | Um número inteiro padrão de 3 dígitos que especifica a falha. |
Código de erro | Uma palavra-chave que descreve o erro, que é fornecido pelo Azure no <elemento ErrorCode> . Se não for apresentado nenhum <elemento ErrorCode> , é utilizada uma palavra-chave que contém texto de erro padrão associado ao código de estado HTTP de 3 dígitos na especificação HTTP. Veja 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
dos cenários de falha comuns são descritos na tabela seguinte:
Importante
As descrições de erro nesta tabela podem ser alteradas sem aviso prévio, mesmo sem uma alteração de versão, pelo que podem não corresponder exatamente ao seu texto.
Scenario | valor x-ms-copy-status | valor x-ms-copy-status-description |
---|---|---|
A operação de cópia foi concluída com êxito. | exito | vazio |
O utilizador abortou a operação de cópia antes de ser concluída. | abortado | vazio |
Ocorreu uma falha ao ler a partir do blob de origem durante uma operação de cópia, mas a operação será repetida. | pendente | 502 BadGateway "Detetou um erro de repetição ao ler a origem. Tentará novamente. Hora da falha: <hora>" |
Ocorreu uma falha ao escrever no blob de destino de uma operação de cópia, mas a operação será repetida novamente. | pendente | 500 InternalServerError "Foi encontrado um erro retráctil. Tentará novamente. Hora da falha: <hora>" |
Ocorreu uma falha irrecuperável ao ler a partir do blob de origem de uma operação de cópia. | falhou | 404 ResourceNotFound "A cópia falhou ao ler a origem". Nota: Quando o serviço comunica este erro subjacente, este regressa ResourceNotFound no ErrorCode elemento. Se nenhum ErrorCode elemento aparecer na resposta, é apresentada uma representação de cadeia padrão do estado HTTP, como NotFound , . |
O período de tempo limite que limita todas as operações de cópia decorrido. (Atualmente, o período de tempo limite é de 2 semanas.) | falhou | 500 OperationCancelled "A cópia excedeu o tempo máximo permitido". |
A operação de cópia falhou com demasiada frequência ao ler a partir da origem e não cumpriu um rácio mínimo de tentativas para êxitos. (Este tempo limite impede a repetição de uma origem muito fraca ao longo de duas semanas antes de falhar). | falhou | 500 OperationCancelled "A cópia falhou ao ler a origem". |
x-ms-last-access-time
monitoriza a hora em que os dados do blob foram acedidos com base na política de controlo da hora de acesso da última conta de armazenamento. O acesso aos metadados de um blob não altera a hora de último acesso.
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 Get Blob
pedidos com base no tipo de conta de armazenamento:
Operação | Tipo de conta de armazenamento | Categoria de faturação |
---|---|---|
Obter Blob | Blob de bloco premium Standard para fins gerais v2 Standard para fins gerais v1 |
Operações de leitura |
Para saber mais sobre os preços da categoria de faturação especificada, veja Armazenamento de Blobs do Azure Preços.
Ver também
Autorizar pedidos para o Armazenamento do Azure
Códigos de estado e de erro
Códigos de erro do Armazenamento de Blobs
Definir tempos limite para operações de Armazenamento de Blobs