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 Put Range
operação .
Disponibilidade do protocolo
Protocolo de compartilhamento de arquivos habilitado | Disponível |
---|---|
SMB | |
NFS |
Solicitação
Você pode construir uma Create File
solicitação fazendo o seguinte. Recomendamos que você use HTTPS.
Método | URI da 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 de solicitação pelos seus próprios, conforme descrito na tabela a seguir:
Componente Demarcador | Descrição |
---|---|
myaccount |
O nome da sua conta de armazenamento. |
myshare |
O nome do seu compartilhamento de arquivo. |
mydirectorypath |
Opcional. O caminho para o diretório onde o arquivo deve ser criado. Se o caminho de diretório for omitido, o arquivo será criado no 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 Compartilhamentos de nome e referência, diretórios, arquivos e metadados.
Parâmetros do 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 da 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 |
Obrigatórios. Especifica o esquema de autorização, o nome da conta e a assinatura. Para saber mais, confira Autorizar solicitações para o Armazenamento do Azure. |
Date ou x-ms-date |
Obrigatórios. Especifica a hora do Tempo Universal Coordenado (UTC) para a solicitação. Para saber mais, confira 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 esta 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 |
Obrigatórios. Esse cabeçalho especifica o tamanho máximo para o 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 as linguagens naturais usadas por esse recurso. |
Cache-Control ou x-ms-cache-control |
Opcional. Arquivos do Azure armazena esse valor, mas não o usa nem modifica. |
x-ms-content-md5 |
Opcional. Define o hash MD5 do arquivo. |
x-ms-content-disposition |
Opcional. Define o cabeçalho do Content-Disposition arquivo. |
x-ms-type: file |
Obrigatórios. 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 seguir as regras de nomenclatura para identificadores C#. Observação: os metadados de arquivo especificados por meio de Arquivos do Azure não podem ser acessados em um cliente SMB (Server Message Block). |
x-ms-file-permission: { inherit ¦ <SDDL> } |
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 para o arquivo especificado na SDDL (Linguagem de Definição do Descritor de Segurança). 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 uma 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-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 dos cabeçalhos for especificado, o valor padrão de inherit será usado para o x-ms-file-permission cabeçalho .Você pode criar a chave chamando a Create Permission API. |
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> |
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 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 |
Obrigatório se Authorization o cabeçalho especificar um token OAuth. O valor aceitável é backup . Esse cabeçalho especifica que o Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action ou Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action deve ser concedido se eles estiverem incluídos na política RBAC atribuída à identidade autorizada usando 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 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 de 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 Códigos de status e de erro.
Cabeçalhos de resposta
A resposta para essa 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 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 da data segue 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 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 true como 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 será igual ao valor do x-ms-client-request-id cabeçalho se ele estiver presente na solicitação e o valor não contiver mais de 1.024 caracteres ASCII visíveis. Se o x-ms-client-request-id cabeçalho 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. |
Hidden | 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. Este atributo é válido somente quando for usado sozinho. |
Arquivos | 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 arquivo não estão disponíveis imediatamente. Esse atributo do sistema de arquivos é apresentado principalmente para fornecer compatibilidade com o Windows. Arquivos do Azure não dá 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 deve 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. |
Comentários
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 status código 412 (Falha na pré-condição).
Observação
As propriedades cache-control
do arquivo , content-type
, content-md5
, content-encoding
e 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, Arquivos do Azure retornará status código 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, Arquivos do Azure retornará status código 412 (Falha de 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, Arquivos do Azure retornará status código 412 (Falha de 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 Create File
operação, a concessão persistirá no arquivo atualizado até que ele seja liberado.
Create File
não há 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 status código 400 (InvalidQueryParameterValue).