Création d'un répertoire

L'opération Create Directory crée un répertoire sous le partage ou répertoire parent spécifié. La ressource du répertoire comprend les propriétés de ce répertoire. Il n’inclut pas la liste des fichiers ou sous-répertoires contenus dans le répertoire.

Disponibilité du protocole

Protocole de partage de fichiers activé Disponible
SMB Oui
NFS Non

Requête

Vous pouvez construire la Create Directory requête comme suit. Nous vous recommandons d’utiliser HTTPS.

Méthode URI de demande Version HTTP
PUT https://myaccount.file.core.windows.net/myshare/myparentdirectorypath/mydirectory?restype=directory HTTP/1.1

Remplacez les composants de chemin d’accès dans l’URI de requête par les vôtres, comme indiqué dans le tableau suivant :

Composant Chemin d’accès Description
myaccount nom de votre compte de stockage.
myshare Nom du partage de fichiers.
myparentdirectorypath facultatif. Chemin d'accès au répertoire parent où mon_répertoire doit être créé. Si le chemin d'accès au répertoire parent est omis, le répertoire sera créé dans le partage spécifié.

Si le répertoire parent est spécifié, il doit déjà exister dans le partage avant que vous puissiez créer mydirectory.
mydirectory Nom du répertoire à créer.

Pour plus d’informations sur les restrictions de nommage de chemin d’accès, consultez Partages de noms et de référence, répertoires, fichiers et métadonnées.

Paramètres URI

Vous pouvez spécifier les paramètres supplémentaires suivants sur l’URI de requête.

Paramètre Description
timeout facultatif. Le paramètre timeout est exprimé en secondes. Pour plus d’informations, consultez Définir des délais d’expiration pour les opérations de service de fichiers.

Corps de la demande

Aucun.

En-têtes de requête

Les en-têtes de requête obligatoires et facultatifs sont décrits dans le tableau suivant :

Paramètre Description
Authorization Obligatoire. Spécifie le schéma d’autorisation, le nom du compte et la signature. Pour plus d’informations, consultez Autoriser les requêtes auprès du Stockage Azure.
Date ou x-ms-date Obligatoire. Spécifie l'heure UTC (temps universel coordonné) pour la demande. Pour plus d’informations, consultez Autoriser les requêtes auprès du Stockage Azure.
x-ms-version Obligatoire pour toutes les demandes autorisées. Spécifie la version de l'opération à utiliser pour cette demande. Pour plus d'informations, consultez la page Contrôle de version pour les services de Stockage Microsoft Azure.
x-ms-meta-name:value facultatif. Version 2015-02-21 ou ultérieure. Paire nom-valeur à associer au répertoire en tant que métadonnées.

Les noms de métadonnées doivent respecter les règles de nommage des identificateurs C#.
x-ms-file-permission: { inherit ¦ <SDDL> } Dans la version 2019-02-02 à 2021-04-10, cet en-tête est obligatoire si x-ms-file-permission-key n’est pas spécifié. À partir de la version 2021-06-08, les deux en-têtes sont facultatifs. Cette autorisation est le descripteur de sécurité pour le répertoire spécifié dans le langage SDDL (Security Descriptor Definition Language). Cet en-tête peut être utilisé si la taille des autorisations est supérieure à 8 kibioctets (Kio). Sinon, vous pouvez utiliser x-ms-file-permission-key. S’il est spécifié, il doit disposer d’un propriétaire, d’un groupe et d’une liste de contrôle d’accès discrétionnaire (DACL). Vous pouvez passer une valeur de inherit pour hériter du répertoire parent.

Remarque : vous pouvez spécifier ou x-ms-file-permissionx-ms-file-permission-key. Si aucun en-tête n’est spécifié, la valeur par défaut de inherit est utilisée.
x-ms-file-permission-key: <PermissionKey> Clé de l’autorisation à définir pour le répertoire. Dans la version 2019-02-02 à 2021-04-10, cet en-tête est obligatoire si x-ms-file-permission n’est pas spécifié. À partir de la version 2021-06-08, les deux en-têtes sont facultatifs. Vous pouvez créer cette clé à l’aide de l’API Create-Permission .

Remarque : vous pouvez spécifier ou x-ms-file-permissionx-ms-file-permission-key. Si aucun en-tête n’est spécifié, la valeur par défaut de inherit est utilisée pour l’en-tête x-ms-file-permission .
x-ms-file-attributes Obligatoire : version 2019-02-02 à 2021-04-10. Facultatif : version 2021-06-08 et ultérieures. Attributs du système de fichiers à définir dans le répertoire. Consultez la liste des attributs disponibles. La valeur par défaut est Directory.
x-ms-file-creation-time: { now ¦ <DateTime> } Obligatoire : version 2019-02-02 à 2021-04-10. Facultatif : version 2021-06-08 et versions ultérieures. Propriété d’heure de création UTC (Temps universel coordonné) pour le répertoire. Vous pouvez utiliser la valeur de now pour indiquer l’heure de la demande. La valeur par défaut est now.
x-ms-file-last-write-time: { now ¦ <DateTime> } Obligatoire : version 2019-02-02 à 2021-04-10. Facultatif : version 2021-06-08 ou ultérieure. Propriété UTC (Temps universel coordonné) pour la dernière écriture du répertoire. Vous pouvez utiliser la valeur de now pour indiquer l’heure de la demande. La valeur par défaut est now.
x-ms-client-request-id facultatif. Fournit une valeur opaque générée par le client avec une limite de caractères de 1 kibioctet (Kio) enregistrée dans les journaux lors de la configuration de la journalisation. Nous vous recommandons vivement d’utiliser cet en-tête pour mettre en corrélation les activités côté client avec les demandes reçues par le serveur. Pour plus d’informations, consultez Surveiller Azure Files.
x-ms-file-change-time: { now ¦ <DateTime> } facultatif. La propriété UTC (Temps universel coordonné) pour le répertoire, au format ISO 8601. Version 2021-06-08 et versions ultérieures. Vous pouvez utiliser la valeur de now pour indiquer l’heure de la demande. La valeur par défaut est now.
x-ms-file-request-intent Obligatoire si Authorization l’en-tête spécifie un jeton OAuth. La valeur acceptable est backup. Cet en-tête spécifie que le Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action ou Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action doit être accordé s’il est inclus dans la stratégie RBAC affectée à l’identité autorisée à l’aide de l’en-tête Authorization . Disponible pour les versions 2022-11-02 et ultérieures.
x-ms-allow-trailing-dot: { <Boolean> } facultatif. Version 2022-11-02 et ultérieures. La valeur booléenne spécifie si un point de fin présent dans l’URL de la demande doit être rogné ou non. Pour plus d’informations, consultez Nommer et référencer des partages, des répertoires, des fichiers et des métadonnées.

Exemple de requête

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=  

response

La réponse inclut un code d'état HTTP et un ensemble d'en-têtes de réponse.

Code d’état

Une opération réussie renvoie le code d'état 201 (Créé).

Pour plus d’informations sur les codes status, consultez Codes d’état et d’erreur.

En-têtes de réponse

La réponse à cette opération inclut les en-têtes décrits dans le tableau suivant. La réponse peut également inclure des en-têtes HTTP standard supplémentaires. Tous les en-têtes standard sont conformes à la spécification du protocole HTTP/1.1.

En-tête de réponse Description
ETag Contient une valeur qui représente la version du répertoire, placée entre guillemets.
Last-Modified Retourne la date et l’heure de la dernière modification du répertoire. Le format de date est conforme à la RFC 1123. Pour plus d’informations, consultez Représenter les valeurs de date/heure dans les en-têtes. N'importe quelle opération qui modifie le répertoire ou ses propriétés entraîne la mise à jour de l'heure de la dernière modification. Les opérations sur les fichiers n’affectent pas l’heure de dernière modification du répertoire.
x-ms-request-id Identifie de manière unique la demande qui a été effectuée et peut être utilisée pour la résolution des problèmes de la demande. Pour plus d’informations, consultez Résoudre les problèmes liés aux opérations d’API.
x-ms-version Indique la version Azure Files utilisée pour exécuter la demande.
Date Valeur de date/heure UTC générée par le service, qui indique l’heure à laquelle la réponse a été lancée.
x-ms-request-server-encrypted: true/false Version 2017-04-17 ou ultérieure. La valeur de cet en-tête est définie true sur si le contenu de la demande est correctement chiffré à l’aide de l’algorithme spécifié, et false sinon.
x-ms-file-permission-key Clé de l’autorisation du répertoire.
x-ms-file-attributes Attributs du système de fichiers sur le répertoire. Consultez la liste des attributs disponibles.
x-ms-file-creation-time Valeur UTC date/heure qui représente la propriété d’heure de création du répertoire.
x-ms-file-last-write-time Valeur de date/heure UTC qui représente la dernière propriété d’heure d’écriture pour le répertoire.
x-ms-file-change-time Date/heure UTC qui représente la propriété change time pour le répertoire.
x-ms-file-file-id ID de fichier du répertoire.
x-ms-file-parent-id ID de fichier parent du répertoire.
x-ms-client-request-id Peut être utilisé pour résoudre les demandes et les réponses correspondantes. La valeur de cet en-tête est égale à la valeur de l’en-tête x-ms-client-request-id s’il est présent dans la demande et que la valeur ne contient pas plus de 1 024 caractères ASCII visibles. Si l’en-tête x-ms-client-request-id n’est pas présent dans la demande, cet en-tête n’est pas présent dans la réponse.

Response body

Aucun.

Exemple de réponse

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  

Autorisation

Seul le propriétaire du compte peut appeler cette opération.

Attributs du système de fichiers

Attribut Attribut de fichier Win32 Définition
Lecture seule FILE_ATTRIBUTE_READONLY Répertoire en lecture seule.
Hidden FILE_ATTRIBUTE_HIDDEN Le répertoire est masqué. Il n’est pas inclus dans une liste de répertoires ordinaire.
Système FILE_ATTRIBUTE_SYSTEM Répertoire dont le système d’exploitation utilise une partie ou utilise exclusivement.
None FILE_ATTRIBUTE_NORMAL Répertoire qui n’a pas d’autres attributs définis. Cet attribut n’est valide que lorsqu’il est utilisé seul.
Répertoire FILE_ATTRIBUTE_DIRECTORY Handle qui identifie un répertoire.
Archivage FILE_ATTRIBUTE_ARCHIVE Répertoire qui est un répertoire d’archive. Les applications utilisent généralement cet attribut pour marquer les fichiers à des fins de sauvegarde ou de suppression.
Hors connexion FILE_ATTRIBUTE_OFFLINE Les données d’un répertoire ne sont pas disponibles immédiatement. Cet attribut de système de fichiers est présenté principalement pour assurer la compatibilité avec Windows. Azure Files ne le prend pas en charge avec les options de stockage hors connexion.
NotContentIndexed FILE_ATTRIBUTE_NOT_CONTENT_INDEXED Le répertoire ne doit pas être indexé par le service d’indexation de contenu.
NoScrubData FILE_ATTRIBUTE_NO_SCRUB_DATA Flux de données utilisateur qui ne doit pas être lu par l’analyseur d’intégrité des données d’arrière-plan. Cet attribut de système de fichiers est présenté principalement pour assurer la compatibilité avec Windows.

Remarques

Si un répertoire du même nom est supprimé quand Create Directory est appelé, le serveur retourne status code 409 (Conflit) et fournit des informations d’erreur supplémentaires qui indiquent que le répertoire est en cours de suppression.

Si un répertoire ou un fichier portant le même nom existe déjà, l'opération échoue avec le code d'état 409 (Conflit). Si le répertoire parent n’existe pas, l’opération échoue avec status code 412 (Échec de la condition préalable).

Il n’est pas possible de créer une hiérarchie de répertoires avec une seule Create Directory opération. Vous pouvez créer le répertoire uniquement si son parent immédiat existe déjà, comme spécifié dans le chemin d’accès. Si le répertoire parent n’existe pas, l’opération échoue avec status code 412 (Échec de la condition préalable).

Create Directoryn’est pas pris en charge sur un instantané de partage, qui est une copie en lecture seule d’un partage. Une tentative d’exécution de cette opération sur un partage instantané échouera avec 400 (InvalidQueryParameterValue)

Voir aussi

Opérations sur les répertoires