Path - Update
Aggiungere dati | Scarica dati | Imposta proprietà | Impostare Controllo di accesso
Carica i dati da aggiungere a un file, scarica 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 con 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 |
Identificatore del file system. Criterio di espressione regolare: |
path
|
path | True |
string |
Percorso file o directory. |
action
|
query | True |
L'azione deve essere "accodata" per caricare i dati da aggiungere a un file, "scarica" per scaricare i dati caricati in precedenza in un file, "setProperties" per impostare le proprietà di un file o 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 o "setAccessControlRecursive" per impostare l'elenco di controllo di accesso per una directory ricorsivamente. 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 include autorizzazioni per il proprietario, il gruppo proprietario e altri, quindi le intestazioni di richiesta x-ms-ms-acl sono reciprocamente esclusive. |
|
close
|
query |
boolean |
Gli eventi di archiviazione di Azure consentono alle applicazioni di ricevere notifiche quando i file cambiano. Quando gli eventi di archiviazione di Azure sono abilitati, viene generato un evento modificato dal 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 close query è valido solo quando l'azione è "scarica" e le notifiche di modifica sono abilitate. Se il valore di chiusura è "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 Hadoop ABFS 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 di risposta x-ms-continuazione. Quando viene restituito un token di continuazione nella risposta, deve essere codificato in percentuale e specificato in una chiamata successiva di 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" termina rapidamente in caso di errori utente (4XX). Se "true" l'API ignora gli errori utente e procede 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 utente. Il valore predefinito per forceFlag è false. |
|
max
|
query |
integer int32 |
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 |
facoltativo. Valido e obbligatorio per l'operazione "setAccessControlRecursive". La modalità "set" imposta i diritti di controllo di accesso POSIX nei file e nelle directory, "modifica" modifica uno o più diritti di controllo di accesso POSIX esistenti 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 aggiunti i dati. I dati caricati non vengono scaricati immediatamente o scritti nel file. Per scaricare, i dati caricati in precedenza devono essere contigui, il parametro di posizione deve essere specificato e uguale alla lunghezza del file dopo che tutti i dati sono stati scritti e non deve essere incluso un corpo dell'entità richiesta incluso nella richiesta. |
|
retain
|
query |
boolean |
Valido solo per le operazioni di scaricamento. Se "true", i dati non inviati vengono mantenuti dopo il completamento dell'operazione di scaricamento; in caso contrario, i dati non inviati 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 ai dati dopo la posizione di scaricamento di essere conservati per un'operazione di scaricamento futura. |
|
timeout
|
query |
integer int32 |
Valore facoltativo del 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 |
Obbligatorio per "Accodamento dati" e "Scarica dati". Deve essere 0 per "Scarica dati". Deve essere la lunghezza del contenuto della richiesta in byte per "Accodamento dati". |
|
Content-MD5 |
string |
facoltativo. Hash MD5 del contenuto della richiesta. Questa intestazione è valida nelle operazioni "Append" e "Flush". Questo hash viene utilizzato per verificare l'integrità del contenuto della richiesta durante il trasporto. Quando questa intestazione viene specificata, il servizio di archiviazione confronta l'hash del contenuto ricevuto con il valore di questa intestazione. Se i due hash non corrispondono, l'operazione ha esito negativo e restituisce il 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 |
L'ID lease deve essere specificato se è presente un lease attivo. Non valido per le operazioni "setAccessControlRecursive". Criterio di espressione regolare: |
|
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 di 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 di 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 di 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 "Codifica contenuto" 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 di risposta "Content-Language" per le operazioni "Read File". |
|
x-ms-content-md5 |
string |
Facoltativo e valido solo per le operazioni "Scarica e imposta proprietà". Il servizio archivia questo valore e lo include nell'intestazione di risposta "Content-Md5" per le operazioni "Proprietà di lettura e recupero". Se questa proprietà non è specificata sulla richiesta, la proprietà verrà cancellata per il file. Le chiamate successive a "Read and Get Properties" non restituiscono questa proprietà a meno che non sia impostata in modo esplicito su tale file. |
|
x-ms-properties |
string |
facoltativo. 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 codificata 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 e 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 lo spazio dei nomi gerarchico è abilitato per l'account. Imposta le autorizzazioni di accesso POSIX per il proprietario del file, il gruppo proprietario del file e altri. Ogni classe può essere concessa la lettura (4), la scrittura (2) o l'autorizzazione execute (1). Sono supportati sia la notazione simbolica (rwxrw-rw-) sia la notazione a 4 cifre (ad esempio 0766). Il bit bastone è supportato anche e nella notazione simbolica, rappresentato rispettivamente dalla lettera t o T nel punto di carattere finale a seconda che il bit di esecuzione per l'altra categoria sia impostato o unset rispettivamente (ad esempio rwxrw-rw- con bit sticky è rappresentato come rwxrw-rwT. Un rwxrw-rwx con bit bastone viene rappresentato come rwxrw-rwt), l'assenza di t o T indica un bit non impostato. Nella notazione ottale a 4 cifre, rappresentata dalla 1a cifra (ad esempio, 1766 rappresenta rwxrw-rw- con bit appiccicoso e 0766 rappresenta rwxrw-rw- senza bit appiccicosi). 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 nei file e nelle directory. Il valore è un elenco delimitato da virgole di voci di controllo di accesso che sostituisce completamente l'elenco di controllo di accesso esistente nel caso di setAccessControl e "set" di setAccessControlRecursive. La modalità "modifica" di setAccessControlRecursive aggiorna l'ACLS preesistente. 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: "utente" 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 di proprietà. 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, il diritto di lettura al gruppo proprietario e nessun altro: "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 controllo di accesso che sostituisce gli ACL preesistenti dell'ambito specificato e deve contenere tutti e tre gli utenti proprietari, il gruppo proprietario e altre informazioni se l'ambito di accesso viene impostato o se uno degli utenti proprietari, il gruppo proprietario o l'altro è impostato nell'ambito predefinito. Le modalità "set" e "modifica" di setAccessControlRecursive devono contenere autorizzazioni come parte dell'elenco di controllo di accesso. |
|
If-Match |
string |
Facoltativo per scaricare dati, impostare Controllo di accesso e impostare proprietà, ma non valide per Accodamento dati e set Controllo di accesso ricorsivo. Valore ETag. Specificare questa intestazione per eseguire l'operazione solo se il valore ETag della risorsa corrisponde al valore specificato. L'ETag deve essere specificato nelle virgolette. |
|
If-None-Match |
string |
Facoltativo per scaricare dati, impostare Controllo di accesso e impostare proprietà, ma non valide per Accodamento dati e set Controllo di accesso ricorsivo. Valore ETag o carattere jolly speciale ("*"). Specificare questa intestazione per eseguire l'operazione solo se il valore ETag della risorsa non corrisponde al valore specificato. L'ETag deve essere specificato nelle virgolette. |
|
If-Modified-Since |
string |
Facoltativo per scaricare i dati e impostare le proprietà, ma non valido per Accodare dati e impostare 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 scaricare i dati e impostare le proprietà, ma non valido per Accodare dati e impostare 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 |
facoltativo. Chiave di crittografia AES-256 con codifica Base64. |
|
x-ms-encryption-key-sha256 |
string |
facoltativo. Hash SHA256 con codifica Base64 della chiave di crittografia. |
|
x-ms-encryption-algorithm: AES256 |
string |
facoltativo. Specifica l'algoritmo da usare 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 'acquisizione' acquisirà il lease. Se "rinnovo automatico" verrà rinnovato il lease. Se 'acquire-release' acquisisce & completare l'operazione & rilasciare il lease una volta eseguita l'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 il lease infinito. |
|
x-ms-proposed-lease-id |
string |
Obbligatorio quando "x-ms-lease-action" è "acquisizione" o "modifica". Un lease verrà acquisito con questo ID lease se l'operazione ha esito positivo. Criterio di espressione regolare: |
|
x-ms-client-request-id |
string |
Un UUID registrato nei log di analisi per la risoluzione dei problemi e la correlazione. Criterio di espressione regolare: |
|
x-ms-date |
string |
Specifica la data per la richiesta nel fuso orario UTC (Coordinated Universal Time). Questa operazione è necessaria quando si usa l'autorizzazione della chiave condivisa. |
|
x-ms-version |
string |
Specifica la versione del protocollo REST utilizzata per l'elaborazione della richiesta. Questa operazione è necessaria quando si usa l'autorizzazione della chiave condivisa. |
Corpo della richiesta
Media Types: "application/octet-stream", "text/plain"
Nome | Tipo | Descrizione |
---|---|---|
requestBody |
object |
Valido solo per le operazioni di accodamento. I dati da caricare e aggiungere 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:
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 'acquisizione' acquisirà il lease. Se "rinnovo automatico" verrà rinnovato il lease. Se 'acquire-release' acquisisce & completare l'operazione & rilasciare il lease una volta eseguita l'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 "accodata" per caricare i dati da aggiungere a un file, "scarica" per scaricare i dati caricati in precedenza in un file, "setProperties" per impostare le proprietà di un file o 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 o "setAccessControlRecursive" per impostare l'elenco di controllo di accesso per una directory ricorsivamente. 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 include autorizzazioni per il proprietario, il gruppo proprietario e altri, quindi le intestazioni di richiesta x-ms-ms-acl sono reciprocamente esclusive. |
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 'acquisizione' acquisirà il lease. Se "rinnovo automatico" verrà rinnovato il lease. Se 'acquire-release' acquisisce & completare l'operazione & rilasciare il lease una volta eseguita l'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.
Nome | Tipo | Descrizione |
---|---|---|
acquire |
string |
|
acquire-release |
string |
|
auto-renew |
string |
|
release |
string |
PathUpdateAction
L'azione deve essere "accodata" per caricare i dati da aggiungere a un file, "scarica" per scaricare i dati caricati in precedenza in un file, "setProperties" per impostare le proprietà di un file o 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 o "setAccessControlRecursive" per impostare l'elenco di controllo di accesso per una directory ricorsivamente. 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 include autorizzazioni per il proprietario, il gruppo proprietario e altri, quindi le intestazioni di richiesta x-ms-ms-acl sono reciprocamente esclusive.
Nome | Tipo | Descrizione |
---|---|---|
append |
string |
|
flush |
string |
|
setAccessControl |
string |
|
setAccessControlRecursive |
string |
|
setProperties |
string |
SetAccessControlRecursiveResponse
Nome | Tipo | Descrizione |
---|---|---|
directoriesSuccessful |
integer |
|
failedEntries | ||
failureCount |
integer |
|
filesSuccessful |
integer |