Path - Update
Ajouter des données | Vidage des données | Définir les propriétés | Définir Access Control
Charge les données à ajouter à un fichier, vide (écrit) les données précédemment chargées dans un fichier, définit les propriétés d’un fichier ou d’un répertoire, ou définit le contrôle d’accès pour un fichier ou un répertoire. Les données peuvent uniquement être ajoutées à un fichier. Les écritures simultanées dans le même fichier à l’aide de plusieurs clients ne sont pas prises en charge. 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.
PATCH https://{accountName}.{dnsSuffix}/{filesystem}/{path}?action={action}
PATCH https://{accountName}.{dnsSuffix}/{filesystem}/{path}?action={action}&position={position}&retainUncommittedData={retainUncommittedData}&close={close}&mode={mode}&maxRecords={maxRecords}&forceFlag={forceFlag}&continuation={continuation}&flush={flush}&timeout={timeout}
Paramètres URI
Nom | Dans | Obligatoire | Type | Description |
---|---|---|---|---|
account
|
path | True |
string |
Nom du compte de stockage Azure. |
dns
|
path | True |
string |
Suffixe DNS pour le point de terminaison Azure Data Lake Storage. |
filesystem
|
path | True |
string |
Identificateur du système de fichiers. Modèle d’expression régulière: |
path
|
path | True |
string |
Chemin d’accès au fichier ou au répertoire. |
action
|
query | True |
L’action doit être « append » pour charger les données à ajouter à un fichier, « flush » pour vider les données précédemment chargées dans un fichier, « setProperties » pour définir les propriétés d’un fichier ou d’un répertoire, ou « setAccessControl » pour définir le propriétaire, le groupe, les autorisations ou la liste de contrôle d’accès pour un fichier ou un répertoire, ou « setAccessControlRecursive » pour définir la liste de contrôle d’accès d’un répertoire de manière récursive. Notez que l’espace de noms hiérarchique doit être activé pour le compte afin d’utiliser le contrôle d’accès. Notez également que la liste de Access Control (ACL) inclut des autorisations pour le propriétaire, le groupe propriétaire et d’autres, de sorte que les en-têtes x-ms-permissions et x-ms-acl s’excluent mutuellement. |
|
close
|
query |
boolean |
Les événements de stockage Azure permettent aux applications de recevoir des notifications lorsque les fichiers changent. Lorsque les événements de stockage Azure sont activés, un événement de modification de fichier est déclenché. Cet événement a une propriété indiquant s’il s’agit de la dernière modification pour distinguer la différence entre une vidage intermédiaire dans un flux de fichiers et la fermeture finale d’un flux de fichiers. Le paramètre de requête close est valide uniquement lorsque l’action est « vidage » et que les notifications de modification sont activées. Si la valeur de close est « true » et que l’opération de vidage se termine correctement, le service déclenche une notification de modification de fichier avec une propriété indiquant qu’il s’agit de la mise à jour finale (le flux de fichiers a été fermé). Si « false » une notification de modification est déclenchée indiquant que le fichier a changé. La valeur par défaut est false. Ce paramètre de requête est défini sur true par le pilote Hadoop ABFS pour indiquer que le flux de fichiers a été fermé. » |
|
continuation
|
query |
string |
Facultatif et valide uniquement pour l’opération « setAccessControlRecursive ». Le nombre de chemins traités avec chaque appel est limité. Si le nombre de chemins à traiter dépasse cette limite, un jeton de continuation est retourné dans l’en-tête de réponse x-ms-continuation. Lorsqu’un jeton de continuation est retourné dans la réponse, il doit être encodé en pourcentage et spécifié dans un appel ultérieur de l’opération setAccessControlRecursive. |
|
flush
|
query |
boolean |
Valide uniquement pour les appels d’ajout. Ce paramètre permet à l’appelant de vider pendant un appel d’ajout. La valeur par défaut est « false », si « true », les données seront vidées avec l’appel d’ajout. Notez que lors de l’utilisation de flush=true, les en-têtes suivants ne sont pas pris en charge : « x-ms-cache-control », « x-ms-content-encoding », « x-ms-content-type », « x-ms-content-language », « x-ms-content-md5 », « x-ms-content-disposition ». Pour définir ces en-têtes pendant le vidage, utilisez action=flush |
|
force
|
query |
boolean |
Facultatif et valide uniquement pour l’opération « setAccessControlRecursive ». S’il s’agit d’une opération « false » se termine rapidement en cas d’erreurs utilisateur (4XX). Si « true », l’API ignore les erreurs utilisateur et poursuit l’opération sur d’autres sous-entités du répertoire. Une status détaillée des erreurs utilisateur sera retournée dans la réponse pour l’un ou l’autre scénario. Le jeton de continuation n’est retourné que lorsque forceFlag est « true » en cas d’erreurs utilisateur. La valeur par défaut de forceFlag est false. |
|
max
|
query |
integer int32 |
Facultatif et valide uniquement pour l’opération « setAccessControlRecursive ». Il spécifie le nombre maximal de fichiers ou de répertoires sur lesquels la modification acl sera appliquée. En cas d’omission ou supérieure à 2 000, la demande traitera jusqu’à 2 000 éléments |
|
mode
|
query |
string |
facultatif. Valide et requis pour l’opération « setAccessControlRecursive ». Le mode « set » définit les droits de contrôle d’accès POSIX sur les fichiers et les répertoires, « modifier » modifie un ou plusieurs droits de contrôle d’accès POSIX qui existent déjà sur les fichiers et les répertoires, « supprimer » supprime un ou plusieurs droits de contrôle d’accès POSIX présents précédemment sur les fichiers et répertoires |
|
position
|
query |
integer int64 |
Ce paramètre permet à l’appelant de charger des données en parallèle et de contrôler l’ordre dans lequel elles sont ajoutées au fichier. Il est obligatoire lors du chargement des données à ajouter au fichier et du vidage des données précédemment chargées dans le fichier. La valeur doit être la position où les données doivent être ajoutées. Les données chargées ne sont pas immédiatement vidées ou écrites dans le fichier. Pour vider, les données précédemment chargées doivent être contiguës, le paramètre position doit être spécifié et égal à la longueur du fichier une fois toutes les données écrites, et il ne doit pas y avoir de corps d’entité de demande inclus dans la demande. |
|
retain
|
query |
boolean |
Valide uniquement pour les opérations de vidage. Si « true », les données non validées sont conservées une fois l’opération de vidage terminée ; sinon, les données non validées sont supprimées après l’opération de vidage. La valeur par défaut est false. Les données à des décalages inférieurs à la position spécifiée sont écrites dans le fichier lorsque le vidage réussit, mais ce paramètre facultatif permet de conserver les données après la position de vidage pour une opération de vidage ultérieure. |
|
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", "text/plain"
Nom | Obligatoire | Type | Description |
---|---|---|---|
Content-Length |
integer int64 |
Obligatoire pour « Ajouter des données » et « Vider les données ». Doit être 0 pour « Vidage des données ». Doit être la longueur du contenu de la requête en octets pour « Ajouter des données ». |
|
Content-MD5 |
string |
facultatif. Un hachage MD5 du contenu de la demande. Cet en-tête est valide pour les opérations « Append » et « Flush ». Ce hachage est utilisé pour vérifier l'intégrité du contenu de la demande pendant le transport. Lorsque cet en-tête est spécifié, le service de stockage compare le hachage du contenu qui est arrivé à cette valeur d'en-tête. Si les deux hachages ne correspondent pas, l'opération échoue avec le code d'erreur 400 (Demande incorrecte). Notez que ce hachage MD5 n’est pas stocké avec le fichier. Cet en-tête est associé au contenu de la demande et non au contenu stocké du fichier lui-même. |
|
x-ms-lease-id |
string |
L’ID de bail doit être spécifié s’il existe un bail actif. Non valide pour les opérations « setAccessControlRecursive ». Modèle d’expression régulière: |
|
x-ms-cache-control |
string |
Facultatif et valide uniquement pour les opérations de vidage et de définition des propriétés. Le service stocke cette valeur et l’inclut dans l’en-tête de réponse « Cache-Control » pour les opérations « Fichier de lecture ». |
|
x-ms-content-type |
string |
Facultatif et valide uniquement pour les opérations de vidage et de définition des propriétés. Le service stocke cette valeur et l’inclut dans l’en-tête de réponse « Content-Type » pour les opérations « Fichier de lecture ». |
|
x-ms-content-disposition |
string |
Facultatif et valide uniquement pour les opérations de vidage et de définition des propriétés. Le service stocke cette valeur et l’inclut dans l’en-tête de réponse « Content-Disposition » pour les opérations « Fichier de lecture ». |
|
x-ms-content-encoding |
string |
Facultatif et valide uniquement pour les opérations de vidage et de définition des propriétés. Le service stocke cette valeur et l’inclut dans l’en-tête de réponse « Content-Encoding » pour les opérations « Fichier de lecture ». |
|
x-ms-content-language |
string |
Facultatif et valide uniquement pour les opérations de vidage et de définition des propriétés. Le service stocke cette valeur et l’inclut dans l’en-tête de réponse « Content-Language » pour les opérations « Fichier de lecture ». |
|
x-ms-content-md5 |
string |
Facultatif et valide uniquement pour les opérations « Vidage et définition des propriétés ». Le service stocke cette valeur et l’inclut dans l’en-tête de réponse « Content-Md5 » pour les opérations « Read and Get Properties ». Si cette propriété n'est pas spécifiée dans la demande, elle est désactivée pour le fichier. Les appels suivants à « Read and Get Properties » ne retournent pas cette propriété, sauf si elle est explicitement définie à nouveau sur ce fichier. |
|
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 et valeur « n1=v1, n2 =v2, ... », où chaque valeur est une chaîne encodé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. Valide uniquement pour l’opération setProperties. Si le fichier ou le répertoire existe, toutes les propriétés non incluses dans la liste seront supprimées. Toutes les propriétés sont supprimées si l’en-tête est omis. Pour fusionner les propriétés nouvelles et existantes, commencez par obtenir toutes les propriétés existantes et l’E-Tag actuel, puis effectuez une demande conditionnelle avec l’E-Tag et incluez des valeurs pour toutes les propriétés. |
|
x-ms-owner |
string |
Facultatif et valide uniquement pour l’opération setAccessControl. Définit le propriétaire du fichier ou du répertoire. |
|
x-ms-group |
string |
Facultatif et valide uniquement pour l’opération setAccessControl. Définit le groupe propriétaire du fichier ou du répertoire. |
|
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 et d’autres personnes. Chaque classe peut se voir accorder l’autorisation lecture (4), écriture (2) ou exécution (1). La notation symbolique (rwxrw-rw-) et la notation octale à 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 des autres est défini ou non défini respectivement (par exemple, rwxrw-rw- avec le bit collant est représenté en tant que rwxrw-rwT. Un rwxrw-rwx avec un bit collant est représenté comme rwxrw-rwt), l’absence de t ou de T indique le bit collant non défini. En notation octale à 4 chiffres, il est représenté par le 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-acl |
string |
Facultatif et valide uniquement pour les opérations setAccessControl et setAccessControlRecursive. Obligatoire pour l’opération setAccessControlRecursive. Définit les droits de contrôle d’accès POSIX sur les fichiers et les répertoires. La valeur est une liste séparée par des virgules d’entrées de contrôle d’accès qui remplace entièrement la liste de contrôle d’accès (ACL) existante en cas de setAccessControl et le mode « set » de setAccessControlRecursive. Le mode « modify » de setAccessControlRecursive met à jour l’ACLS préexistant. 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 : « utilisateur » 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 « autres » accorde des droits à tous les utilisateurs qui ne figurent dans aucune des 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 aux 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. Le mode « remove » de setAccessControlRecursive supprime les listes de contrôle d’accès préexistantes et ne doit pas contenir d’autorisations dans la liste de contrôle d’accès spécifiée : « user :john.doe@contoso :, mask : ». Le mode « set » de setAccessControlRecursive définit les listes de contrôle d’accès qui remplacent les listes de contrôle d’accès préexistantes de l’étendue spécifiée et doivent contenir les trois : utilisateur propriétaire, groupe propriétaire et autres informations si l’étendue d’accès est définie ou si l’un des utilisateurs propriétaires, le groupe propriétaire ou autre est défini dans l’étendue par défaut. Les modes « set » et « modify » de setAccessControlRecursive doivent contenir des autorisations dans le cadre de la liste de contrôle d’accès. |
|
If-Match |
string |
Facultatif pour Vider les données, Définir Access Control et Définir des propriétés, mais non valide pour Ajouter des données et Définir Access Control Récursif. 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 pour Vider les données, Définir Access Control et Définir des propriétés, mais non valide pour Ajouter des données et Définir Access Control Récursif. 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 pour Vider les données et définir les propriétés, mais non valide pour Ajouter des données et Définir Access Control récursif. 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 pour Vider les données et définir les propriétés, mais non valide pour Ajouter des données et Définir Access Control récursif. 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-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-lease-action | True |
À compter de la version 2020-08-04 dans les opérations d’ajout et de vidage. Append prend en charge les actions « acquire », « auto-renew » et « acquire-release ». S’il « acquiert » il acquiert le bail. En cas de « renouvellement automatique », il renouvellera le bail. Si « acquire-release » acquiert & termine l’opération & libère le bail une fois l’opération terminée. L’action « Libérer » est uniquement prise en charge dans l’opération de vidage. Si la valeur est « true », libère le bail sur le fichier en utilisant les informations d’ID de bail de l’en-tête x-ms-lease-id. |
|
x-ms-lease-duration |
integer int32 |
La durée du bail est requise pour acquérir un bail et spécifie la durée du bail en secondes. La durée du bail doit être comprise entre 15 et 60 secondes ou -1 pour un bail infini. |
|
x-ms-proposed-lease-id |
string |
Obligatoire lorsque « x-ms-lease-action » est « acquérir » ou « modifier ». Un bail est acquis avec cet ID de bail si l’opération réussit. Modèle d’expression régulière: |
|
x-ms-client-request-id |
string |
Un UUID enregistré dans les journaux d’analytique pour la résolution des problèmes et la corrélation. Modèle d’expression régulière: |
|
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. |
Corps de la demande
Media Types: "application/octet-stream", "text/plain"
Nom | Type | Description |
---|---|---|
requestBody |
object |
Valide uniquement pour les opérations d’ajout. Données à charger et à ajouter au fichier. |
Réponses
Nom | Type | Description |
---|---|---|
200 OK |
Les données ont été vidées (écrites) dans le fichier ou les propriétés ont été correctement définies. Le corps de la réponse est facultatif et est valide uniquement pour « SetAccessControlRecursive » En-têtes
|
|
202 Accepted |
Les données chargées ont été acceptées. En-têtes
|
|
Other Status Codes |
Une erreur est survenue. Les status, le code et les chaînes de message HTTP possibles sont répertoriés ci-dessous :
En-têtes
|
Définitions
Nom | Description |
---|---|
Acl |
|
Data |
|
Error |
Objet de réponse d’erreur de service. |
Path |
À compter de la version 2020-08-04 dans les opérations d’ajout et de vidage. Append prend en charge les actions « acquire », « auto-renew » et « acquire-release ». Si « acquérez », il acquiert le bail. Si le renouvellement automatique est renouvelé, le bail est renouvelé. Si « acquire-release » il acquiert & terminer l’opération & libérer le bail une fois l’opération terminée. L’action « Libérer » est uniquement prise en charge dans l’opération de vidage. Si « true », libère le bail sur le fichier à l’aide des informations d’ID de bail de l’en-tête x-ms-lease-id. |
Path |
L’action doit être « append » pour charger les données à ajouter à un fichier, « flush » pour vider les données précédemment chargées dans un fichier, « setProperties » pour définir les propriétés d’un fichier ou d’un répertoire, ou « setAccessControl » pour définir le propriétaire, le groupe, les autorisations ou la liste de contrôle d’accès pour un fichier ou un répertoire, ou « setAccessControlRecursive » pour définir la liste de contrôle d’accès d’un répertoire de manière récursive. Notez que l’espace de noms hiérarchique doit être activé pour le compte afin d’utiliser le contrôle d’accès. Notez également que la liste de Access Control (ACL) inclut des autorisations pour le propriétaire, le groupe propriétaire et d’autres personnes, de sorte que les en-têtes de requête x-ms-permissions et x-ms-acl s’excluent mutuellement. |
Set |
AclFailedEntryList
Nom | Type | Description |
---|---|---|
errorMessage |
string |
|
name |
string |
|
type |
string |
DataLakeStorageError
Nom | Type | Description |
---|---|---|
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 du service. |
PathLeaseAction
À compter de la version 2020-08-04 dans les opérations d’ajout et de vidage. Append prend en charge les actions « acquire », « auto-renew » et « acquire-release ». Si « acquérez », il acquiert le bail. Si le renouvellement automatique est renouvelé, le bail est renouvelé. Si « acquire-release » il acquiert & terminer l’opération & libérer le bail une fois l’opération terminée. L’action « Libérer » est uniquement prise en charge dans l’opération de vidage. Si « true », libère le bail sur le fichier à l’aide des informations d’ID de bail de l’en-tête x-ms-lease-id.
Nom | Type | Description |
---|---|---|
acquire |
string |
|
acquire-release |
string |
|
auto-renew |
string |
|
release |
string |
PathUpdateAction
L’action doit être « append » pour charger les données à ajouter à un fichier, « flush » pour vider les données précédemment chargées dans un fichier, « setProperties » pour définir les propriétés d’un fichier ou d’un répertoire, ou « setAccessControl » pour définir le propriétaire, le groupe, les autorisations ou la liste de contrôle d’accès pour un fichier ou un répertoire, ou « setAccessControlRecursive » pour définir la liste de contrôle d’accès d’un répertoire de manière récursive. Notez que l’espace de noms hiérarchique doit être activé pour le compte afin d’utiliser le contrôle d’accès. Notez également que la liste de Access Control (ACL) inclut des autorisations pour le propriétaire, le groupe propriétaire et d’autres personnes, de sorte que les en-têtes de requête x-ms-permissions et x-ms-acl s’excluent mutuellement.
Nom | Type | Description |
---|---|---|
append |
string |
|
flush |
string |
|
setAccessControl |
string |
|
setAccessControlRecursive |
string |
|
setProperties |
string |
SetAccessControlRecursiveResponse
Nom | Type | Description |
---|---|---|
directoriesSuccessful |
integer |
|
failedEntries | ||
failureCount |
integer |
|
filesSuccessful |
integer |