Partilhar via


Criar ficheiro

A operação Create File cria um novo arquivo ou substitui um arquivo. Quando você chama Create File, você apenas inicializa o arquivo. Para adicionar conteúdo a um arquivo, chame a operação Put Range.

Disponibilidade do protocolo

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

Solicitar

Você pode construir uma solicitação de Create File fazendo o seguinte. Recomendamos que você use HTTPS.

Método Solicitar URI Versão HTTP
PUT https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile HTTP/1.1

Substitua os componentes de caminho mostrados no URI de solicitação pelo seu, conforme descrito na tabela a seguir:

Componente Caminho Descrição
myaccount O nome da sua conta de armazenamento.
myshare O nome do seu compartilhamento de arquivos.
mydirectorypath Opcional. O caminho para o diretório onde o arquivo deve ser criado. Se o caminho do diretório for omitido, o arquivo será criado dentro do compartilhamento especificado.

Se o diretório for especificado, ele já deve existir dentro do compartilhamento antes que você possa criar o arquivo.
myfile O nome do arquivo a ser criado.

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 de URI

Você pode especificar os seguintes parâmetros adicionais 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 serviço de arquivo.

Cabeçalhos de 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 Necessário. Especifica o esquema de autorização, o nome da conta e a assinatura. Para obter mais informações, consulte Autorizar solicitações para o Armazenamento do Azure.
Date ou x-ms-date Necessário. Especifica a hora UTC (Tempo Universal Coordenado) para a solicitação. Para obter mais informações, consulte Autorizar solicitações para o Armazenamento do Azure.
x-ms-version Obrigatório para todos os pedidos autorizados. Especifica a versão da operação a ser usada para essa solicitação. Para obter mais informações, consulte controle de versão para os serviços de Armazenamento do Azure.
Content-Length Opcional. Deve ser zero se presente.
x-ms-content-length: byte value Necessário. Este cabeçalho especifica o tamanho máximo do ficheiro, até 4 tebibytes (TiB).
Content-Type ou x-ms-content-type Opcional. O tipo de conteúdo MIME do arquivo. O tipo padrão é application/octet-stream.
Content-Encoding ou x-ms-content-encoding Opcional. Especifica quais codificações de conteúdo foram aplicadas ao arquivo. Esse valor é retornado ao cliente quando a operação obter de arquivo é executada no recurso de arquivo e você pode usá-lo para decodificar o conteúdo do arquivo.
Content-Language ou x-ms-content-language Opcional. Especifica as linguagens naturais que são usadas por este recurso.
Cache-Control ou x-ms-cache-control Opcional. O Azure Files armazena esse valor, mas não o usa ou modifica.
x-ms-content-md5 Opcional. Define o hash MD5 do arquivo.
x-ms-content-disposition Opcional. Define o cabeçalho Content-Disposition do arquivo.
x-ms-type: file Necessário. Defina este cabeçalho como file.
x-ms-meta-name:value Opcional. Pares nome-valor associados ao arquivo como metadados. Os nomes de metadados devem aderir às regras de nomenclatura para identificadores C#.

Observação: Os metadados de arquivo especificados por meio dos Arquivos do Azure não podem ser acessados a partir de um cliente SMB (Server Message Block).
x-ms-file-permission: { inherit ¦ <SDDL> ¦ <binary> } Na versão 2019-02-02 a 2021-04-10, este cabeçalho é necessário se x-ms-file-permission-key não for especificado. A partir da versão 2021-06-08, ambos os cabeçalhos são opcionais. Essa permissão é o descritor de segurança para o arquivo especificado no Security Descriptor Definition Language (SDDL) ou (versão 2024-11-04 ou posterior) no formato de descritor de segurança binário codificado em base64. Você pode especificar qual formato usar com o cabeçalho x-ms-file-permission-format. Você pode usar esse cabeçalho se o tamanho das permissões for 8 kibibytes (KiB) ou menos. Caso contrário, você pode usar x-ms-file-permission-key. Se você especificar o cabeçalho, ele deverá ter um proprietário, grupo e lista de controle de acesso discricionário (DACL). Você pode passar um valor de inherit para herdar do diretório pai.
x-ms-file-permission-format: { sddl ¦ binary } Opcional. Versão 2024-11-04 ou posterior. Especifica se o valor passado em x-ms-file-permission está em SDDL ou em formato binário. Se x-ms-file-permission-key estiver definido como inherit, este cabeçalho não deve ser definido. Se x-ms-file-permission-key estiver definido como qualquer outro valor que não inherit, e se esse cabeçalho não estiver definido, o valor padrão de sddl será usado.
x-ms-file-permission-key: <PermissionKey> Na versão 2019-02-02 a 2021-04-10, este cabeçalho é necessário se x-ms-file-permission não for especificado. A partir da versão 2021-06-08, ambos os cabeçalhos são opcionais. Se nenhum dos cabeçalhos for especificado, o valor padrão de inherit será usado para o cabeçalho x-ms-file-permission.

Você pode criar a chave chamando a API Create Permission.
x-ms-file-attributes Necessário: versão 2019-02-02 até 2021-04-10. Opcional: versão 2021-06-08 e posterior. Este cabeçalho contém os atributos do sistema de arquivos a serem definidos no arquivo. Para obter mais informações, consulte a lista de atributos disponíveis. O valor padrão é None.
x-ms-file-creation-time: { now ¦ <DateTime> } Necessário: versão 2019-02-02 até 2021-04-10. Opcional: versão 2021-06-08 e posterior. A propriedade de tempo de criação UTC (Tempo Universal Coordenado) para o arquivo. Pode ser utilizado um valor de now para indicar a hora do pedido. O valor padrão é now.
x-ms-file-last-write-time: { now ¦ <DateTime> } Necessário: versão 2019-02-02 até 2021-04-10. Opcional: versão 2021-06-08 e posterior. A última propriedade de gravação do Tempo Universal Coordenado (UTC) para o arquivo. Você pode usar um valor de now para indicar a hora da solicitação. O valor padrão é now.
x-ms-lease-id: <ID> Obrigatório se o arquivo tiver uma concessão ativa. Disponível para a versão 2019-02-02 e posterior.
x-ms-client-request-id Opcional. Fornece um valor opaco gerado pelo cliente com um limite de caracteres de 1 kibibyte (KiB) que é registrado nos logs quando o log é configurado. É altamente recomendável que você use esse cabeçalho para correlacionar atividades do lado do cliente com solicitações que o servidor recebe. Para obter mais informações, consulte Monitorar arquivos do Azure.
x-ms-file-change-time: { now ¦ <DateTime> } Opcional. Versão 2021-06-08 e posterior. A propriedade de tempo de alteração do Tempo Universal Coordenado (UTC) para o arquivo, no formato ISO 8601. Você pode usar um valor de now para indicar a hora da solicitação. O valor padrão é now.
x-ms-file-request-intent Obrigatório se Authorization cabeçalho especificar um token OAuth. O valor aceitável é backup. Este cabeçalho especifica que os Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action ou Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action devem ser concedidos se forem incluídos na política RBAC atribuída à identidade autorizada usando o cabeçalho Authorization. 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 booleano especifica se um ponto à direita presente na url da solicitação deve ser cortado ou não. Para obter mais informações, consulte Nomeando e referenciando compartilhamentos, diretórios, arquivos e metadados.

Corpo do pedido

Nenhuma.

Pedido de amostra

Request Syntax:  
PUT https://myaccount.file.core.windows.net/myshare/myfile HTTP/1.1  
  
Request Headers:  
x-ms-version: 2020-02-10
x-ms-date: Mon, 27 Jan 2014 22:41:55 GMT  
Content-Type: text/plain; charset=UTF-8  
x-ms-content-length: 1024  
Authorization: SharedKey myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g=  
  

Resposta

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

Código de status

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

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 descritos na tabela 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 da resposta Descrição
ETag O ETag contém um valor que representa a versão do arquivo. O valor está entre aspas.
Last-Modified Retorna a data e a hora em que o arquivo foi modificado pela última vez. O formato de data segue o RFC 1123. Para obter mais informações, consulte Representar valores de data/hora em cabeçalhos.

Qualquer operação que modifique o diretório ou suas propriedades atualiza a hora da última modificação. As operações em arquivos não afetam a hora da última modificação do diretório.
x-ms-request-id Identifica exclusivamente a solicitação que foi feita e pode ser usada para solucionar a solicitação. Para obter mais informações, consulte Solucionar problemas de operações de API
x-ms-version Indica a versão dos Arquivos do Azure usada para executar a solicitação.
Date Um valor de data/hora UTC gerado pelo serviço, que indica a hora em que a resposta foi iniciada.
x-ms-request-server-encrypted: true/false Versão 2017-04-17 e posterior. O valor desse cabeçalho é definido como true se você tiver criptografado com êxito o conteúdo da solicitação usando o algoritmo especificado. Se a criptografia não for bem-sucedida, o valor será false.
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 tempo de criação para o 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 O valor de data/hora UTC que representa a propriedade change time para o arquivo.
x-ms-file-file-id O ID do arquivo do arquivo.
x-ms-file-parent-id A ID do arquivo pai do arquivo.
x-ms-client-request-id Usado para solucionar problemas de solicitações e suas respostas correspondentes. O valor desse cabeçalho é igual ao valor do cabeçalho x-ms-client-request-id se ele estiver presente na solicitação e o valor não contiver mais de 1.024 caracteres ASCII visíveis. Se o cabeçalho x-ms-client-request-id não estiver presente na solicitação, ele não estará presente na resposta.

Corpo de resposta

Nenhuma.

Resposta da amostra

Response Status:  
HTTP/1.1 201 Created  
  
Response Headers:  
Transfer-Encoding: chunked  
Date: Mon, 27 Jan 2014 23:00:12 GMT  
ETag: "0x8CB14C3E29B7E82"  
Last-Modified: Mon, 27 Jan 2014 23:00:06 GMT  
x-ms-version: 2014-02-14  
Server: Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0  

Autorização

Apenas o proprietário da conta pode chamar esta operação.

Atributos do sistema de arquivos

Atributo Atributo de arquivo Win32 Definição
Somente leitura FILE_ATTRIBUTE_READONLY Um arquivo que é somente leitura. Os aplicativos podem ler o arquivo, mas não podem gravá-lo ou excluí-lo.
Escondido FILE_ATTRIBUTE_HIDDEN O ficheiro está oculto. Ele não está incluído em uma listagem de diretório comum.
Sistema FILE_ATTRIBUTE_SYSTEM Um arquivo que o sistema operacional usa uma parte ou usa exclusivamente.
Nenhum FILE_ATTRIBUTE_NORMAL Um arquivo que não tem outros atributos definidos. Este atributo é válido apenas quando usado sozinho.
Arquivo FILE_ATTRIBUTE_ARCHIVE Um arquivo que é um arquivo morto. Os aplicativos normalmente usam esse atributo para marcar arquivos para backup ou remoção.
Temporário FILE_ATTRIBUTE_TEMPORARY Um arquivo que está sendo usado para armazenamento temporário.
Offline FILE_ATTRIBUTE_OFFLINE Os dados de um ficheiro não estão disponíveis imediatamente. Este atributo do sistema de arquivos é apresentado principalmente para fornecer compatibilidade com o Windows. O Azure Files não oferece suporte a ele com opções de armazenamento offline.
NotContentIndexed FILE_ATTRIBUTE_NOT_CONTENT_INDEXED O arquivo não deve ser indexado pelo serviço de indexação de conteúdo.
NoScrubData FILE_ATTRIBUTE_NO_SCRUB_DATA O fluxo de dados do usuário que não ser lido pelo verificador de integridade de dados em segundo plano. Este atributo do sistema de arquivos é apresentado principalmente para fornecer compatibilidade com o Windows.

Comentários

Para criar um novo arquivo, primeiro inicialize-o chamando Create File e especificando seu tamanho máximo, até 4 TiB. Quando estiver executando essa operação, não inclua conteúdo no corpo da solicitação. Depois de criar o arquivo, chame Put Range para adicionar conteúdo ao arquivo ou modificá-lo.

Você pode alterar o tamanho do arquivo chamando Set File Properties.

Se o diretório pai ou de compartilhamento não existir, a operação falhará com o código de status 412 (Falha na pré-condição).

Observação

As propriedades de arquivo cache-control, content-type, content-md5, content-encodinge content-language são separadas das propriedades do sistema de arquivos disponíveis para clientes SMB. Os clientes SMB não conseguem ler, gravar ou modificar esses valores de propriedade.

Para criar o arquivo, se o arquivo existente tiver uma concessão ativa, o cliente deverá especificar uma ID de concessão válida na solicitação. Se o cliente não especificar uma ID de concessão ou especificar uma ID de concessão inválida, os Arquivos do Azure retornarão o código de status 412 (Falha na Pré-condição). Se o cliente especificar uma ID de concessão, mas o arquivo não tiver uma concessão ativa, os Arquivos do Azure retornarão o código de status 412 (Falha na pré-condição) também nesta instância. Se o cliente especificar uma ID de concessão em um arquivo que ainda não existe, os Arquivos do Azure retornarão o código de status 412 (Falha na pré-condição) para solicitações feitas na versão 2019-02-02 e posterior.

Se um arquivo existente com uma concessão ativa for substituído por uma operação Create File, a concessão persistirá no arquivo atualizado até que seja liberada.

Create File não é suportado em um instantâneo de compartilhamento, que é uma cópia somente leitura de um compartilhamento. Uma tentativa de executar essa operação em um instantâneo de compartilhamento falha com o código de status 400 (InvalidQueryParameterValue).

Ver também

Operações no Azure Files