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 | |
NFS |
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-control
do ficheiro , content-type
, , content-md5
, content-encoding
e 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).