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 | |
NFS |
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 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-encoding
e 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).