Path - Update
Ajouter des données | Vider les données | Définir des propriétés | Définir le contrôle d’accès
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 d’un fichier ou d’un répertoire. Les données ne peuvent être ajoutées qu’à un fichier. Les écritures simultanées dans le même fichier utilisant 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 d’en-têtes conditionnels pour les opérations de 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 stockage Azure. |
dns
|
path | True |
string |
Suffixe DNS pour le point de terminaison Azure Data Lake Storage. |
filesystem
|
path | True |
string minLength: 3maxLength: 63 pattern: ^[$a-z0-9](?!.*--)[-a-z0-9]{1,61}[a-z0-9]$ |
Identificateur du système de fichiers. |
path
|
path | True |
string |
Chemin du fichier ou du répertoire. |
action
|
query | True |
L’action doit être « append » pour charger des données à ajouter à un fichier, « vider » 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 d’un fichier ou d’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 contrôle d’accès (ACL) inclut des autorisations pour le propriétaire, le groupe propriétaire et d’autres, de sorte que les en-têtes de requête x-ms-acl et x-ms-acl s’excluent mutuellement. |
|
close
|
query |
boolean |
Les événements stockage Azure permettent aux applications de recevoir des notifications lorsque les fichiers changent. Lorsque les événements stockage Azure sont activés, un événement modifié de fichier est déclenché. Cet événement a une propriété indiquant s’il s’agit de la modification finale pour distinguer la différence entre un vidage intermédiaire sur 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 « vider » et que les notifications de modification sont activées. Si la valeur de la fermeture 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 dernière mise à jour (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 suivant de l’opération setAccessControlRecursive. |
|
flush
|
query |
boolean |
Valide uniquement pour les appels d’ajout. Ce paramètre permet au appelant de vider pendant un appel d’ajout. La valeur par défaut est « false », si « true » les données sont vidées avec l’appel d’ajout. Notez que lorsque vous utilisez 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 ». Si cette opération est « false » se termine rapidement en cas d’erreurs utilisateur (4XX). Si la valeur est « true », l’API ignore les erreurs utilisateur et effectue l’opération sur d’autres sous-entités du répertoire. L’état détaillé des erreurs utilisateur est retourné dans la réponse pour l’un ou l’autre scénario. Le jeton de continuation est retourné uniquement lorsque forceFlag est « true » en cas d’erreurs utilisateur. La valeur par défaut de forceFlag est false. |
|
max
|
query |
integer (int32) minimum: 1 |
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. Si elle est omise ou supérieure à 2 000, la demande traite jusqu’à 2 000 éléments |
|
mode
|
query |
string |
Optionnel. Valide et obligatoire 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, « modify » modifie un ou plusieurs droits de contrôle d’accès POSIX préexistants sur les fichiers et les répertoires, « remove » supprime un ou plusieurs droits de contrôle d’accès POSIX qui étaient présents précédemment sur les fichiers et les 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 il est ajouté au fichier. Il est nécessaire lors du chargement des données à ajouter au fichier et lors 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 de position doit être spécifié et égal à la longueur du fichier une fois que toutes les données ont été écrites, et il ne doit pas y avoir de corps d’entité de requête inclus dans la requête. |
|
retain
|
query |
boolean |
Valide uniquement pour les opérations de vidage. Si la valeur est « 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 au niveau 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) minimum: 1 |
Valeur de délai d’expiration d’opération facultative en secondes. La période commence lorsque la demande est reçue par le service. Si la valeur de 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) minimum: 0 |
Obligatoire pour « Ajouter des données » et « Vider les données ». Doit être 0 pour « Vider les données ». Doit être la longueur du contenu de la requête en octets pour « Ajouter des données ». |
|
Content-MD5 |
string |
Optionnel. Hachage MD5 du contenu de la requête. Cet en-tête est valide sur les opérations « Append » et « Flush ». Ce hachage est utilisé pour vérifier l’intégrité du contenu de la requête pendant le transport. Lorsque cet en-tête est spécifié, le service de stockage compare le hachage du contenu arrivé avec cette valeur d’en-tête. Si les deux hachages ne correspondent pas, l’opération échoue avec le code d’erreur 400 (requête incorrecte). Notez que ce hachage MD5 n’est pas stocké avec le fichier. Cet en-tête est associé au contenu de la requête, et non au contenu stocké du fichier lui-même. |
|
x-ms-lease-id |
string pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$ |
L’ID de bail doit être spécifié s’il existe un bail actif. Non valide pour les opérations « setAccessControlRecursive ». |
|
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 « Lire le fichier ». |
|
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 « Read File ». |
|
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 « Lire le fichier ». |
|
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 « Lire le fichier ». |
|
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 « Lire le fichier ». |
|
x-ms-content-md5 |
string |
Facultatif et valide uniquement pour les opérations « Vider et définir les 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 « Lire et obtenir des propriétés ». Si cette propriété n’est pas spécifiée sur la demande, la propriété est effacée pour le fichier. Les appels suivants à « Read and Get Properties » ne retournent pas cette propriété, sauf si elle est explicitement définie sur ce fichier. |
|
x-ms-properties |
string |
Optionnel. 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 sont 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 la balise E-Tag actuelle, puis effectuez une requête conditionnelle avec la balise 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 de fichiers et d’autres utilisateurs. Chaque classe peut recevoir une autorisation de lecture (4), d’écriture (2) ou d’exécution (1). Les notations symboliques (rwxrw-rw-) et 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 les autres catégories est défini ou non défini (par exemple rwxrw-rw- avec un bit sticky est représenté en tant que rwxrw-rwT. Un rwxrw-rwx avec un bit sticky est représenté en tant que rwxrw-rwt), l’absence de t ou T indique que le bit collant n’est pas défini. En notation octale à 4 chiffres, elle est représentée par le 1er chiffre (par exemple, 1766 représente rwxrw-rw- avec un bit collant et 0766 représente rwxrw-rw- sans bit sticky). 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 existante (ACL) en cas de setAccessControl et de mode « set » de setAccessControlRecursive. Le mode « modify » de setAccessControlRecursive met à jour les ACLS préexistants. 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 à la liste de contrôle d’accès 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 » limite les droits accordés aux utilisateurs nommés et aux membres des groupes, et « other » accorde des droits à tous les utilisateurs introuvables dans l’une 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 john.doe@contoso, le droit de lecture au groupe propriétaire, et rien à tous les autres : « 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 - propriétaire de l’utilisateur, le groupe propriétaire et d’autres informations si l’étendue d’accès est définie ou si l’un des utilisateurs propriétaires, le groupe propriétaire ou un 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ôles d’accès. |
|
If-Match |
string |
Facultatif pour vider les données, définir le contrôle d’accès et définir les propriétés, mais non valide pour l’ajout de données et définir le contrôle d’accès récursif. Une valeur ETag. Spécifiez cet en-tête pour effectuer 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 le contrôle d’accès et définir les propriétés, mais non valide pour l’ajout de données et définir le contrôle d’accès récursif. Une valeur ETag ou un caractère générique spécial (« * »). Spécifiez cet en-tête pour effectuer 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 propriétés de données et de jeu, mais non valide pour ajouter des données et définir le contrôle d’accès récursif. Valeur de date et d’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 propriétés de données et de jeu, mais non valide pour ajouter des données et définir le contrôle d’accès récursif. Valeur de date et d’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 |
Optionnel. Clé de chiffrement AES-256 codée en base64. |
|
x-ms-encryption-key-sha256 |
string |
Optionnel. Hachage SHA256 codé en Base64 de la clé de chiffrement. |
|
x-ms-encryption-algorithm: AES256 |
string |
Optionnel. 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 l’action « acquire », « auto-renew » et « acquire-release ». Si l’acquisition sera acquise, elle acquiert le bail. Si le « renouvellement automatique » est renouvelé, le bail sera renouvelé. Si « acquire-release » il acquiert & terminer l’opération & libérer le bail une fois l’opération terminée. L’action « Mise en production » n’est prise en charge que dans l’opération de vidage. Si la valeur est true, libère le bail sur le fichier à l’aide des informations d’ID de bail à partir 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 pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$ |
Obligatoire lorsque « x-ms-lease-action » est « acquérir » ou « modifier ». Un bail sera acquis avec cet ID de bail si l’opération réussit. |
|
x-ms-client-request-id |
string pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$ |
Un UUID enregistré dans les journaux d’activité d’analytique pour la résolution des problèmes et la corrélation. |
|
x-ms-date |
string |
Spécifie le temps universel coordonné (UTC) de la requête. Cela est nécessaire lors de l’utilisation de l’autorisation de clé partagée. |
|
x-ms-version |
string |
Spécifie la version du protocole REST utilisée pour le traitement de la requête. Cela est nécessaire 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 (file) |
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 s’est produite. L’état HTTP, le code et les chaînes de message 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 l’action « acquire », « auto-renew » et « acquire-release ». Si l’acquisition sera acquise, elle acquiert le bail. Si le « renouvellement automatique » est renouvelé, le bail sera renouvelé. Si « acquire-release » il acquiert & terminer l’opération & libérer le bail une fois l’opération terminée. L’action « Mise en production » n’est prise en charge que dans l’opération de vidage. Si la valeur est true, libère le bail sur le fichier à l’aide des informations d’ID de bail à partir de l’en-tête x-ms-lease-id. |
Path |
L’action doit être « append » pour charger des données à ajouter à un fichier, « vider » 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 d’un fichier ou d’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 contrôle d’accès (ACL) inclut des autorisations pour le propriétaire, le groupe propriétaire et d’autres, de sorte que les en-têtes de requête x-ms-acl 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 l’action « acquire », « auto-renew » et « acquire-release ». Si l’acquisition sera acquise, elle acquiert le bail. Si le « renouvellement automatique » est renouvelé, le bail sera renouvelé. Si « acquire-release » il acquiert & terminer l’opération & libérer le bail une fois l’opération terminée. L’action « Mise en production » n’est prise en charge que dans l’opération de vidage. Si la valeur est true, libère le bail sur le fichier à l’aide des informations d’ID de bail à partir de l’en-tête x-ms-lease-id.
Valeur | Description |
---|---|
acquire | |
acquire-release | |
auto-renew | |
release |
PathUpdateAction
L’action doit être « append » pour charger des données à ajouter à un fichier, « vider » 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 d’un fichier ou d’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 contrôle d’accès (ACL) inclut des autorisations pour le propriétaire, le groupe propriétaire et d’autres, de sorte que les en-têtes de requête x-ms-acl et x-ms-acl s’excluent mutuellement.
Valeur | Description |
---|---|
append | |
flush | |
setAccessControl | |
setAccessControlRecursive | |
setProperties |
SetAccessControlRecursiveResponse
Nom | Type | Description |
---|---|---|
directoriesSuccessful |
integer (int32) |
|
failedEntries | ||
failureCount |
integer (int32) |
|
filesSuccessful |
integer (int32) |