Criar Arquivo

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

Disponibilidade do protocolo

Protocolo de compartilhamento de arquivos habilitado Disponível
SMB Sim
NFS Sem

Pedir

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

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

Substitua os componentes de caminho mostrados no URI da solicitação por seus próprios componentes, conforme descrito na tabela a seguir:

Componente path Descrição
myaccount O nome da sua conta de armazenamento.
myshare O nome do compartilhamento de arquivos.
mydirectorypath Opcional. O caminho para o diretório em que 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á deverá 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 Nome e compartilhamentos de referência, diretórios, arquivos e metadados.

Parâmetros de URI

Você pode especificar os seguintes parâmetros adicionais no URI da 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 de 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) da solicitação. Para obter mais informações, consulte 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 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 estiver presente.
x-ms-content-length: byte value Necessário. Esse cabeçalho especifica o tamanho máximo do arquivo, 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 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 os idiomas naturais usados por esse recurso.
Cache-Control ou x-ms-cache-control Opcional. Os Arquivos do Azure armazenam esse valor, mas não o usam nem modificam.
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 esse cabeçalho como file.
x-ms-meta-name:value Opcional. Pares nome-valor associados ao arquivo como metadados. Os nomes de metadados devem seguir as regras de nomenclatura para identificadores C#.

Observação: os metadados de arquivo especificados por meio dos Arquivos do Azure não podem ser acessados em um cliente SMB (Server Message Block).
x-ms-file-permission: { inherit ¦ <SDDL> ¦ <binary> } Na versão 2019-02-02 a 2021-04-10, esse cabeçalho será 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 do arquivo especificado no de linguagem SDDL (Linguagem de Definição do Descritor de Segurança) 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ê poderá usar esse cabeçalho se o tamanho das permissões for de 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, um grupo e da DACL (lista de controle de acesso discricionário). 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á no SDDL ou no formato binário. Se x-ms-file-permission-key estiver definido como inherit, esse cabeçalho não deverá ser definido. Se x-ms-file-permission-key for 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, esse cabeçalho será 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 cabeçalho 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 Obrigatório: versão 2019-02-02 a 2021-04-10. Opcional: versão 2021-06-08 e posterior. Esse 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> } Obrigatório: versão 2019-02-02 a 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. Um valor de now pode ser usado para indicar a hora da solicitação. O valor padrão é now.
x-ms-file-last-write-time: { now ¦ <DateTime> } Obrigatório: versão 2019-02-02 a 2021-04-10. Opcional: versão 2021-06-08 e posterior. A última propriedade de gravação UTC (Tempo Universal Coordenado) 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> Necessá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 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-change-time: { now ¦ <DateTime> } Opcional. Versão 2021-06-08 e posterior. A propriedade utc (tempo universal coordenado) altera a propriedade de tempo 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 Necessário se Authorization cabeçalho especificar um token OAuth. O valor aceitável é backup. Esse 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 booliano especifica se um ponto à direita presente na URL da solicitação deve ser cortado ou não. Para obter mais informações, consulte Nomenclatura e referência a compartilhamentos, diretórios, arquivos e metadados.

Corpo da solicitação

Nenhum.

Solicitação de exemplo

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 Status e códigos de erro.

Cabeçalhos de resposta

A resposta dessa 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 de protocolo HTTP/1.1 .

Cabeçalho de resposta Descrição
ETag A 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 problemas da 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 será 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 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-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 da resposta

Nenhum.

Resposta de exemplo

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

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

Atributos do sistema de arquivos

Atributo Atributo de arquivo Win32 Definição
ReadOnly 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 arquivo está oculto. Ele não está incluído em uma listagem de diretório comum.
Sistema FILE_ATTRIBUTE_SYSTEM Um arquivo do qual o sistema operacional usa uma parte ou usa exclusivamente.
Nenhum FILE_ATTRIBUTE_NORMAL Um arquivo que não tem outros atributos definidos. Esse atributo é válido somente quando usado sozinho.
Arquivo FILE_ATTRIBUTE_ARCHIVE Um arquivo que é um arquivo morto. Normalmente, os aplicativos 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 arquivo não estão disponíveis imediatamente. Esse atributo do sistema de arquivos é apresentado principalmente para fornecer compatibilidade com o Windows. Os Arquivos do Azure não dão 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 não ser lido pelo verificador de integridade de dados em segundo plano. Esse atributo do sistema de arquivos é apresentado principalmente para fornecer compatibilidade com o Windows.

Observações

Para criar um novo arquivo, primeiro inicialize-o chamando Create File e especificando seu tamanho máximo, até 4 TiB. Ao executar 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 compartilhamento ou diretório pai não existir, a operação falhará com o código de status 412 (Falha na pré-condição).

Nota

As propriedades de arquivo cache-control, content-type, content-md5, content-encodinge content-language são separadas das propriedades do sistema de arquivos que estão 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) nesta instância também. 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 de Create File, a concessão persistirá no arquivo atualizado até que ele seja liberado.

Create File não tem suporte 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).

Consulte também

operações de em arquivos do Azure