Obter arquivo

A Get File operação lê ou baixa um arquivo do sistema, incluindo seus metadados e propriedades.

Disponibilidade do protocolo

Protocolo de compartilhamento de arquivos habilitado Disponível
SMB Sim
NFS Não

Solicitação

A solicitação Get File pode ser criada da seguinte maneira. Recomendamos que você use HTTPS.

Método URI da solicitação Versão HTTP
GET https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile HTTP/1.1

Substitua os componentes de caminho mostrados no URI de solicitação pelos seus próprios, da seguinte maneira:

Componente Demarcador Descrição
myaccount O nome da sua conta de armazenamento.
myshare O nome do seu compartilhamento de arquivo.
mydirectorypath Opcional. O caminho para o diretório.
myfile O nome do arquivo.

Para obter informações sobre restrições de nomenclatura de caminho, consulte Compartilhamentos de nome e referência, diretórios, arquivos e metadados.

Parâmetros do URI

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 Definir tempos limite para operações de Arquivos do Azure.

Cabeçalhos da solicitação

Os cabeçalhos de solicitação obrigatórios e opcionais são descritos na tabela a seguir:

Cabeçalho da solicitação Descrição
Authorization Obrigatórios. Especifica o esquema de autorização, o nome da conta e a assinatura. Para saber mais, confira Autorizar solicitações para o Armazenamento do Azure.
Date ou x-ms-date Obrigatórios. Especifica o UTC (Tempo Universal Coordenado) para a solicitação. Para saber mais, confira Autorizar solicitações para o Armazenamento do Azure.
x-ms-version Necessário para todas as solicitações autorizadas. Especifica a versão da operação a ser usada para esta solicitação. Para obter mais informações, consulte Controle de versão para os Serviços de Armazenamento do Azure.
Range Opcional. Retorna dados de arquivo somente do intervalo de bytes especificado.
x-ms-range Opcional. Retorna dados de arquivo somente do intervalo de bytes especificado. Se Range e x-ms-range forem especificados, o serviço usará o valor de x-ms-range. Se nenhum for especificado, todo o conteúdo do arquivo será retornado. Consulte Especificar o cabeçalho de intervalo para operações de Arquivos do Azure para obter mais informações.
x-ms-range-get-content-md5: true Opcional. Quando esse cabeçalho é definido true como e é especificado junto com o Range cabeçalho , o serviço retorna o hash MD5 para o intervalo, desde que o intervalo seja menor ou igual a 4 miB (mebibytes) de tamanho.

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

Se esse cabeçalho for definido true como quando o intervalo exceder 4 MiB de tamanho, o serviço retornará status código 400 (Solicitação Incorreta).
x-ms-lease-id:<ID> Opcional. Versão 2019-02-02 e posterior. Se o cabeçalho for especificado, a operação será executada somente se a concessão do arquivo estiver ativa no momento e a ID de concessão especificada na solicitação corresponder à ID de concessão do arquivo. Caso contrário, a operação falhará com status código 412 (Falha na pré-condição).
x-ms-client-request-id Opcional. Fornece um valor opaco gerado pelo cliente com um limite de caracteres kib (1 kibibyte) que é registrado nos logs quando o registro em log é configurado. É altamente recomendável que você use esse cabeçalho para correlacionar atividades do lado do cliente com solicitações recebidas pelo servidor. Para obter mais informações, consulte Monitorar Arquivos do Azure.
x-ms-file-request-intent Obrigatório se Authorization o cabeçalho especificar um token OAuth. O valor aceitável é backup. Esse cabeçalho especifica que o Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action ou Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action deve ser concedido se eles forem incluídos na política RBAC atribuída à identidade autorizada usando o Authorization cabeçalho . Disponível para a versão 2022-11-02 e posterior.
x-ms-allow-trailing-dot: { <Boolean> } Opcional. Versão 2022-11-02 e posterior. O valor booliano especifica se um ponto à direita presente na URL de solicitação deve ser cortado ou não. Para obter mais informações, consulte Nomenclatura e referência de compartilhamentos, diretórios, arquivos e metadados.

Corpo da solicitação

Nenhum.

Resposta

A resposta inclui um código de status HTTP, um conjunto de cabeçalhos de resposta e o corpo de resposta, que tem o conteúdo do arquivo.

Código de status

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

Para obter informações sobre códigos de status, consulte Códigos de status e de erro.

Cabeçalhos de resposta

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 estão em conformidade com a especificação do protocolo HTTP/1.1.

Cabeçalho de resposta Descrição
Last-Modified Retorna a data e a hora em que o arquivo foi modificado pela última vez. O formato da data segue RFC 1123. Para obter mais informações, consulte Representar valores de data/hora em cabeçalhos. Qualquer operação que modifique o arquivo ou suas propriedades atualiza a hora da última modificação.
x-ms-meta-name:value Um conjunto de pares de nome-valor associados a esse arquivo como metadados definidos pelo usuário.
Content-Length O número de bytes presentes no corpo da resposta.
Content-Type O tipo de conteúdo especificado para o arquivo. O tipo de conteúdo padrão é application/octet-stream.
Content-Range O intervalo de bytes retornado se o cliente solicitou um subconjunto do arquivo definindo o cabeçalho da solicitação Range .
ETag Contém um valor que você pode usar para executar operações condicionalmente. O valor é colocado entre aspas.
Content-MD5 Se o arquivo tiver um hash MD5 e essa solicitação tiver o objetivo de ler todo o arquivo, esse cabeçalho de resposta será retornado de modo que o cliente possa verificar a integridade do conteúdo da mensagem.

Se a solicitação for para ler um intervalo especificado e o x-ms-range-get-content-md5 estiver definido como true, a solicitação retornará um hash MD5 para o intervalo, desde que o tamanho do intervalo seja menor ou igual a 4 MiB.

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

Se x-ms-range-get-content-md5 for especificado sem o cabeçalho de intervalo, o serviço retornará status código 400 (Solicitação Incorreta).

Se x-ms-range-get-content-md5 estiver definido como true quando o intervalo exceder 4 MiB, o serviço retornará status código 400 (Solicitação Incorreta).
Content-Encoding Retorna o valor especificado para o cabeçalho da solicitação Content-Encoding .
Content-Language Retorna o valor especificado para o cabeçalho da solicitação Content-Language .
Cache-Control Será retornado se ele tiver sido especificado anteriormente para o arquivo.
Content-Disposition Retorna o valor que foi especificado para o cabeçalho x-ms-content-disposition e especifica como processar a resposta.

O Content-Disposition campo de cabeçalho de resposta transmite informações adicionais sobre como processar o conteúdo da resposta e também pode ser usado para anexar metadados adicionais. Por exemplo, se estiver definido como attachment, Content-Disposition indica que o usuário-agente não deve exibir a resposta, mas, em vez disso, deve exibir uma janela Salvar como.
x-ms-request-id Identifica exclusivamente a solicitação que foi feita e pode ser usada para solucionar problemas da solicitação. Para obter mais informações, consulte Solucionar problemas de operações de API.
x-ms-version A versão do serviço que foi usada para executar a solicitação.
Accept-Ranges: bytes Indica se o serviço oferece suporte a solicitações de conteúdo de arquivo parcial.
Date Date
x-ms-copy-completion-time:<datetime> Versão 2015-02-21 e posterior. A hora de conclusão da última tentativa de operação copiar arquivo em que esse arquivo era o arquivo de destino. Esse valor pode especificar a hora de uma tentativa de cópia concluída, cancelada o com falha. Esse cabeçalho não será exibido se uma cópia estiver pendente, se esse arquivo nunca tiver sido o destino em uma operação copiar arquivo ou se esse arquivo tiver sido modificado após uma operação de Arquivo de Cópia concluída que usou Definir Propriedades do Arquivo ou Criar Arquivo.
x-ms-copy-status-description: <error string> Versão 2015-02-21 e posterior. Aparece somente quando x-ms-copy-statusfalha ou pendente. Descreve a causa de uma falha de operação de cópia fatal ou não fatal. Esse cabeçalho não será exibido se esse arquivo nunca tiver sido o destino em uma operação copiar arquivo ou se esse arquivo tiver sido modificado após uma operação de Arquivo de Cópia concluída que usou Definir Propriedades de Arquivo ou Criar Arquivo.
x-ms-copy-id: <id> Versão 2015-02-21 e posterior. O identificador de cadeia de caracteres da última tentativa de operação copiar arquivo em que esse arquivo era o arquivo de destino. Esse cabeçalho não será exibido se o arquivo nunca tiver sido o destino em uma operação copiar arquivo ou se esse arquivo tiver sido modificado após uma operação concluída de Copiar Arquivo que usou Definir Propriedades de Arquivo ou Criar Arquivo.
x-ms-copy-progress: <bytes copied/bytes total> Versão 2015-02-21 e posterior. Contém o número de bytes que foram copiados e o total de bytes na origem na última tentativa de operação copiar arquivo em que esse arquivo era o arquivo de destino. Pode mostrar de 0 para o número de bytes copiados Content-Length . Esse cabeçalho não será exibido se esse arquivo nunca tiver sido o destino em uma operação copiar arquivo ou se esse arquivo tiver sido modificado após uma operação de Arquivo de Cópia concluída que usou Definir Propriedades de Arquivo ou Criar Arquivo.
x-ms-copy-source: url Versão 2015-02-21 e posterior. Uma URL de até 2 KB de comprimento que especifica o arquivo de origem que foi usado na última tentativa de operação copiar arquivo em que esse arquivo era o arquivo de destino. Esse cabeçalho não será exibido se esse arquivo nunca tiver sido o destino em uma operação copiar arquivo ou se esse arquivo tiver sido modificado após uma operação concluída de Copiar Arquivo que usou Definir Propriedades de Arquivo ou Criar Arquivo.
x-ms-copy-status: <pending ¦ success ¦ aborted ¦ failed> Versão 2015-02-21 e posterior. O estado da operação de cópia identificada por x-ms-copy-id, com estes valores:

- pending: a cópia está em andamento. Verifique x-ms-copy-status-description se erros intermitentes e não fatais impedem o progresso da cópia, mas não causam falhas.
- success: a cópia foi concluída com êxito.
- aborted: a cópia foi encerrada por Anular Arquivo de Cópia.
- failed: falha na cópia. Consulte x-ms-copy-status-description para obter detalhes da falha.

Esse cabeçalho não será exibido se esse arquivo nunca tiver sido o destino em uma operação copiar arquivo ou se esse arquivo tiver sido modificado após uma operação de Arquivo de Cópia concluída que usou Definir Propriedades de Arquivo ou Criar Arquivo.
x-ms-content-md5 A partir da versão 2016-05-31, se o arquivo tiver um hash MD5 e se a solicitação contiver um cabeçalho de intervalo (range ou x-ms-range), esse cabeçalho de resposta será retornado com o valor MD5 do arquivo inteiro. Esse valor pode ou não ser igual ao valor retornado no Content-MD5 cabeçalho, que é calculado do intervalo solicitado.
x-ms-server-encrypted: true/false Versão 2017-04-17 e posterior. O valor desse cabeçalho será definido true como se os dados do arquivo e os metadados do aplicativo forem completamente criptografados usando o algoritmo especificado. Se o arquivo não for criptografado ou se apenas partes dos metadados de arquivo/aplicativo forem criptografadas, o valor será definido falsecomo .
x-ms-file-permission-key A chave da permissão do arquivo.
x-ms-file-attributes Os atributos do sistema de arquivos no arquivo. Para obter mais informações, consulte a lista de atributos disponíveis.
x-ms-file-creation-time O valor de data/hora UTC que representa a propriedade de hora de criação do arquivo.
x-ms-file-last-write-time O valor de data/hora UTC que representa a última propriedade de tempo de gravação para o arquivo.
x-ms-file-change-time A data/hora UTC que representa a propriedade de tempo de alteração para o arquivo.
x-ms-file-file-id A ID do arquivo.
x-ms-file-parent-id A ID do arquivo pai do arquivo.
x-ms-lease-duration:infinite Versão 2019-02-02 e posterior. Quando um arquivo é concedido, especifica que a concessão é de duração infinita.
x-ms-lease-state: <available, leased, broken> Versão 2019-02-02 e posterior. Quando um arquivo é concedido, especifica o estado de concessão do arquivo.
x-ms-lease-status: <locked, unlocked> Versão 2019-02-02 e posterior. Quando um arquivo é concedido, especifica o status de concessão do arquivo.
x-ms-client-request-id Pode ser usado para solucionar problemas de solicitações e suas respostas correspondentes. O valor desse cabeçalho será igual ao valor do x-ms-client-request-id cabeçalho se ele estiver presente na solicitação e o valor não contiver mais de 1.024 caracteres ASCII visíveis. Se o x-ms-client-request-id cabeçalho não estiver presente na solicitação, ele não estará presente na resposta.

Corpo da resposta

O corpo da resposta contém o conteúdo do arquivo.

Resposta de exemplo

Response Status:
HTTP/1.1 200 OK

Response Headers:
x-ms-type: File
x-ms-meta-m1: v1
x-ms-meta-m2: v2
Content-Length: 11
Content-Type: text/plain; charset=UTF-8
Date: <date>
ETag: "0x8CB171DBEAD6A6B"
Last-Modified: <date>
x-ms-version: 2019-02-02
Server: Windows-Azure-File/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>
x-ms-lease-duration: infinite
x-ms-lease-state: leased
x-ms-lease-status: locked

Autorização

Somente o proprietário da conta pode chamar essa operação.

Comentários

Chamar Get File em um intervalo que ainda não tem conteúdo ou que foi desmarcado retorna 0 para esses bytes.

Se você chamar Get File sem intervalo especificado, o serviço retornará o intervalo de bytes até o valor especificado para o x-ms-content-length cabeçalho. Para todos os intervalos que não têm conteúdo, o serviço retorna 0 para esses bytes.

Uma Get File operação tem permissão de dois minutos por MiB para ser concluída. As operações que levam mais de dois minutos por MiB, em média, atingirão o tempo limite.

Confira também

Operações em Arquivos do Azure