Partager via


Path - Create

Créer un fichier | Créer un répertoire | Renommer le fichier | Renommer le répertoire
Créez ou renommez un fichier ou un répertoire. Par défaut, la destination est remplacée et si la destination existe déjà et a un bail, le bail est rompu. Notez que le changement de nom d’un fichier ou d’un répertoire dans un conteneur avec une stratégie de chiffrement de conteneur appliquée n’est pas autorisé, sauf si le conteneur source a également une stratégie de chiffrement de conteneur appliquée qui correspond. Cette opération prend en charge les requêtes HTTP conditionnelles. Pour plus d’informations, consultez Spécification des en-têtes conditionnels pour les opérations du service Blob. Pour échouer si la destination existe déjà, utilisez une demande conditionnelle avec If-None-Match : « * ».

PUT https://{accountName}.{dnsSuffix}/{filesystem}/{path}
PUT https://{accountName}.{dnsSuffix}/{filesystem}/{path}?resource={resource}&continuation={continuation}&mode={mode}&timeout={timeout}

Paramètres URI

Nom Dans Obligatoire Type Description
accountName
path True

string

Nom du compte stockage Azure.

dnsSuffix
path True

string

Suffixe DNS du point de terminaison Azure Data Lake Storage.

filesystem
path True

string

Identificateur du système de fichiers.

Modèle d’expression régulière: ^[$a-z0-9](?!.*--)[-a-z0-9]{1,61}[a-z0-9]$

path
path True

string

Chemin du fichier ou du répertoire.

continuation
query

string

facultatif. Lors du changement de nom d’un répertoire, le nombre de chemins d’accès renommés à chaque appel est limité. Si le nombre de chemins à renommer dépasse cette limite, un jeton de continuation est retourné dans cet en-tête de réponse. Lorsqu’un jeton de continuation est retourné dans la réponse, il doit être spécifié dans un appel ultérieur de l’opération de renommage pour continuer à renommer le répertoire.

mode
query

PathRenameMode

facultatif. Valide uniquement lorsque l’espace de noms est activé. Ce paramètre détermine le comportement de l’opération de renommage. La valeur doit être « hérité » ou « posix », et la valeur par défaut sera « posix ».

resource
query

PathResourceType

Obligatoire uniquement pour Créer un fichier et Créer un répertoire. La valeur doit être « file » ou « directory ».

timeout
query

integer

int32

Valeur de délai d’expiration de l’opération facultative en secondes. La période commence lorsque la demande est reçue par le service. Si la valeur du délai d’expiration s’écoule avant la fin de l’opération, l’opération échoue.

En-tête de la demande

Media Types: "application/octet-stream"

Nom Obligatoire Type Description
Cache-Control

string

facultatif. Le service stocke cette valeur et l’inclut dans l’en-tête de réponse « Cache-Control » pour les opérations « Read File » pour les opérations « Read File ».

Content-Encoding

string

facultatif. Spécifie les encodages de contenu qui ont été appliqués au fichier. Cette valeur est retournée au client lorsque l’opération « Lire le fichier » est effectuée.

Content-Language

string

facultatif. Spécifie le langage naturel utilisé par l’audience prévue pour le fichier.

Content-Disposition

string

facultatif. Le service stocke cette valeur et l’inclut dans l’en-tête de réponse « Content-Disposition » pour les opérations « Read File ».

x-ms-cache-control

string

facultatif. Le service stocke cette valeur et l’inclut dans l’en-tête de réponse « Cache-Control » pour les opérations « Read File ».

x-ms-content-type

string

facultatif. Le service stocke cette valeur et l’inclut dans l’en-tête de réponse « Content-Type » pour les opérations « Read File ».

x-ms-content-encoding

string

facultatif. Le service stocke cette valeur et l’inclut dans l’en-tête de réponse « Content-Encoding » pour les opérations « Read File ».

x-ms-content-language

string

facultatif. Le service stocke cette valeur et l’inclut dans l’en-tête de réponse « Content-Language » pour les opérations « Read File ».

x-ms-content-disposition

string

facultatif. Le service stocke cette valeur et l’inclut dans l’en-tête de réponse « Content-Disposition » pour les opérations « Read File ».

x-ms-rename-source

string

Fichier ou répertoire facultatif à renommer. La valeur doit avoir le format suivant : « /{filesystem}/{path} » ou « /{filesystem}/{path} ?sastoken » lors de l’utilisation d’un jeton SAS. Si « x-ms-properties » est spécifié, les propriétés remplacent les propriétés existantes ; sinon, les propriétés existantes seront conservées. Cette valeur doit être une chaîne encodée en pourcentage d’URL. Notez que la chaîne ne peut contenir que des caractères ASCII dans le jeu de caractères ISO-8859-1.

x-ms-lease-id

string

facultatif. ID de bail pour le chemin spécifié dans l’URI. Le chemin d’accès à remplacer doit avoir un bail actif et l’ID de bail doit correspondre.

Modèle d’expression régulière: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$

x-ms-source-lease-id

string

Facultatif pour les opérations de renommage. ID de bail pour le chemin d’accès source. Le chemin d’accès source doit avoir un bail actif et l’ID de bail doit correspondre.

Modèle d’expression régulière: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$

x-ms-properties

string

facultatif. Propriétés définies par l’utilisateur à stocker avec le fichier ou le répertoire, au format d’une liste séparée par des virgules de paires nom/valeur « n1=v1, n2 =v2, ... », où chaque valeur est une chaîne codée en base64. Notez que la chaîne ne peut contenir que des caractères ASCII dans le jeu de caractères ISO-8859-1.

x-ms-permissions

string

Facultatif et valide uniquement si l’espace de noms hiérarchique est activé pour le compte. Définit les autorisations d’accès POSIX pour le propriétaire du fichier, le groupe propriétaire du fichier, etc. Chaque classe peut recevoir l’autorisation lecture (4), écriture (2) ou exécution (1). La notation symbolique (rwxrw-rw-) et la notation octal à 4 chiffres (par exemple, 0766) sont prises en charge. Le bit collant est également pris en charge et, en notation symbolique, il est représenté par la lettre t ou T dans le caractère final, selon que le bit d’exécution pour la catégorie autres est défini ou non défini respectivement (par exemple, rwxrw-rw- avec le bit collant est représenté par rwxrw-rwT. Un rwxrw-rwx avec un bit collant est représenté par rwxrw-rwt), l’absence de t ou T indique que le bit collant n’est pas défini. Dans la notation octal à 4 chiffres, son représenté par un 1er chiffre (par exemple, 1766 représente rwxrw-rw- avec un bit collant et 0766 représente rwxrw-rw- sans bit collant). Non valide conjointement avec x-ms-acl.

x-ms-umask

string

Facultatif et valide uniquement si l’espace de noms hiérarchique est activé pour le compte. Lors de la création d’un fichier ou d’un répertoire et que le dossier parent n’a pas de liste de contrôle d’accès par défaut, l’umask limite les autorisations du fichier ou du répertoire à créer. L’autorisation résultante est donnée par p & ^u, où p est l’autorisation et vous êtes l’umask. Par exemple, si p est 0777 et que vous avez la valeur 0057, l’autorisation obtenue est 0720. L’autorisation par défaut est 0777 pour un répertoire et 0666 pour un fichier. L’umask par défaut est 0027. L’umask doit être spécifié en notation octale à 4 chiffres (par exemple, 0766).

x-ms-owner

string

Facultatif et valide uniquement si l’espace de noms hiérarchique est activé pour le compte. Définit le propriétaire du fichier ou du répertoire.

x-ms-group

string

Facultatif et valide uniquement si l’espace de noms hiérarchique est activé pour le compte. Définit le groupe propriétaire du fichier ou du répertoire.

x-ms-acl

string

Facultatif et valide uniquement si l’espace de noms hiérarchique est activé pour le compte. Définit les droits de contrôle d’accès POSIX sur les fichiers et les répertoires. Chaque entrée de contrôle d’accès (ACE) se compose d’une étendue, d’un type, d’un identificateur d’utilisateur ou de groupe et d’autorisations au format « [scope :][type] :[id] :[permissions] ». L’étendue doit être « par défaut » pour indiquer que l’ace appartient à la liste de contrôle d’accès par défaut d’un répertoire ; sinon, l’étendue est implicite et l’ACE appartient à l’ACL d’accès. Il existe quatre types ACE : « user » accorde des droits au propriétaire ou à un utilisateur nommé, « group » accorde des droits au groupe propriétaire ou à un groupe nommé, « mask » restreint les droits accordés aux utilisateurs nommés et aux membres des groupes, et « other » accorde des droits à tous les utilisateurs introuvables dans les autres entrées. L’identificateur d’utilisateur ou de groupe est omis pour les entrées de type « mask » et « other ». L’identificateur d’utilisateur ou de groupe est également omis pour le propriétaire et le groupe propriétaire. Le champ d’autorisation est une séquence de 3 caractères où le premier caractère est « r » pour accorder l’accès en lecture, le deuxième caractère est « w » pour accorder l’accès en écriture et le troisième caractère est « x » pour accorder l’autorisation d’exécution. Si l’accès n’est pas accordé, le caractère « - » est utilisé pour indiquer que l’autorisation est refusée. Par exemple, la liste de contrôle d’accès suivante accorde des droits de lecture, d’écriture et d’exécution au propriétaire du fichier et à john.doe@contoso, le droit de lecture sur le groupe propriétaire et rien à tout le monde : « user ::rwx,user :john.doe@contoso :rwx,group ::r--,other ::---,mask=rwx ». Non valide conjointement avec x-ms-permissions.

x-ms-proposed-lease-id

string

facultatif. Spécifiez un ID de bail proposé si vous souhaitez acquérir un bail lors de la création d’un fichier ou d’un répertoire. Un bail est acquis avec cet ID de bail si la création réussit.

Modèle d’expression régulière: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$

x-ms-expiry-option

string

Facultatif et valide uniquement si l’espace de noms hiérarchique est activé pour le compte et pris en charge uniquement sur les fichiers. Spécifiez l’une des options d’expiration suivantes si vous souhaitez définir l’heure d’expiration d’un fichier lors de la création. « RelativeToNow » Définissez l’expiration par rapport à l’heure actuelle. L’utilisateur transmettra le nombre de millisecondes écoulées à partir de maintenant. Durée absolue au format RFC 1123. « Neverexpire » Définissez le fichier pour qu’il n’expire jamais, l’heure d’expiration n’a pas besoin d’être spécifiée avec cette option.

x-ms-expiry-time

string

Facultatif et valide uniquement si l’espace de noms hiérarchique est activé pour le compte et pris en charge uniquement sur les fichiers. Spécifiez l’heure d’expiration à laquelle le fichier doit expirer. Donné en tant que chaîne de temps HTTP RFC 1123 ou nombre de millisecondes en fonction de l’option d’expiration.

If-Match

string

facultatif. Spécifiez une valeur ETag. Spécifiez cet en-tête pour exécuter l'opération uniquement si l'ETag de la ressource correspond à la valeur spécifiée. L’ETag doit être spécifié entre guillemets.

If-None-Match

string

facultatif. Valeur ETag ou valeur générique spéciale (« * »). Spécifiez cet en-tête pour exécuter l'opération uniquement si l'ETag de la ressource ne correspond pas à la valeur spécifiée. L’ETag doit être spécifié entre guillemets.

If-Modified-Since

string

facultatif. Valeur de date et heure. Spécifiez cet en-tête pour effectuer l’opération uniquement si la ressource a été modifiée depuis la date et l’heure spécifiées.

If-Unmodified-Since

string

facultatif. Valeur de date et heure. Spécifiez cet en-tête pour effectuer l’opération uniquement si la ressource n’a pas été modifiée depuis la date et l’heure spécifiées.

x-ms-source-if-match

string

facultatif. Spécifiez une valeur ETag. Spécifiez cet en-tête pour effectuer l’opération de renommage uniquement si l’ETag de la source correspond à la valeur spécifiée. L’ETag doit être spécifié entre guillemets.

x-ms-source-if-none-match

string

facultatif. Valeur ETag ou valeur générique spéciale (« * »). Spécifiez cet en-tête pour effectuer l’opération de renommage uniquement si l’ETag de la source ne correspond pas à la valeur spécifiée. L’ETag doit être spécifié entre guillemets.

x-ms-source-if-modified-since

string

facultatif. Valeur de date et heure. Spécifiez cet en-tête pour effectuer l’opération de renommage uniquement si la source a été modifiée depuis la date et l’heure spécifiées.

x-ms-source-if-unmodified-since

string

facultatif. Valeur de date et heure. Spécifiez cet en-tête pour effectuer l’opération de renommage uniquement si la source n’a pas été modifiée depuis la date et l’heure spécifiées.

x-ms-encryption-key

string

facultatif. Clé de chiffrement AES-256 encodée en Base64.

x-ms-encryption-key-sha256

string

facultatif. Hachage SHA256 encodé en Base64 de la clé de chiffrement.

x-ms-encryption-algorithm: AES256

string

facultatif. Spécifie l’algorithme à utiliser pour le chiffrement. La valeur de cet en-tête doit être AES256.

x-ms-encryption-context

string

facultatif. La valeur par défaut est « Empty ». Si la valeur est définie, les métadonnées du système Blob/File seront définies. Longueur maximale : 1024. Valide uniquement lorsque l’espace de noms hiérarchique est activé pour le compte.

x-ms-client-request-id

string

Un UUID enregistré dans les journaux d’analyse pour la résolution des problèmes et la corrélation.

Modèle d’expression régulière: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$

x-ms-date

string

Spécifie la date/heure en temps universel coordonné (UTC) pour la requête. Cela est obligatoire lors de l’utilisation de l’autorisation de clé partagée.

x-ms-version

string

Spécifie la version du protocole REST utilisé pour le traitement de la demande. Cela est obligatoire lors de l’utilisation de l’autorisation de clé partagée.

Réponses

Nom Type Description
201 Created

Le fichier ou le répertoire a été créé.

En-têtes

  • Date: string
  • ETag: string
  • Last-Modified: string
  • x-ms-request-id: string
  • x-ms-version: string
  • x-ms-continuation: string
  • Content-Length: integer
  • x-ms-request-server-encrypted: true/false: boolean
  • x-ms-encryption-key-sha256: string
  • x-ms-encryption-scope: string
Other Status Codes

DataLakeStorageError

Une erreur est survenue. Les status HTTP possibles, le code et les chaînes de message sont répertoriés ci-dessous :

  • 400 Requête incorrecte, ContentLengthMustBeZero, « L’en-tête de requête Content-Length doit être égal à zéro ».
  • 400 Demande incorrecte, InvalidAuthenticationInfo, « Les informations d’authentification ne sont pas fournies dans le format correct. Vérifiez la valeur de l’en-tête d’autorisation. »
  • 400 Requête incorrecte, InvalidFlushPosition, « Les données chargées ne sont pas contiguës ou la valeur du paramètre de requête de position n’est pas égale à la longueur du fichier après l’ajout des données chargées . »
  • 400 Requête incorrecte, InvalidHeaderValue, « La valeur de l’un des en-têtes HTTP n’est pas au format correct ».
  • 400 Requête incorrecte, InvalidHttpVerb, « Le verbe HTTP spécifié n’est pas valide , il n’est pas reconnu par le serveur ».
  • 400 Requête incorrecte, InvalidInput, « Une des entrées de demande n’est pas valide ».
  • 400 Requête incorrecte, InvalidPropertyName, « Un nom de propriété ne peut pas être vide ».
  • 400 Requête incorrecte, InvalidPropertyName, « Le nom de la propriété contient des caractères non valides ».
  • 400 Requête incorrecte, InvalidQueryParameterValue, « La valeur de l’un des paramètres de requête spécifiés dans l’URI de requête n’est pas valide . »
  • 400 Requête incorrecte, InvalidResourceName, « Le nom de ressource spécifié contient des caractères non valides ».
  • 400 Requête incorrecte, InvalidSourceUri, « L’URI source n’est pas valide ».
  • 400 Requête incorrecte, InvalidUri, « L’URI de demande n’est pas valide ».
  • 400 Requête incorrecte, MissingRequiredHeader, « Un en-tête HTTP obligatoire pour cette requête n’est pas spécifié ».
  • 400 Requête incorrecte, MissingRequiredQueryParameter, « Un paramètre de requête obligatoire pour cette requête n’est pas spécifié . »
  • 400 Requête incorrecte, MultipleConditionHeadersNotSupported, « Les en-têtes de condition multiples ne sont pas pris en charge ».
  • 400 Requête incorrecte, OutOfRangeInput, « L’une des entrées de requête est hors de portée ».
  • 400 Requête incorrecte, OutOfRangeQueryParameterValue, « L’un des paramètres de requête spécifiés dans l’URI de requête se trouve en dehors de la plage autorisée ».
  • 400 Requête incorrecte, UnsupportedHeader, « L’un des en-têtes spécifiés dans la demande n’est pas pris en charge ».
  • 400 Requête incorrecte, UnsupportedQueryParameter, « L’un des paramètres de requête spécifiés dans l’URI de requête n’est pas pris en charge ».
  • 400 Requête incorrecte, UnsupportedRestVersion, « La version rest spécifiée n’est pas prise en charge ».
  • 403 Forbidden, AccountIsDisabled, « Le compte spécifié est désactivé ».
  • 403 Interdit, AuthorizationFailure, « Cette demande n’est pas autorisée à effectuer cette opération ».
  • 403 Forbidden, InsufficientAccountPermissions, « Le compte auquel vous accédez ne dispose pas des autorisations suffisantes pour exécuter cette opération ».
  • 404 Introuvable, FilesystemNotFound, « Le système de fichiers spécifié n’existe pas ».
  • 404 Introuvable, PathNotFound, « Le chemin spécifié n’existe pas ».
  • 404 Introuvable, RenameDestinationParentPathNotFound, « Le répertoire parent du chemin de destination n’existe pas ».
  • 404 Introuvable, ResourceNotFound, « La ressource spécifiée n’existe pas ».
  • 404 Introuvable, SourcePathNotFound, « Le chemin source d’une opération de renommage n’existe pas ».
  • 405 Method Not Allowed, UnsupportedHttpVerb, « La ressource ne prend pas en charge le verbe HTTP spécifié ».
  • 409 Conflict, DestinationPathIsBeingDeleted, « Le chemin de destination spécifié est marqué à supprimer ».
  • 409 Conflict, DirectoryNotEmpty, « La valeur du paramètre de requête récursive doit être true pour supprimer un répertoire non vide ».
  • 409 Conflict, FilesystemAlreadyExists, « Le système de fichiers spécifié existe déjà ».
  • 409 Conflit, FilesystemBeingDeleted, « Le système de fichiers spécifié est en cours de suppression ».
  • 409 Conflict, InvalidDestinationPath, « Le chemin spécifié, ou un élément du chemin d’accès, existe et son type de ressource n’est pas valide pour cette opération . » * 409 Conflict, InvalidFlushOperation, « La ressource a été créée ou modifiée par l’API de service Blob et ne peut pas être écrite par l’API service Data Lake Storage . »
  • 409 Conflict, InvalidRenameSourcePath, « Le répertoire source ne peut pas être identique au répertoire de destination, ni la destination ne peut être un sous-répertoire du répertoire source . »
  • 409 Conflict, InvalidSourceOrDestinationResourceType, « Le type de ressource source et de destination doit être identique ».
  • 409 Conflit, LeaseAlreadyPresent, « Il y a déjà un bail présent. »
  • 409 Conflict, LeaseIdMismatchWithLeaseOperation, « L’ID de bail spécifié ne correspond pas à l’ID de bail de la ressource avec l’opération de bail spécifiée. »
  • 409 Conflit, LeaseIsAlreadyBroken, « Le bail a déjà été rompu et ne peut pas être rompu à nouveau. »
  • 409 Conflict, LeaseIsBreakingAndCannotBeAcquired, « L’ID de bail correspond, mais le bail est actuellement en état de rupture et ne peut pas être acquis tant qu’il n’est pas rompu. »
  • 409 Conflict, LeaseIsBreakingAndCannotBeChanged, « L’ID de bail correspond, mais le bail est actuellement dans un état cassant et ne peut pas être modifié. »
  • 409 Conflict, LeaseIsBrokenAndCannotBeRenewed, « L’ID de bail correspond, mais le bail a été rompu explicitement et ne peut pas être renouvelé. »
  • 409 Conflict, LeaseNameMismatch, « Le nom de bail spécifié ne correspond pas au nom de bail existant. »
  • 409 Conflict, LeaseNotPresentWithLeaseOperation, « L’ID de bail n’est pas présent avec l’opération de bail spécifiée ».
  • 409 Conflict, PathAlreadyExists, « Le chemin spécifié existe déjà ».
  • 409 Conflict, PathConflict, « Le chemin spécifié, ou un élément du chemin d’accès, existe et son type de ressource n’est pas valide pour cette opération . »
  • 409 Conflit, SourcePathIsBeingDeleted, « Le chemin d’accès source spécifié est marqué pour être supprimé ».
  • 409 Conflict, ResourceTypeMismatch, « Le type de ressource spécifié dans la demande ne correspond pas au type de la ressource ».
  • 412 Condition préalable Échec, ConditionNotMet, « La condition spécifiée à l’aide d’en-têtes conditionnels HTTP n’est pas remplie ».
  • 412 La condition préalable a échoué, LeaseIdMismatch, « L’ID de bail spécifié ne correspond pas à l’ID de bail de la ressource ».
  • 412 La condition préalable a échoué, LeaseIdMissing, « Il existe actuellement un bail sur la ressource et aucun ID de bail n’a été spécifié dans la demande ».
  • 412 La condition préalable a échoué, LeaseNotPresent, « Il n’existe actuellement aucun bail sur la ressource ».
  • 412 La condition préalable a échoué, LeaseLost, « Un ID de bail a été spécifié, mais le bail de la ressource a expiré. »
  • 412 La condition préalable a échoué, SourceConditionNotMet, « La condition source spécifiée à l’aide d’en-têtes conditionnels HTTP n’est pas remplie ».
  • 413 Request Entity Too Large, RequestBodyTooLarge, « Le corps de la demande est trop grand et dépasse la limite maximale autorisée . »
  • 416 Plage demandée non satisfiable, InvalidRange, « La plage spécifiée n’est pas valide pour la taille actuelle de la ressource ».
  • 500 Erreur interne du serveur, InternalError, « Le serveur a rencontré une erreur interne. Relancez la demande. »
  • 500 Erreur interne du serveur, OperationTimedOut, « L’opération n’a pas pu être terminée dans le délai autorisé ».
  • 503 Service indisponible, ServerBusy, « La sortie dépasse la limite du compte ».
  • 503 Service indisponible, ServerBusy, « L’entrée dépasse la limite du compte ».
  • 503 Service indisponible, ServerBusy, « Les opérations par seconde dépassent la limite du compte ».
  • 503 Service indisponible, ServerBusy : « Le serveur ne peut pas recevoir de demandes. Veuillez relancez la requête. »

En-têtes

  • x-ms-request-id: string
  • x-ms-version: string

Définitions

Nom Description
DataLakeStorageError
Error

Objet de réponse d’erreur de service.

PathRenameMode

facultatif. Valide uniquement lorsque l’espace de noms est activé. Ce paramètre détermine le comportement de l’opération de renommage. La valeur doit être « legacy » ou « posix », et la valeur par défaut sera « posix ».

PathResourceType

Obligatoire uniquement pour Créer un fichier et Créer un répertoire. La valeur doit être « file » ou « directory ».

DataLakeStorageError

Nom Type Description
error

Error

Objet de réponse d’erreur de service.

Error

Objet de réponse d’erreur de service.

Nom Type Description
code

string

Code d’erreur du service.

message

string

Message d’erreur de service.

PathRenameMode

facultatif. Valide uniquement lorsque l’espace de noms est activé. Ce paramètre détermine le comportement de l’opération de renommage. La valeur doit être « legacy » ou « posix », et la valeur par défaut sera « posix ».

Nom Type Description
legacy

string

posix

string

PathResourceType

Obligatoire uniquement pour Créer un fichier et Créer un répertoire. La valeur doit être « file » ou « directory ».

Nom Type Description
directory

string

file

string