Criar Ficheiro

A Create File operação cria um novo ficheiro ou substitui um ficheiro. Quando chama Create File, só inicializa o ficheiro. Para adicionar conteúdo a um ficheiro, chame a Put Range operação.

Disponibilidade do protocolo

Protocolo de partilha de ficheiros ativado Disponível
SMB Yes
NFS No

Pedir

Pode construir um Create File pedido ao fazer o seguinte. Recomendamos que utilize HTTPS.

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

Substitua os componentes do caminho que são apresentados no URI do pedido pelo seu, conforme descrito na tabela seguinte:

Componente caminho Description
myaccount O nome da sua conta de armazenamento.
myshare O nome da partilha de ficheiros.
mydirectorypath Opcional. O caminho para o diretório onde o ficheiro deve ser criado. Se o caminho do diretório for omitido, o ficheiro será criado na partilha especificada.

Se o diretório for especificado, este já tem de existir na partilha antes de poder criar o ficheiro.
myfile O nome do ficheiro a criar.

Para obter informações sobre restrições de nomenclatura de caminhos, consulte Partilhas de nomes e referências, diretórios, ficheiros e metadados.

Parâmetros do URI

Pode especificar os seguintes parâmetros adicionais no URI do pedido:

Parâmetro Description
timeout Opcional. O timeout parâmetro é expresso em segundos. Para obter mais informações, veja Definir tempos limite para operações do serviço de ficheiros.

Cabeçalhos do pedido

Os cabeçalhos de pedido obrigatórios e opcionais estão descritos na tabela seguinte:

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 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. Especifica a versão da operação a utilizar para este pedido. Para obter mais informações, veja Controlo de versões dos serviços de Armazenamento do Azure.
Content-Length Opcional. Tem de ser zero se estiver presente.
x-ms-content-length: byte value Obrigató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 ficheiro. O tipo predefinido é application/octet-stream.
Content-Encoding ou x-ms-content-encoding Opcional. Especifica as codificações de conteúdo que foram aplicadas ao ficheiro. Este valor é devolvido ao cliente quando a operação Obter Ficheiro é executada no recurso de ficheiro e pode utilizá-lo para descodificar o conteúdo do ficheiro.
Content-Language ou x-ms-content-language Opcional. Especifica as linguagens naturais utilizadas por este recurso.
Cache-Control ou x-ms-cache-control Opcional. Ficheiros do Azure armazena este valor, mas não o utiliza nem modifica.
x-ms-content-md5 Opcional. Define o hash MD5 do ficheiro.
x-ms-content-disposition Opcional. Define o cabeçalho do Content-Disposition ficheiro.
x-ms-type: file Obrigatório. Defina este cabeçalho como file.
x-ms-meta-name:value Opcional. Pares nome-valor associados ao ficheiro como metadados. Os nomes de metadados têm de cumprir as regras de nomenclatura dos identificadores C#.

Nota: os metadados de ficheiro especificados através de Ficheiros do Azure não estão acessíveis a partir de um cliente SMB (Server Message Block).
x-ms-file-permission: { inherit ¦ <SDDL> } 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. Esta permissão é o descritor de segurança do ficheiro especificado na Security Descriptor Definition Language (SDDL). Pode utilizar este cabeçalho se o tamanho das permissões for 8 kibibytes (KiB) ou menos. Caso contrário, pode utilizar x-ms-file-permission-key. Se especificar o cabeçalho, este tem de ter uma lista de controlo de acesso discricionário (DACL) de proprietário, grupo e grupo. Pode transmitir um valor de inherit para herdar do diretório principal.
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 predefinido de inherit é utilizado para o x-ms-file-permission cabeçalho.

Pode criar a chave ao chamar a Create Permission API.
x-ms-file-attributes Obrigató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 ficheiros a definir no ficheiro. Para obter mais informações, veja a lista de atributos disponíveis. O valor predefinido é None.
x-ms-file-creation-time: { now ¦ <DateTime> } Obrigatório: versão 2019-02-02 até 2021-04-10. Opcional: versão 2021-06-08 e posterior. A propriedade hora de criação da Hora Universal Coordenada (UTC) para o ficheiro. Pode ser utilizado um valor de now para indicar a hora do pedido. O valor predefinido é now.
x-ms-file-last-write-time: { now ¦ <DateTime> } Obrigatório: versão 2019-02-02 até 2021-04-10. Opcional: versão 2021-06-08 e posterior. A última propriedade de escrita da Hora Universal Coordenada (UTC) para o ficheiro. Pode utilizar um valor de now para indicar a hora do pedido. O valor predefinido é now.
x-ms-lease-id: <ID> Necessário se o ficheiro 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 carateres de 1 kibibyte (KiB) que é registado nos registos quando o registo é configurado. Recomendamos vivamente que utilize este cabeçalho para correlacionar as atividades do lado do cliente com os pedidos que o servidor recebe. Para obter mais informações, veja Monitorizar Ficheiros do Azure.
x-ms-file-change-time: { now ¦ <DateTime> } Opcional. Versão 2021-06-08 e posterior. A propriedade Hora Universal Coordenada (UTC) altera a propriedade de hora do ficheiro, no formato ISO 8601. Pode utilizar um valor de now para indicar a hora do pedido. O valor predefinido é now.
x-ms-file-request-intent Necessário se o Authorization cabeçalho especificar um token OAuth. O valor aceitável é backup. Este cabeçalho especifica que o Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action ou Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action deve ser concedido se estiver incluído na política RBAC atribuída à identidade autorizada com 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 Booleano especifica se um ponto à direita presente no URL do pedido deve ser cortado ou não. Para obter mais informações, veja Naming and referencing shares, directories, files, and metadata (Atribuir nomes e referenciar partilhas, diretórios, ficheiros e metadados).

Corpo do pedido

Nenhum.

Pedido 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 estado HTTP e um conjunto de cabeçalhos de resposta.

Código de estado

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

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

Qualquer operação que modifica o diretório ou as respetivas propriedades atualiza a hora da última modificação. As operações nos ficheiros não afetam a hora da última modificação do diretório.
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 Ficheiros do Azure utilizada para executar o pedido.
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 deste cabeçalho está definido como true se tiver encriptado com êxito o conteúdo do pedido através do algoritmo especificado. Se a encriptação não for bem-sucedida, o valor será false.
x-ms-file-permission-key A chave da permissão do ficheiro.
x-ms-file-attributes Os atributos do sistema de ficheiros no ficheiro. Para obter mais informações, veja 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 ficheiro.
x-ms-file-last-write-time O valor de data/hora UTC que representa a última propriedade de hora de escrita do ficheiro.
x-ms-file-change-time A data/hora UTC que representa a propriedade de hora de alteração do ficheiro.
x-ms-file-file-id O ID do ficheiro.
x-ms-file-parent-id O ID de ficheiro principal do ficheiro.
x-ms-client-request-id 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, não está presente na resposta.

Corpo da resposta

Nenhum.

Resposta de 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 ficheiros

Atributo Atributo de ficheiro Win32 Definição
ReadOnly FILE_ATTRIBUTE_READONLY Um ficheiro só de leitura. As aplicações podem ler o ficheiro, mas não podem escrevê-lo ou eliminá-lo.
Oculto FILE_ATTRIBUTE_HIDDEN O ficheiro está oculto. Não está incluído numa listagem de diretórios comum.
Sistema FILE_ATTRIBUTE_SYSTEM Um ficheiro do qual o sistema operativo utiliza uma parte ou utiliza exclusivamente.
Nenhuma FILE_ATTRIBUTE_NORMAL Um ficheiro que não tem outros atributos definidos. Este atributo só é válido quando utilizado individualmente.
Arquivo FILE_ATTRIBUTE_ARCHIVE Um ficheiro que é um ficheiro de arquivo. Normalmente, as aplicações utilizam este atributo para marcar ficheiros para cópia de segurança ou remoção.
Temporária FILE_ATTRIBUTE_TEMPORARY Um ficheiro que está a ser utilizado 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 ficheiros é apresentado principalmente para fornecer compatibilidade com o Windows. Ficheiros do Azure não o suporta com opções de armazenamento offline.
NotContentIndexed FILE_ATTRIBUTE_NOT_CONTENT_INDEXED O ficheiro não deve ser indexado pelo serviço de indexação de conteúdos.
NoScrubData FILE_ATTRIBUTE_NO_SCRUB_DATA O fluxo de dados do utilizador que não deve ser lido pelo analisador de integridade de dados em segundo plano. Este atributo do sistema de ficheiros é apresentado principalmente para fornecer compatibilidade com o Windows.

Observações

Para criar um novo ficheiro, primeiro inicialize-o ao chamar Create File e especificar o tamanho máximo, até 4 TiB. Quando estiver a executar esta operação, não inclua conteúdo no corpo do pedido. Depois de criar o ficheiro, ligue Put Range para adicionar conteúdo ao ficheiro ou para modificá-lo.

Pode alterar o tamanho do ficheiro ao chamar Set File Properties.

Se a partilha ou o diretório principal não existir, a operação falhará com o código de estado 412 (Falha na Pré-condição).

Nota

As propriedades cache-controldo ficheiro , content-type, , content-md5, content-encodinge content-language estão separadas das propriedades do sistema de ficheiros que estão disponíveis para clientes SMB. Os clientes SMB não conseguem ler, escrever ou modificar estes valores de propriedade.

Para criar o ficheiro, se o ficheiro existente tiver uma concessão ativa, o cliente tem de especificar um ID de concessão válido no pedido. Se o cliente não especificar um ID de concessão ou especificar um ID de concessão inválido, Ficheiros do Azure devolve o código de estado 412 (Falha na Pré-condição). Se o cliente especificar um ID de concessão, mas o ficheiro não tiver uma concessão ativa, Ficheiros do Azure devolve o código de estado 412 (Falha na Pré-condição) também neste caso. Se o cliente especificar um ID de concessão num ficheiro que ainda não existe, Ficheiros do Azure devolve o código de estado 412 (Falha na Pré-condição) dos pedidos efetuados na versão 2019-02-02 e posterior.

Se um ficheiro existente com uma concessão ativa for substituído por uma Create File operação, a concessão persiste no ficheiro atualizado até ser lançado.

Create File não é suportado num instantâneo de partilha, que é uma cópia só de leitura de uma partilha. Uma tentativa de executar esta operação num instantâneo de partilha falha com o código de estado 400 (InvalidQueryParameterValue).

Ver também

Operações no Ficheiros do Azure