Créer un fichier
L'opération Create File
crée un fichier ou remplace un fichier. Lorsque vous appelez Create File
, vous initialisez uniquement le fichier. Pour ajouter du contenu à un fichier, vous appelez l’opération Put Range
.
Disponibilité du protocole
Protocole de partage de fichiers activé | Disponible |
---|---|
SMB | |
NFS |
Requête
Vous pouvez construire une Create File
requête en procédant comme suit. Nous vous recommandons d’utiliser HTTPS.
Méthode | URI de demande | Version HTTP |
---|---|---|
PUT |
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 le vôtre, comme décrit dans le tableau suivant :
Composant Chemin d’accès | Description |
---|---|
myaccount |
nom de votre compte de stockage. |
myshare |
Nom du partage de fichiers. |
mydirectorypath |
facultatif. Chemin d'accès au répertoire où le fichier doit être créé. Si le chemin d'accès au répertoire est omis, le fichier sera 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 URI
Vous pouvez spécifier les paramètres supplémentaires suivants dans 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. |
En-têtes de requête
Les en-têtes de requête obligatoires et facultatifs sont décrits dans le tableau suivant :
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 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. |
Content-Length |
facultatif. S'il est présent, sa valeur doit être égale à zéro. |
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 le 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 ni ne la modifie. |
x-ms-content-md5 |
facultatif. Définit le hachage MD5 du fichier. |
x-ms-content-disposition |
facultatif. Définit l’en-tête du Content-Disposition fichier. |
x-ms-type: file |
Obligatoire. Définissez cet en-tête sur la valeur file . |
x-ms-meta-name:value |
facultatif. Paires nom-valeur associées au fichier en tant que métadonnées. Les noms de métadonnées doivent respecter les règles de nommage des 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-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 fichier spécifié dans le langage SDDL (Security Descriptor Definition Language). Vous pouvez utiliser cet en-tête si la taille des autorisations est de 8 kibioctets (Kio) 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 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. |
x-ms-file-permission-key: <PermissionKey> |
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. 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érieures. 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 . |
x-ms-file-creation-time: { now ¦ <DateTime> } |
Obligatoire : version 2019-02-02 à 2021-04-10. Facultatif : version 2021-06-08 et ultérieures. Propriété d’heure de création UTC (Coordinated Universal Time) 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érieures. Propriété UTC (Temps universel coordonné) pour le fichier. Vous pouvez utiliser la 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. |
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. Version 2021-06-08 et ultérieures. La propriété UTC (Temps universel coordonné) pour le fichier, au format ISO 8601. 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 requête 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. |
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=
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 État et codes 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 |
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 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 et versions ultérieures. 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-permission-key |
Clé de l’autorisation du fichier. |
x-ms-file-attributes |
Attributs du système de fichiers sur le fichier. Pour plus d’informations, 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 fichier. |
x-ms-file-last-write-time |
Valeur de date/heure UTC qui représente la propriété d’heure de la dernière écriture pour le 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 |
Utilisé pour résoudre les 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 demande, il 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 | Fichier en lecture seule. Les applications peuvent lire le fichier, mais elles ne peuvent pas y écrire ni le supprimer. |
Hidden | FILE_ATTRIBUTE_HIDDEN | Le fichier est masqué. Il n’est pas inclus dans une liste de répertoires ordinaire. |
Système | FILE_ATTRIBUTE_SYSTEM | Fichier dont le système d’exploitation utilise une partie ou utilise exclusivement. |
None | FILE_ATTRIBUTE_NORMAL | Fichier qui n’a pas d’autres attributs définis. Cet attribut est uniquement valide quand il est utilisé seul. |
Archive | FILE_ATTRIBUTE_ARCHIVE | Fichier qui est un fichier d’archive. 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 connexion | 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 | Flux de données utilisateur qui ne doit pas être lu par le scanneur 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
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 le fichier créé, appelez Put Range
pour ajouter du contenu au fichier ou 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 status code 412 (échec de la condition préalable).
Notes
Les propriétés de cache-control
fichier , content-type
, content-md5
, content-encoding
et content-language
sont distinctes des propriétés du système de fichiers qui sont 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 a 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 status code 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 status code 412 (Échec de la condition préalable) dans cette instance également. Si le client spécifie un ID de bail sur un fichier qui n’existe pas encore, Azure Files retourne status code 412 (Échec de la condition préalable) pour les demandes effectuées contre la version 2019-02-02 et ultérieure.
Si un fichier existant avec un bail actif est remplacé par une Create File
opération, 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 partage instantané, qui est une copie en lecture seule d’un partage. Une tentative d’exécution de cette opération sur un partage instantané échoue avec status code 400 (InvalidQueryParameterValue).