Criar diretório

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

Disponibilidade do protocolo

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

Solicitar

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

Método Solicitar URI 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 pelo seu próprio, conforme mostrado na tabela a seguir:

Componente Caminho Descrição
myaccount O nome da sua conta de armazenamento.
myshare O nome do seu compartilhamento de arquivos.
myparentdirectorypath Opcional. O caminho para o diretório pai onde 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á deve 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 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.

Corpo do pedido

Nenhuma.

Cabeçalhos de solicitação

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

Parâmetro 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) para a solicitação. Para obter mais informações, consulte Autorizar solicitações para o Armazenamento do Azure.
x-ms-version Obrigatório para todos os pedidos autorizados. 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.
x-ms-meta-name:value Opcional. Versão 2015-02-21 ou posterior. Um par nome-valor para associar ao diretório como metadados.

Os nomes de metadados devem aderir às regras de nomenclatura para identificadores C#.
x-ms-file-permission: { inherit ¦ <SDDL> ¦ <binary> } 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. Essa permissão é o descritor de segurança para o diretório especificado no Security Descriptor Definition Language (SDDL) ou (versão 2024-11-04 ou posterior) no formato de descritor de segurança binário codificado em base64. Você pode especificar qual formato usar com o cabeçalho x-ms-file-permission-format. Este cabeçalho pode 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 deve ter um proprietário, grupo e lista de controle de acesso discricionário (DACL). Você pode passar um valor de inherit para herdar do diretório pai.

Nota: Você pode especificar x-ms-file-permission ou x-ms-file-permission-key. Se nenhum cabeçalho for especificado, o valor padrão de inherit será usado.
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á em SDDL ou em formato binário. Se x-ms-file-permission-key estiver definido como inherit, este cabeçalho não deve ser definido. Se x-ms-file-permission-key estiver 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> A chave da permissão a ser definida para o diretório. 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. Você pode criar essa chave usando a API Create-Permission.

Nota: Você pode especificar x-ms-file-permission ou x-ms-file-permission-key. Se nenhum dos cabeçalhos for especificado, o valor padrão de inherit será usado para o cabeçalho x-ms-file-permission.
x-ms-file-attributes Necessário: versão 2019-02-02 até 2021-04-10. Opcional: versão 2021-06-08 e posterior. Os atributos do sistema de arquivos a serem definidos no diretório. Consulte a lista de atributos disponíveis. O valor padrão é Directory.
x-ms-file-creation-time: { now ¦ <DateTime> } Necessário: versão 2019-02-02 a 2021-04-10. Opcional: versão 2021-06-08 e mais recente. A propriedade de tempo 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> } Necessário: versão 2019-02-02 até 2021-04-10. Opcional: versão 2021-06-08 ou posterior. A última propriedade de gravação do Tempo Universal Coordenado (UTC) 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 de 1 kibibyte (KiB) que é registrado nos logs quando o log é configurado. É altamente recomendável que você use esse cabeçalho para correlacionar atividades do lado do cliente com solicitações que o servidor recebe. Para obter mais informações, consulte Monitorar arquivos do Azure.
x-ms-file-change-time: { now ¦ <DateTime> } Opcional. A propriedade de tempo de alteração do Tempo Universal Coordenado (UTC) 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 cabeçalho especificar um token OAuth. O valor aceitável é backup. Este 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 booleano especifica se um ponto à direita presente na url da solicitação deve ser cortado ou não. Para obter mais informações, consulte Nomeando e referenciando compartilhamentos, diretórios, arquivos e metadados.

Pedido de amostra

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 esta 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 da 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 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 a 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 que foi 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 é definido como true se o conteúdo da solicitação for criptografado com êxito usando o algoritmo especificado e false 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 tempo de criação para o 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 esse valor que representa a propriedade change time para o diretório.
x-ms-file-file-id O ID do arquivo do diretório.
x-ms-file-parent-id O 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 é 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 1024 caracteres ASCII visíveis. Se o cabeçalho x-ms-client-request-id não estiver presente na solicitação, esse cabeçalho não estará presente na resposta.

Corpo de resposta

Nenhuma.

Resposta da 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 arquivos

Atributo Atributo de arquivo Win32 Definição
Somente leitura FILE_ATTRIBUTE_READONLY Um diretório que é somente leitura.
Escondido 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 que o sistema operacional usa uma parte ou usa exclusivamente.
Nenhum FILE_ATTRIBUTE_NORMAL Um diretório que não tem outros atributos definidos. Este atributo é válido apenas quando é usado sozinho.
Diretório FILE_ATTRIBUTE_DIRECTORY O identificador que identifica um diretório.
Arquivo FILE_ATTRIBUTE_ARCHIVE Um diretório que é um diretório de arquivo. 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. Este atributo do sistema de arquivos é apresentado principalmente para fornecer compatibilidade com o Windows. O Azure Files não oferece 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 ser lido pelo verificador de integridade de dados em segundo plano. Este 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á o código de status 409 (Conflito) e fornecerá informações de erro adicionais que indicam que o diretório está sendo excluído.

Se já existir um diretório ou arquivo com o mesmo nome, 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 o código de status 412 (Falha na pré-condição).

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

Create Directory não é suportado 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)

Ver também

Operações em diretórios