Partager via


Créer un répertoire

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

Disponibilité du protocole

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

Demander

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

Méthode URI de requête 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 vos propres composants, comme indiqué dans le tableau suivant :

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

Si le répertoire parent est spécifié, il doit déjà exister dans le partage avant de pouvoir 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 d’URI

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

Paramètre Description
timeout Optionnel. Le paramètre timeout est exprimé en secondes. Pour plus d’informations, consultez Définir des délais d’attente 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 demandes vers le stockage Azure.
Date ou x-ms-date Obligatoire. Spécifie l’heure UTC (Temps universel coordonné) de la requête. Pour plus d’informations, consultez Autoriser les demandes vers le stockage Azure.
x-ms-version Obligatoire pour toutes les demandes autorisées. Spécifie la version de l’opération à utiliser pour cette requête. Pour plus d’informations, consultez Contrôle de version pour les services stockage Azure.
x-ms-meta-name:value Optionnel. 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 d’affectation de noms pour les identificateurs C# .
x-ms-file-permission: { inherit ¦ <SDDL> ¦ <binary> } Dans la version 2019-02-02 à 2021-04-10, cet en-tête est requis si x-ms-file-permission-key n’est pas spécifié. Depuis 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 de définition du descripteur de sécurité (SDDL) ou (version 2024-11-04 ou ultérieure) au format de descripteur de sécurité binaire en base64 format de descripteur de sécurité binaire. Vous pouvez spécifier le format à utiliser avec l’en-tête x-ms-file-permission-format. Cet en-tête peut être utilisé si la taille des autorisations est supérieure à 8 kibioctets (KiB). Sinon, vous pouvez utiliser x-ms-file-permission-key. S’il est spécifié, il doit avoir un propriétaire, un groupe et liste de contrôle d’accès discrétionnaire (DACL). Vous pouvez transmettre une valeur de inherit pour hériter du répertoire parent.

Remarque: vous pouvez spécifier x-ms-file-permission ou x-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-format: { sddl ¦ binary } Optionnel. Version 2024-11-04 ou ultérieure. Spécifie si la valeur passée dans x-ms-file-permission est au format SDDL ou au format binaire. Si x-ms-file-permission-key est défini sur inherit, cet en-tête ne doit pas être défini. Si x-ms-file-permission-key est défini sur une autre valeur que inheritet si cet en-tête n’est pas défini, la valeur par défaut de sddl 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 requis si x-ms-file-permission n’est pas spécifié. Depuis 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 x-ms-file-permission ou x-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érieure. 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 ultérieure. Propriété temps universel coordonné (UTC) pour le répertoire. Vous pouvez utiliser une 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 le répertoire. Vous pouvez utiliser une valeur de now pour indiquer l’heure de la demande. La valeur par défaut est now.
x-ms-client-request-id Optionnel. Fournit une valeur opaque générée par le client avec une limite de caractères de 1 kibioctet (KiB) 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 Monitor Azure Files.
x-ms-file-change-time: { now ¦ <DateTime> } Optionnel. La propriété temps universel coordonné (UTC) pour le répertoire, au format ISO 8601. Version 2021-06-08 et ultérieure. Vous pouvez utiliser une 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 en-tête spécifie un jeton OAuth. La valeur acceptable est backup. Cet en-tête spécifie que les Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action ou Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action doivent être accordés s’ils sont inclus dans la stratégie RBAC affectée à l’identité autorisée à l’aide de l’en-tête Authorization. Disponible pour la version 2022-11-02 et ultérieure.
x-ms-allow-trailing-dot: { <Boolean> } Optionnel. Version 2022-11-02 et ultérieure. La valeur booléenne spécifie si un point de fin présent dans l’URL de requête doit être supprimé ou non. Pour plus d’informations, consultez nommage et référencement de partages, répertoires, fichiers et 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=  

Réponse

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 retourne le code d’état 201 (créé).

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

En-têtes de réponse

La réponse de 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 de protocole HTTP/1.1.

En-tête de réponse Description
ETag Contient une valeur qui représente la version du répertoire, entre guillemets.
Last-Modified Retourne la date et l’heure de la dernière modification du répertoire. Le format de date suit RFC 1123. Pour plus d’informations, consultez Représenter les valeurs de date/heure dans les en-têtes. Toute opération qui modifie le répertoire ou ses propriétés met à jour l’heure de 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 résoudre les problèmes de la demande. Pour plus d’informations, consultez Résoudre les problèmes d’opérations d’API.
x-ms-version Indique la version d’Azure Files utilisée pour exécuter la requête.
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 sur true si le contenu de la requête 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 dans le répertoire. Consultez la liste des attributs disponibles .
x-ms-file-creation-time Valeur de date/heure UTC 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é d’heure de modification du 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 requête et que la valeur ne contient pas plus de 1024 caractères ASCII visibles. Si l’en-tête x-ms-client-request-id n’est pas présent dans la requête, cet en-tête n’est pas présent dans la réponse.

Corps de la réponse

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
ReadOnly FILE_ATTRIBUTE_READONLY Répertoire en lecture seule.
Caché FILE_ATTRIBUTE_HIDDEN Le répertoire est masqué. Il n’est pas inclus dans une liste d’annuaires ordinaire.
Système FILE_ATTRIBUTE_SYSTEM Répertoire dont le système d’exploitation utilise une partie ou utilise exclusivement.
Aucun FILE_ATTRIBUTE_NORMAL Répertoire qui n’a pas d’autres attributs définis. Cet attribut est valide uniquement lorsqu’il est utilisé seul.
Répertoire FILE_ATTRIBUTE_DIRECTORY Handle qui identifie un répertoire.
Archiver 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-ligne 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 Le flux de données utilisateur qui n’est pas à lire par le scanneur d’intégrité des données en 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 portant le même nom est supprimé lorsque Create Directory est appelé, le serveur retourne le code d’état 409 (Conflit) et fournit des informations d’erreur supplémentaires qui indiquent que le répertoire est supprimé.

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 le code d’état 412 (Échec de la condition préalable).

Il n’est pas possible de créer une hiérarchie d’annuaires avec une seule opération de Create Directory. Vous ne pouvez créer le répertoire que 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 le code d’état 412 (Échec de la condition préalable).

Create Directory n’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 instantané de partage échoue avec 400 (InvalidQueryParameterValue)

Voir aussi

Opérations de sur les répertoires