Path - Update
Accoda dati | Scarica dati | Imposta proprietà | Impostare il controllo di accesso
Carica i dati da aggiungere a un file, scarica (scritture) i dati caricati in precedenza in un file, imposta le proprietà per un file o una directory o imposta il controllo di accesso per un file o una directory. I dati possono essere aggiunti solo a un file. Le scritture simultanee nello stesso file che usano più client non sono supportate. Questa operazione supporta le richieste HTTP condizionali. Per altre informazioni, vedere Specifica di intestazioni condizionali per le operazioni del servizio 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}
Parametri dell'URI
Nome | In | Necessario | Tipo | Descrizione |
---|---|---|---|---|
account
|
path | True |
string |
Nome dell'account di archiviazione di Azure. |
dns
|
path | True |
string |
Suffisso DNS per l'endpoint di Azure Data Lake Storage. |
filesystem
|
path | True |
string minLength: 3maxLength: 63 pattern: ^[$a-z0-9](?!.*--)[-a-z0-9]{1,61}[a-z0-9]$ |
Identificatore del file system. |
path
|
path | True |
string |
Percorso del file o della directory. |
action
|
query | True |
L'azione deve essere "append" per caricare i dati da aggiungere a un file, "flush" per scaricare i dati caricati in precedenza in un file, "setProperties" per impostare le proprietà di un file o di una directory o "setAccessControl" per impostare il proprietario, il gruppo, le autorizzazioni o l'elenco di controllo di accesso per un file o una directory oppure "setAccessControlRecursive" per impostare l'elenco di controllo di accesso per una directory in modo ricorsivo. Si noti che lo spazio dei nomi gerarchico deve essere abilitato per l'account per usare il controllo di accesso. Si noti anche che l'elenco di controllo di accesso (ACL) include autorizzazioni per il proprietario, il gruppo proprietario e altri, quindi le intestazioni della richiesta x-ms-ms-acl si escludono a vicenda. |
|
close
|
query |
boolean |
Gli eventi di Archiviazione di Azure consentono alle applicazioni di ricevere notifiche quando cambiano i file. Quando gli eventi di archiviazione di Azure sono abilitati, viene generato un evento di modifica del file. Questo evento ha una proprietà che indica se si tratta della modifica finale per distinguere la differenza tra uno scaricamento intermedio in un flusso di file e la chiusura finale di un flusso di file. Il parametro di query close è valido solo quando l'azione è "scarica" e le notifiche di modifica sono abilitate. Se il valore di close è "true" e l'operazione di scaricamento viene completata correttamente, il servizio genera una notifica di modifica del file con una proprietà che indica che si tratta dell'aggiornamento finale (il flusso di file è stato chiuso). Se viene generata una notifica di modifica "false" che indica che il file è stato modificato. Il valore predefinito è false. Questo parametro di query è impostato su true dal driver ABFS di Hadoop per indicare che il flusso di file è stato chiuso." |
|
continuation
|
query |
string |
Facoltativo e valido solo per l'operazione "setAccessControlRecursive". Il numero di percorsi elaborati con ogni chiamata è limitato. Se il numero di percorsi da elaborare supera questo limite, viene restituito un token di continuazione nell'intestazione della risposta x-ms-continuation. Quando viene restituito un token di continuazione nella risposta, deve essere codificato in percentuale e specificato in una chiamata successiva dell'operazione setAccessControlRecursive. |
|
flush
|
query |
boolean |
Valido solo per le chiamate di accodamento. Questo parametro consente al chiamante di scaricare durante una chiamata di accodamento. Il valore predefinito è "false", se "true" i dati verranno scaricati con la chiamata di accodamento. Si noti che quando si usa flush=true, le intestazioni seguenti non sono supportate: "x-ms-cache-control", "x-ms-content-encoding", "x-ms-content-type", "x-ms-content-language", "x-ms-content-md5", "x-ms-content-disposition". Per impostare queste intestazioni durante lo scaricamento, usare action=flush |
|
force
|
query |
boolean |
Facoltativo e valido solo per l'operazione "setAccessControlRecursive". Se si tratta di un'operazione "false" terminerà rapidamente in caso di errori utente (4XX). Se "true" l'API ignorerà gli errori utente e procederà con l'operazione su altre sottoentità della directory. Lo stato dettagliato degli errori utente verrà restituito nella risposta per entrambi gli scenari. Il token di continuazione verrà restituito solo quando forceFlag è "true" in caso di errori dell'utente. Il valore predefinito per forceFlag è false. |
|
max
|
query |
integer (int32) minimum: 1 |
Facoltativo e valido solo per l'operazione "setAccessControlRecursive". Specifica il numero massimo di file o directory in cui verrà applicata la modifica dell'acl. Se omesso o maggiore di 2.000, la richiesta elabora fino a 2.000 elementi |
|
mode
|
query |
string |
Opzionale. Valido e obbligatorio per l'operazione "setAccessControlRecursive". La modalità "set" imposta i diritti di controllo di accesso POSIX per file e directory, "modifica" modifica uno o più diritti di controllo di accesso POSIX preesistenti nei file e nelle directory, "remove" rimuove uno o più diritti di controllo di accesso POSIX presenti in precedenza nei file e nelle directory |
|
position
|
query |
integer (int64) |
Questo parametro consente al chiamante di caricare i dati in parallelo e controllare l'ordine in cui viene aggiunto al file. È necessario quando si caricano dati da aggiungere al file e quando si scaricano i dati caricati in precedenza nel file. Il valore deve essere la posizione in cui devono essere accodati i dati. I dati caricati non vengono scaricati o scritti immediatamente nel file. Per scaricare, i dati caricati in precedenza devono essere contigui, il parametro position deve essere specificato e uguale alla lunghezza del file dopo la scrittura di tutti i dati e non deve essere incluso un corpo dell'entità richiesta nella richiesta. |
|
retain
|
query |
boolean |
Valido solo per le operazioni di scaricamento. Se "true", i dati di cui non è stato eseguito il commit vengono conservati al termine dell'operazione di scaricamento; in caso contrario, i dati di cui non è stato eseguito il commit vengono eliminati dopo l'operazione di scaricamento. Il valore predefinito è false. I dati con offset inferiori alla posizione specificata vengono scritti nel file quando lo scaricamento riesce, ma questo parametro facoltativo consente di conservare i dati dopo la posizione di scaricamento per un'operazione di scaricamento futura. |
|
timeout
|
query |
integer (int32) minimum: 1 |
Valore facoltativo di timeout dell'operazione in secondi. Il periodo inizia quando la richiesta viene ricevuta dal servizio. Se il valore di timeout è trascorso prima del completamento dell'operazione, l'operazione ha esito negativo. |
Intestazione della richiesta
Media Types: "application/octet-stream", "text/plain"
Nome | Necessario | Tipo | Descrizione |
---|---|---|---|
Content-Length |
integer (int64) minimum: 0 |
Obbligatorio per "Accodamento dati" e "Scarica dati". Deve essere 0 per "Scarica dati". Deve essere la lunghezza del contenuto della richiesta in byte per "Append Data". |
|
Content-MD5 |
string |
Opzionale. Hash MD5 del contenuto della richiesta. Questa intestazione è valida nelle operazioni "Append" e "Flush". Questo hash viene usato per verificare l'integrità del contenuto della richiesta durante il trasporto. Quando si specifica questa intestazione, il servizio di archiviazione confronta l'hash del contenuto che è arrivato con questo valore di intestazione. Se i due hash non corrispondono, l'operazione avrà esito negativo con codice di errore 400 (richiesta non valida). Si noti che questo hash MD5 non viene archiviato con il file . Questa intestazione è associata al contenuto della richiesta e non al contenuto archiviato del file stesso. |
|
x-ms-lease-id |
string pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$ |
L'ID lease deve essere specificato se è presente un lease attivo. Non valido per le operazioni "setAccessControlRecursive". |
|
x-ms-cache-control |
string |
Facoltativo e valido solo per le operazioni di scaricamento e impostazione delle proprietà. Il servizio archivia questo valore e lo include nell'intestazione della risposta "Cache-Control" per le operazioni "Read File". |
|
x-ms-content-type |
string |
Facoltativo e valido solo per le operazioni di scaricamento e impostazione delle proprietà. Il servizio archivia questo valore e lo include nell'intestazione della risposta "Content-Type" per le operazioni "Read File". |
|
x-ms-content-disposition |
string |
Facoltativo e valido solo per le operazioni di scaricamento e impostazione delle proprietà. Il servizio archivia questo valore e lo include nell'intestazione della risposta "Content-Disposition" per le operazioni "Read File". |
|
x-ms-content-encoding |
string |
Facoltativo e valido solo per le operazioni di scaricamento e impostazione delle proprietà. Il servizio archivia questo valore e lo include nell'intestazione di risposta "Content-Encoding" per le operazioni "Read File". |
|
x-ms-content-language |
string |
Facoltativo e valido solo per le operazioni di scaricamento e impostazione delle proprietà. Il servizio archivia questo valore e lo include nell'intestazione della risposta "Content-Language" per le operazioni "Read File". |
|
x-ms-content-md5 |
string |
Facoltativo e valido solo per le operazioni "Flush and Set Properties". Il servizio archivia questo valore e lo include nell'intestazione della risposta "Content-Md5" per le operazioni "Read and Get Properties". Se questa proprietà non viene specificata nella richiesta, la proprietà verrà cancellata per il file. Le chiamate successive a "Read and Get Properties" non restituiranno questa proprietà a meno che non venga impostata in modo esplicito su tale file. |
|
x-ms-properties |
string |
Opzionale. Proprietà definite dall'utente da archiviare con il file o la directory, nel formato di un elenco delimitato da virgole di coppie nome e valore "n1=v1, n2=v2, ...", dove ogni valore è una stringa con codifica base64. Si noti che la stringa può contenere solo caratteri ASCII nel set di caratteri ISO-8859-1. Valido solo per l'operazione setProperties. Se il file o la directory esiste, tutte le proprietà non incluse nell'elenco verranno rimosse. Tutte le proprietà vengono rimosse se l'intestazione viene omessa. Per unire proprietà nuove ed esistenti, ottenere prima tutte le proprietà esistenti e il tag E-Tag corrente, quindi effettuare una richiesta condizionale con il tag E e includere i valori per tutte le proprietà. |
|
x-ms-owner |
string |
Facoltativo e valido solo per l'operazione setAccessControl. Imposta il proprietario del file o della directory. |
|
x-ms-group |
string |
Facoltativo e valido solo per l'operazione setAccessControl. Imposta il gruppo proprietario del file o della directory. |
|
x-ms-permissions |
string |
Facoltativo e valido solo se il Namespace Gerarchico è abilitato per l'account. Imposta le autorizzazioni di accesso POSIX per il proprietario del file, il gruppo proprietario del file e altri. A ogni classe può essere concessa l'autorizzazione read (4), write (2) o execute (1). Sono supportati sia la notazione simbolica (rwxrw-rw-) che la notazione ottale a 4 cifre (ad esempio 0766). Il bit sticky è supportato anche e nella notazione simbolica, rappresentato dalla lettera t o T nel punto finale a seconda che il bit di esecuzione per le altre categorie sia impostato o unset rispettivamente (ad esempio rwxrw-rw- con bit sticky è rappresentato come rwxrw-rwT. Un rwxrw-rwx con bit sticky è rappresentato come rwxrw-rwt), l'assenza di t o T indica che il bit sticky non è impostato. Nella notazione ottale a 4 cifre, la sua rappresentazione in base alla prima cifra (ad esempio, 1766 rappresenta rwxrw-rw- con bit sticky e 0766 rappresenta rwxrw-rw- senza bit sticky). Non valido in combinazione con x-ms-acl. |
|
x-ms-acl |
string |
Facoltativo e valido solo per le operazioni setAccessControl e setAccessControlRecursive. Obbligatorio per l'operazione setAccessControlRecursive. Imposta i diritti di controllo di accesso POSIX per file e directory. Il valore è un elenco delimitato da virgole di voci di controllo di accesso che sostituisce completamente l'elenco di controllo di accesso esistente in caso di setAccessControl e modalità "set" di setAccessControlRecursive. La modalità "modify" di setAccessControlRecursive aggiorna gli ACLS preesistenti. Ogni voce di controllo di accesso (ACE) è costituita da un ambito, un tipo, un identificatore di utente o gruppo e le autorizzazioni nel formato "[scope:][type]:[id]:[permissions]". L'ambito deve essere "predefinito" per indicare che l'ace appartiene all'ACL predefinito per una directory; in caso contrario, l'ambito è implicito e l'ace appartiene all'ACL di accesso. Esistono quattro tipi ACE: "user" concede diritti al proprietario o a un utente denominato, "group" concede diritti al gruppo proprietario o a un gruppo denominato, "mask" limita i diritti concessi agli utenti denominati e ai membri dei gruppi e "altri" concede diritti a tutti gli utenti non trovati in nessuna delle altre voci. L'identificatore utente o gruppo viene omesso per le voci di tipo "mask" e "other". L'identificatore utente o gruppo viene omesso anche per il proprietario e il gruppo proprietario. Il campo autorizzazione è una sequenza di 3 caratteri in cui il primo carattere è 'r' per concedere l'accesso in lettura, il secondo carattere è 'w' per concedere l'accesso in scrittura e il terzo carattere è 'x' per concedere l'autorizzazione di esecuzione. Se l'accesso non viene concesso, il carattere '-' viene usato per indicare che l'autorizzazione viene negata. Ad esempio, l'ACL seguente concede diritti di lettura, scrittura ed esecuzione al proprietario del file e john.doe@contoso, al diritto di lettura al gruppo proprietario e a nessun altro utente: "user::rwx,user:john.doe@contoso:rwx,group::r--,other::---,mask=rwx". Non valido in combinazione con x-ms-permissions. La modalità "remove" di setAccessControlRecursive rimuove gli ACL preesistenti e non deve contenere autorizzazioni nell'elenco di controllo di accesso specificato: "user:john.doe@contoso:, mask:". La modalità "set" di setAccessControlRecursive imposta gli elenchi di controllo di accesso che sostituiscono gli ACL preesistenti dell'ambito specificato e deve contenere tutti e tre, ovvero l'utente proprietario, il gruppo proprietario e altre informazioni se l'ambito di accesso viene impostato o se uno degli utenti proprietari, il gruppo proprietario o altro è impostato nell'ambito predefinito. Le modalità "set" e "modify" di setAccessControlRecursive devono contenere autorizzazioni come parte dell'elenco di controllo di accesso. |
|
If-Match |
string |
Facoltativo per Scarica dati, Imposta controllo di accesso e Imposta proprietà, ma non valido per Accoda dati e Imposta controllo di accesso ricorsivo. Un valore ETag. Specificare questa intestazione per eseguire l'operazione solo se l'ETag della risorsa corrisponde al valore specificato. L'ETag deve essere specificato tra virgolette. |
|
If-None-Match |
string |
Facoltativo per Scarica dati, Imposta controllo di accesso e Imposta proprietà, ma non valido per Accoda dati e Imposta controllo di accesso ricorsivo. Valore ETag o valore con caratteri jolly speciali ("*"). Specificare questa intestazione per eseguire l'operazione solo se l'ETag della risorsa non corrisponde al valore specificato. L'ETag deve essere specificato tra virgolette. |
|
If-Modified-Since |
string |
Facoltativo per Scarica dati e imposta proprietà, ma non valido per Accoda dati e imposta controllo di accesso ricorsivo. Valore di data e ora. Specificare questa intestazione per eseguire l'operazione solo se la risorsa è stata modificata dopo la data e l'ora specificate. |
|
If-Unmodified-Since |
string |
Facoltativo per Scarica dati e imposta proprietà, ma non valido per Accoda dati e imposta controllo di accesso ricorsivo. Valore di data e ora. Specificare questa intestazione per eseguire l'operazione solo se la risorsa non è stata modificata dopo la data e l'ora specificate. |
|
x-ms-encryption-key |
string |
Opzionale. Chiave di crittografia AES-256 con codifica Base64. |
|
x-ms-encryption-key-sha256 |
string |
Opzionale. Hash SHA256 con codifica Base64 della chiave di crittografia. |
|
x-ms-encryption-algorithm: AES256 |
string |
Opzionale. Specifica l'algoritmo da utilizzare per la crittografia. Il valore di questa intestazione deve essere AES256. |
|
x-ms-lease-action | True |
A partire dalla versione 2020-08-04 nelle operazioni di accodamento e scaricamento. Append supporta l'azione 'acquire', 'auto-renew' e 'acquire-release'. Se 'acquire' acquisirà il lease. Se "rinnovo automatico" verrà rinnovato il lease. Se 'acquire-release' acquisirà & completare l'operazione & rilasciare il lease al termine dell'operazione. L'azione 'Release' è supportata solo nell'operazione di scaricamento. Se 'true', rilascia il lease nel file usando le informazioni sull'ID lease dall'intestazione x-ms-lease-id. |
|
x-ms-lease-duration |
integer (int32) |
La durata del lease è necessaria per acquisire un lease e specifica la durata del lease in secondi. La durata del lease deve essere compresa tra 15 e 60 secondi o -1 per un lease infinito. |
|
x-ms-proposed-lease-id |
string pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$ |
Obbligatorio quando "x-ms-lease-action" è "acquire" o "change". Se l'operazione ha esito positivo, verrà acquisito un lease con questo ID lease. |
|
x-ms-client-request-id |
string pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$ |
UUID registrato nei log di analisi per la risoluzione dei problemi e la correlazione. |
|
x-ms-date |
string |
Specifica l'ora UTC (Coordinated Universal Time) per la richiesta. Questa operazione è necessaria quando si usa l'autorizzazione con chiave condivisa. |
|
x-ms-version |
string |
Specifica la versione del protocollo REST usato per l'elaborazione della richiesta. Questa operazione è necessaria quando si usa l'autorizzazione con chiave condivisa. |
Corpo della richiesta
Media Types: "application/octet-stream", "text/plain"
Nome | Tipo | Descrizione |
---|---|---|
requestBody |
object (file) |
Valido solo per le operazioni di accodamento. Dati da caricare e accodare al file. |
Risposte
Nome | Tipo | Descrizione |
---|---|---|
200 OK |
I dati sono stati scaricati (scritti) nel file o le proprietà sono state impostate correttamente. Il corpo della risposta è facoltativo ed è valido solo per "SetAccessControlRecursive" Intestazioni
|
|
202 Accepted |
I dati caricati sono stati accettati. Intestazioni
|
|
Other Status Codes |
Si è verificato un errore. Di seguito sono elencate le possibili stringhe di stato, codice e messaggio HTTP:
Intestazioni
|
Definizioni
Nome | Descrizione |
---|---|
Acl |
|
Data |
|
Error |
Oggetto risposta di errore del servizio. |
Path |
A partire dalla versione 2020-08-04 nelle operazioni di accodamento e scaricamento. Append supporta l'azione 'acquire', 'auto-renew' e 'acquire-release'. Se 'acquire' acquisirà il lease. Se "rinnovo automatico" verrà rinnovato il lease. Se 'acquire-release' acquisirà & completare l'operazione & rilasciare il lease al termine dell'operazione. L'azione 'Release' è supportata solo nell'operazione di scaricamento. Se 'true', rilascia il lease nel file usando le informazioni sull'ID lease dall'intestazione x-ms-lease-id. |
Path |
L'azione deve essere "append" per caricare i dati da aggiungere a un file, "flush" per scaricare i dati caricati in precedenza in un file, "setProperties" per impostare le proprietà di un file o di una directory o "setAccessControl" per impostare il proprietario, il gruppo, le autorizzazioni o l'elenco di controllo di accesso per un file o una directory oppure "setAccessControlRecursive" per impostare l'elenco di controllo di accesso per una directory in modo ricorsivo. Si noti che lo spazio dei nomi gerarchico deve essere abilitato per l'account per usare il controllo di accesso. Si noti anche che l'elenco di controllo di accesso (ACL) include autorizzazioni per il proprietario, il gruppo proprietario e altri, quindi le intestazioni della richiesta x-ms-ms-acl si escludono a vicenda. |
Set |
AclFailedEntryList
Nome | Tipo | Descrizione |
---|---|---|
errorMessage |
string |
|
name |
string |
|
type |
string |
DataLakeStorageError
Nome | Tipo | Descrizione |
---|---|---|
error |
Oggetto risposta di errore del servizio. |
Error
Oggetto risposta di errore del servizio.
Nome | Tipo | Descrizione |
---|---|---|
code |
string |
Codice di errore del servizio. |
message |
string |
Messaggio di errore del servizio. |
PathLeaseAction
A partire dalla versione 2020-08-04 nelle operazioni di accodamento e scaricamento. Append supporta l'azione 'acquire', 'auto-renew' e 'acquire-release'. Se 'acquire' acquisirà il lease. Se "rinnovo automatico" verrà rinnovato il lease. Se 'acquire-release' acquisirà & completare l'operazione & rilasciare il lease al termine dell'operazione. L'azione 'Release' è supportata solo nell'operazione di scaricamento. Se 'true', rilascia il lease nel file usando le informazioni sull'ID lease dall'intestazione x-ms-lease-id.
Valore | Descrizione |
---|---|
acquire | |
acquire-release | |
auto-renew | |
release |
PathUpdateAction
L'azione deve essere "append" per caricare i dati da aggiungere a un file, "flush" per scaricare i dati caricati in precedenza in un file, "setProperties" per impostare le proprietà di un file o di una directory o "setAccessControl" per impostare il proprietario, il gruppo, le autorizzazioni o l'elenco di controllo di accesso per un file o una directory oppure "setAccessControlRecursive" per impostare l'elenco di controllo di accesso per una directory in modo ricorsivo. Si noti che lo spazio dei nomi gerarchico deve essere abilitato per l'account per usare il controllo di accesso. Si noti anche che l'elenco di controllo di accesso (ACL) include autorizzazioni per il proprietario, il gruppo proprietario e altri, quindi le intestazioni della richiesta x-ms-ms-acl si escludono a vicenda.
Valore | Descrizione |
---|---|
append | |
flush | |
setAccessControl | |
setAccessControlRecursive | |
setProperties |
SetAccessControlRecursiveResponse
Nome | Tipo | Descrizione |
---|---|---|
directoriesSuccessful |
integer (int32) |
|
failedEntries | ||
failureCount |
integer (int32) |
|
filesSuccessful |
integer (int32) |