Criar diretório

A operação Create Directory cria um novo diretório no diretório de compartilhamento ou pai especificado. O recurso de diretório inclui as propriedades para esse diretório. Ele não inclui uma lista dos arquivos ou subdiretórios contidos no diretório.

Disponibilidade do protocolo

Protocolo de compartilhamento de arquivos habilitado Disponível
SMB Sim
NFS Não

Solicitação

Você pode construir a solicitação da Create Directory seguinte maneira. Recomendamos que você use HTTPS.

Método URI da solicitação Versão HTTP
PUT https://myaccount.file.core.windows.net/myshare/myparentdirectorypath/mydirectory?restype=directory HTTP/1.1

Substitua os componentes de caminho no URI de solicitação por seus próprios, conforme mostrado na tabela a seguir:

Componente Demarcador Descrição
myaccount O nome da sua conta de armazenamento.
myshare O nome do seu compartilhamento de arquivo.
myparentdirectorypath Opcional. O caminho para o diretório pai em que mydirectory deve ser criado. Se o caminho do diretório pai for omitido, o diretório será criado dentro do compartilhamento especificado.

Se o diretório pai for especificado, ele já deverá existir dentro do compartilhamento antes que você possa criar mydirectory.
mydirectory O nome do diretório a ser criado.

Para obter mais 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 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.

Corpo da solicitação

Nenhum.

Cabeçalhos da solicitação

Os cabeçalhos de solicitação obrigatórios e opcionais são descritos na tabela a seguir:

Parâmetro 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.
x-ms-meta-name:value Opcional. Versão 2015-02-21 ou posterior. Um par nome-valor a ser associado ao diretório como metadados.

Os nomes de metadados devem seguir as regras de nomenclatura para identificadores C#.
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 diretório especificado na SDDL (Linguagem de Definição do Descritor de Segurança). Esse cabeçalho poderá ser usado se o tamanho das permissões for superior a 8 kibibytes (KiB). Caso contrário, você pode usar x-ms-file-permission-key. Se for especificado, 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.

Observação: você pode especificar ou x-ms-file-permissionx-ms-file-permission-key. Se nenhum cabeçalho for especificado, o valor padrão de inherit será usado.
x-ms-file-permission-key: <PermissionKey> A chave da permissão a ser definida para o diretório. 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. Você pode criar essa chave usando a Create-Permission API .

Observação: você pode especificar ou x-ms-file-permissionx-ms-file-permission-key. Se nenhum dos cabeçalhos for especificado, o valor padrão de inherit será usado para o x-ms-file-permission cabeçalho .
x-ms-file-attributes Obrigatório: versão 2019-02-02 a 2021-04-10. Opcional: versão 2021-06-08 e posterior. Os atributos do sistema de arquivos a serem definidos no diretório. Confira a lista de atributos disponíveis. O valor padrão é Directory.
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 mais recente. A propriedade de hora de criação UTC (Tempo Universal Coordenado) para o diretório. Você pode usar um valor de now 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 ou posterior. A última propriedade de gravação utc (tempo universal coordenado) para o diretório. Você pode usar um valor de now para indicar a hora da solicitação. O valor padrão é now.
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. A propriedade UTC (Tempo Universal Coordenado) altera a propriedade de tempo para o diretório, no formato ISO 8601. Versão 2021-06-08 e mais recente. 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.

Solicitação de exemplo

PUT https://myaccount.file.core.windows.net/myshare/myparentdirectorypath/mydirectory? restype=directory HTTP/1.1  
  
Request headers:  
x-ms-version: 2014-02-14  
x-ms-date: Mon, 27 Jan 2014 22:50:32 GMT  
x-ms-meta-Category: Images  
Authorization: SharedKey myaccount:Z5043vY9MesKNh0PNtksNc9nbXSSqGHueE00JdjidOQ=  

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 mais 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 Contém um valor que representa a versão do diretório, entre aspas.
Last-Modified Retorna a data e a hora em que o diretório 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 ou posterior. O valor desse cabeçalho será definido true como se o conteúdo da solicitação for criptografado com êxito usando o algoritmo especificado e false , caso contrário, .
x-ms-file-permission-key A chave da permissão do diretório.
x-ms-file-attributes Os atributos do sistema de arquivos no diretório. 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 diretório.
x-ms-file-last-write-time O valor de data/hora UTC que representa a última propriedade de tempo de gravação para o diretório.
x-ms-file-change-time A data/hora UTC que representa a propriedade de tempo de alteração para o diretório.
x-ms-file-file-id A ID do arquivo do diretório.
x-ms-file-parent-id A ID do arquivo pai do diretório.
x-ms-client-request-id Pode ser usado para solucionar problemas de solicitações e 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 1024 caracteres ASCII visíveis. Se o x-ms-client-request-id cabeçalho não estiver presente na solicitação, esse cabeçalho 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 diretório que é somente leitura.
Hidden FILE_ATTRIBUTE_HIDDEN O diretório está oculto. Ele não está incluído em uma listagem de diretório comum.
Sistema FILE_ATTRIBUTE_SYSTEM Um diretório do qual o sistema operacional usa uma parte ou usa exclusivamente.
Nenhum FILE_ATTRIBUTE_NORMAL Um diretório que não tem outros atributos definidos. Esse atributo só é válido quando é usado sozinho.
Diretório FILE_ATTRIBUTE_DIRECTORY O identificador que identifica um diretório.
Archive FILE_ATTRIBUTE_ARCHIVE Um diretório que é um diretório de arquivos. Os aplicativos normalmente usam esse atributo para marcar arquivos para backup ou remoção.
Offline FILE_ATTRIBUTE_OFFLINE Os dados de um diretório 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 diretório 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

Se um diretório com o mesmo nome estiver sendo excluído quando Create Directory for chamado, o servidor retornará status código 409 (Conflito) e fornecerá informações de erro adicionais que indicam que o diretório está sendo excluído.

Se um diretório ou arquivo com o mesmo nome já existir, a operação falhará com o código de status 409 (Conflito). Se o diretório pai não existir, a operação falhará com status código 412 (Falha na pré-condição).

Não é possível criar uma hierarquia de diretório com uma única Create Directory operação. Você só poderá criar o diretório se o pai imediato já existir, conforme especificado no caminho. Se o diretório pai não existir, a operação falhará com status código 412 (Falha na pré-condição).

Create Directorynã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 falhará com 400 (InvalidQueryParameterValue)

Confira também

Operações em diretórios