Partager via


Créer un fichier

L’opération Create File crée un fichier ou remplace un fichier. Cette opération est prise en charge dans la version 2025-05-05 et ultérieure pour les partages de fichiers avec le protocole NFS activé. Lorsque vous appelez Create File, vous initialisez uniquement le fichier. Pour ajouter du contenu à un fichier, vous appelez l’opération de Put Range.

Disponibilité du protocole

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

Demander

La requête Create File est construite comme suit. Nous vous recommandons d’utiliser HTTPS.

Méthode URI de requête Version HTTP
METTRE https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile HTTP/1.1

Remplacez les composants de chemin d’accès affichés dans l’URI de requête par votre propre, comme décrit dans le tableau suivant :

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

Si le répertoire est spécifié, il doit déjà exister dans le partage avant de pouvoir créer le fichier.
myfile Nom du fichier à 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.

En-têtes de requête

Les en-têtes de requête obligatoires et facultatifs sont décrits dans les tableaux suivants :

En-têtes de requête courants

En-tête de requête 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. Cette opération est prise en charge dans la version 2025-05-05 et ultérieure pour les partages de fichiers avec le protocole NFS activé.

Pour plus d’informations, consultez Contrôle de version pour les services stockage Azure.
Content-Length Optionnel. Doit être égal à zéro s’il est présent.
x-ms-content-length: byte value Obligatoire. Cet en-tête spécifie la taille maximale du fichier, jusqu’à 4 tebibytes (Tio).
Content-Type ou x-ms-content-type Optionnel. Type de contenu MIME du fichier. Le type par défaut est application/octet-stream.
Content-Encoding ou x-ms-content-encoding Optionnel. Spécifie les encodages de contenu qui ont été appliqués au fichier. Cette valeur est retournée au client lorsque l’opération Obtenir un fichier est effectuée sur la ressource de fichier et que vous pouvez l’utiliser pour décoder le contenu du fichier.
Content-Language ou x-ms-content-language Optionnel. Spécifie les langages naturels utilisés par cette ressource.
Cache-Control ou x-ms-cache-control Optionnel. Azure Files stocke cette valeur, mais ne l’utilise pas ou ne la modifie pas.
x-ms-content-md5 Optionnel. Définit le hachage MD5 du fichier.
x-ms-content-disposition Optionnel. Définit l’en-tête Content-Disposition du fichier.
x-ms-type: file Obligatoire. Définissez cet en-tête sur file.
x-ms-meta-name:value Optionnel. Paires nom-valeur associées au fichier 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# .

Remarque: les métadonnées de fichier spécifiées via Azure Files ne sont pas accessibles à partir d’un client SMB (Server Message Block).
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 fichier. Une valeur de now peut être utilisée 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 et ultérieure. Propriété utc (Temps universel coordonné) pour le fichier. Vous pouvez utiliser une valeur de now pour indiquer l’heure de la demande. La valeur par défaut est now.
x-ms-lease-id:<ID> Obligatoire si le fichier a un bail actif. Disponible pour la version 2019-02-02 et ultérieure.

Cet en-tête est ignoré si le fichier se trouve sur un partage de fichiers avec le protocole NFS activé, ce qui ne prend pas en charge les baux de fichiers.
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 la section Superviser Azure Files.
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.

Cet en-tête est ignoré si la cible se trouve sur un partage de fichiers avec le protocole NFS activé, qui prend en charge le point de fin par défaut.

Pour plus d’informations, consultez nommage et référencement de partages, répertoires, fichiers et métadonnées.

En-têtes de requête SMB uniquement

En-tête de requête Description
x-ms-file-change-time: { now ¦ <DateTime> } Optionnel. Version 2021-06-08 et ultérieure. La propriété temps universel coordonné (UTC) du fichier, au format ISO 8601. Vous pouvez utiliser une valeur de now pour indiquer l’heure de la demande. La valeur par défaut est now.
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é du fichier 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. Vous pouvez utiliser cet en-tête si la taille des autorisations est de 8 kibioctets (KiB) ou moins. Sinon, vous pouvez utiliser x-ms-file-permission-key. Si vous spécifiez l’en-tête, 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.
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 est défini sur inherit, cet en-tête ne doit pas être défini. Si x-ms-file-permission 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> 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. 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.

Vous pouvez créer la clé en appelant l’API Create Permission.
x-ms-file-attributes Obligatoire : version 2019-02-02 à 2021-04-10. Facultatif : version 2021-06-08 et ultérieure. Cet en-tête contient les attributs du système de fichiers à définir sur le fichier. Pour plus d’informations, consultez la liste des attributs disponibles . La valeur par défaut est None.

En-têtes de requête NFS uniquement

En-tête de requête Description
x-ms-mode Optionnel. Version 2025-05-05 et ultérieure. Bits de mode à définir sur le fichier. Le mode est représenté au format octal numérique 12 bits ou au format symbolique « rwx ». La valeur par défaut est 0644. Consultez des autorisations de fichier POSIX (mode).
x-ms-owner Optionnel. Version 2025-05-05 et ultérieure. Identificateur utilisateur (UID) du propriétaire du fichier à définir sur le fichier. La valeur par défaut est 0 (racine).
x-ms-group Optionnel. Version 2025-05-05 et ultérieure. Identificateur de groupe (GID) du propriétaire du fichier à définir sur le fichier. La valeur par défaut est 0 (groupe racine).
x-ms-file-file-type Optionnel. Version 2025-05-05 et ultérieure. Type du fichier. Doit être « Normal » s’il est présent.

Corps de la demande

Aucun.

Exemple de requête

Request Syntax:  
PUT https://myaccount.file.core.windows.net/myshare/myfile HTTP/1.1  
  
Request Headers:  
x-ms-version: 2020-02-10
x-ms-date: Mon, 27 Jan 2014 22:41:55 GMT  
Content-Type: text/plain; charset=UTF-8  
x-ms-content-length: 1024  
Authorization: SharedKey myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g=  

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 dans les tableaux suivants. 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êtes de réponse courants

En-tête de réponse Description
ETag L’ETag contient une valeur qui représente la version du fichier. La valeur est placée entre guillemets.
Last-Modified Retourne la date et l’heure de la dernière modification du fichier. 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 et ultérieure. La valeur de cet en-tête est définie sur true si vous avez correctement chiffré le contenu de la requête à l’aide de l’algorithme spécifié. Si le chiffrement échoue, la valeur est false.
x-ms-file-creation-time Valeur de date/heure UTC qui représente la propriété d’heure de création du fichier.
x-ms-file-last-write-time Valeur de date/heure UTC qui représente la dernière propriété d’heure d’écriture du fichier.
x-ms-file-change-time Date/heure UTC qui représente la propriété d’heure de modification du fichier.
x-ms-file-file-id ID de fichier du fichier.
x-ms-file-parent-id ID de fichier parent du fichier.
x-ms-client-request-id Permet de résoudre les problèmes liés aux demandes et à leurs 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 1 024 caractères ASCII visibles. Si l’en-tête x-ms-client-request-id n’est pas présent dans la requête, il n’est pas présent dans la réponse.

En-têtes de réponse SMB uniquement

En-tête de réponse Description
x-ms-file-permission-key Version 2019-02-02 et ultérieure. Clé de l’autorisation du fichier.
x-ms-file-attributes Version 2019-02-02 et ultérieure. Attributs du système de fichiers du fichier. Pour plus d’informations, consultez la liste des attributs disponibles.

En-têtes de réponse NFS uniquement

En-tête de réponse Description
x-ms-mode Version 2025-05-05 et ultérieure. Mode du fichier. Consultez des autorisations de fichier POSIX (mode).
x-ms-owner Version 2025-05-05 et ultérieure. Identificateur utilisateur (UID) du propriétaire du fichier.
x-ms-group Version 2025-05-05 et ultérieure. Identificateur de groupe (GID) du propriétaire du fichier.
x-ms-file-file-type Version 2025-05-05 et ultérieure. Le type du fichier, la valeur possible est « Standard ».

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 Fichier en lecture seule. Les applications peuvent lire le fichier, mais elles ne peuvent pas y écrire ni la supprimer.
Caché FILE_ATTRIBUTE_HIDDEN Le fichier est masqué. Il n’est pas inclus dans une liste d’annuaires ordinaire.
Système FILE_ATTRIBUTE_SYSTEM Fichier dont le système d’exploitation utilise une partie ou utilise exclusivement.
Aucun FILE_ATTRIBUTE_NORMAL Fichier qui n’a pas d’autres attributs définis. Cet attribut est valide uniquement lorsqu’il est utilisé seul.
Archiver FILE_ATTRIBUTE_ARCHIVE Fichier qui est un fichier d’archivage. Les applications utilisent généralement cet attribut pour marquer les fichiers à des fins de sauvegarde ou de suppression.
Temporaire FILE_ATTRIBUTE_TEMPORARY Fichier utilisé pour le stockage temporaire.
Hors-ligne FILE_ATTRIBUTE_OFFLINE Les données d’un fichier 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 fichier 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.

Autorisations de fichier POSIX (mode)

Les autorisations de fichier POSIX peuvent être spécifiées numériquement dans un format octal numérique 12 bits ou dans un format symbolique « rwx ». Exemples:

  • « 0644 » ou « rw-r--r--- » : l’utilisateur (propriétaire du fichier) dispose d’une autorisation de lecture et d’écriture. Le groupe dispose d’une autorisation de lecture. D’autres disposent d’une autorisation de lecture.
  • « 0755 » ou « rwxr-xr-x » : l’utilisateur (propriétaire du fichier) dispose d’une autorisation de lecture, d’écriture et d’exécution. Le groupe dispose d’une autorisation de lecture et d’exécution. D’autres disposent d’autorisations de lecture et d’exécution.

Format octal numérique

Les trois numéros octal d’ordre le plus bas représentent les autorisations pour le propriétaire/l’utilisateur, le groupe et d’autres et sont indiqués à l’aide d’un nombre octal (0-7), formé à l’aide d’une combinaison au niveau du bit « 4 » (Lecture), « 2 » (Écriture), « 1 » (Exécuter). Le numéro octal de l’ordre le plus élevé (0-7) est utilisé pour indiquer une combinaison d’autorisations « 4 » (SetUID), « 2 » (SetGID), « 1 » (StickyBit).

Format Autorisation
0700 L’utilisateur (propriétaire du fichier) dispose d’une autorisation de lecture, d’écriture et d’exécution.
0400 L’utilisateur dispose d’une autorisation de lecture.
0200 L’utilisateur dispose d’une autorisation d’écriture.
0100 L’utilisateur a l’autorisation d’exécution.
0070 Le groupe dispose d’une autorisation de lecture, d’écriture et d’exécution.
0040 Le groupe dispose d’une autorisation de lecture.
0020 Le groupe dispose d’une autorisation d’écriture.
0010 Le groupe dispose d’une autorisation d’exécution.
0007 D’autres disposent d’autorisations de lecture, d’écriture et d’exécution.
0004 D’autres disposent d’une autorisation de lecture.
0002 D’autres disposent d’une autorisation d’écriture.
0001 D’autres ont une autorisation d’exécution.
4000 Définissez l’ID utilisateur effectif sur le fichier.
2000 Définissez l’ID de groupe effectif sur le fichier.
1000 Définissez pour indiquer que le fichier peut être supprimé ou renommé uniquement par le propriétaire du fichier, le propriétaire du répertoire ou l’utilisateur racine.

Format symbolique « rwx »

Les autorisations de propriétaire/utilisateur, de groupe et d’autres sont indiquées à l’aide d’une combinaison de caractères « r » (lecture), « w » (écriture) et « x » (Exécuter).

Format Autorisation
rwx------ L’utilisateur (propriétaire du fichier) dispose d’une autorisation de lecture, d’écriture et d’exécution.
r-------- L’utilisateur dispose d’une autorisation de lecture.
-w------- L’utilisateur dispose d’une autorisation d’écriture.
--x------ L’utilisateur a l’autorisation d’exécution.
---rwx--- Le groupe dispose d’une autorisation de lecture, d’écriture et d’exécution.
---r----- Le groupe dispose d’une autorisation de lecture.
----w---- Le groupe dispose d’une autorisation d’écriture.
-----x--- Le groupe dispose d’une autorisation d’exécution.
------rwx D’autres disposent d’autorisations de lecture, d’écriture et d’exécution.
------r- D’autres disposent d’une autorisation de lecture.
-------w- D’autres disposent d’une autorisation d’écriture.
--------x D’autres ont une autorisation d’exécution.

Remarques

Pour créer un fichier, commencez par l’initialiser en appelant Create File et en spécifiant sa taille maximale, jusqu’à 4 Tio. Lorsque vous effectuez cette opération, n’incluez pas de contenu dans le corps de la demande. Une fois que vous avez créé le fichier, appelez Put Range pour ajouter du contenu au fichier ou pour le modifier.

Vous pouvez modifier la taille du fichier en appelant Set File Properties.

Si le partage ou le répertoire parent n’existe pas, l’opération échoue avec le code d’état 412 (Échec de la condition préalable).

Note

Les propriétés de fichier cache-control, content-type, content-md5, content-encodinget content-language sont séparées des propriétés du système de fichiers disponibles pour les clients SMB. Les clients SMB ne peuvent pas lire, écrire ou modifier ces valeurs de propriété.

Pour créer le fichier, si le fichier existant possède un bail actif, le client doit spécifier un ID de bail valide sur la demande. Si le client ne spécifie pas d’ID de bail ou spécifie un ID de bail non valide, Azure Files retourne le code d’état 412 (Échec de la condition préalable). Si le client spécifie un ID de bail mais que le fichier n’a pas de bail actif, Azure Files retourne également le code d’état 412 (Échec de la condition préalable) dans cette instance. Si le client spécifie un ID de bail sur un fichier qui n’existe pas encore, Azure Files retourne le code d’état 412 (Échec de la condition préalable) pour les demandes effectuées sur la version 2019-02-02 et ultérieures.

Si un fichier existant avec un bail actif est remplacé par une opération de Create File, le bail persiste sur le fichier mis à jour jusqu’à ce qu’il soit libéré.

Create File 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 le code d’état 400 (InvalidQueryParameterValue).

Voir aussi

opérations sur les fichiers