Criar Diretório

A operação Create Directory cria um novo diretório no diretório pai ou compartilhamento especificado. O recurso de diretório inclui as propriedades desse 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 Sem

Pedir

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

Método URI de 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 da solicitação por seus próprios, conforme mostrado na tabela a seguir:

Componente path Descrição
myaccount O nome da sua conta de armazenamento.
myshare O nome do compartilhamento de arquivos.
myparentdirectorypath Opcional. O caminho para o diretório pai em que do 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 do 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 da solicitação

Nenhum.

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) 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.
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> ¦ <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 para o diretório especificado no (linguagem de definição do descritor de segurança) 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. 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 da 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 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.
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> 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 API Create-Permission.

Observação: 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 para o cabeçalho x-ms-file-permission.
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. Consulte a lista de atributos disponíveis. O valor padrão é Diretório.
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 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> } 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 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.

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 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 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 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 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 será definido como true 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 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 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 é 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 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.
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 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.
Arquivo FILE_ATTRIBUTE_ARCHIVE Um diretório que é um diretório de arquivos. Normalmente, os aplicativos 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. Os Arquivos do Azure não dão 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 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

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ório com uma única operação de Create Directory. 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 o código de status 412 (Falha na pré-condição).

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

Consulte também

operações de em diretórios