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 | |
NFS |
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) 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-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, 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