Condividi tramite


Path - Create

Crea file | Crea directory | Rinomina file | Rinomina directory
Creare o rinominare un file o una directory. Per impostazione predefinita, la destinazione viene sovrascritta e, se la destinazione esiste già e ha un lease, il lease viene interrotto. Si noti che la ridenominazione di un file o di una directory in un contenitore con criteri di crittografia dei contenitori applicati non è consentita a meno che il contenitore di origine non abbia anche criteri di crittografia del contenitore applicati corrispondenti. Questa operazione supporta le richieste HTTP condizionali. Per altre informazioni, vedere Specifica di intestazioni condizionali per le operazioni del servizio BLOB. Per avere esito negativo se la destinazione esiste già, usare una richiesta condizionale con If-None-Match: "*".

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

Parametri dell'URI

Nome In Necessario Tipo Descrizione
accountName
path True

string

Nome dell'account di archiviazione di Azure.

dnsSuffix
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: ^[$a-z0-9](?!.*--)[-a-z0-9]{1,61}[a-z0-9]$

path
path True

string

Percorso del file o della directory.

continuation
query

string

Opzionale. Quando si rinomina una directory, il numero di percorsi rinominati con ogni chiamata è limitato. Se il numero di percorsi da rinominare supera questo limite, viene restituito un token di continuazione nell'intestazione della risposta. Quando viene restituito un token di continuazione nella risposta, è necessario specificarlo in una chiamata successiva dell'operazione di ridenominazione per continuare a rinominare la directory.

mode
query

PathRenameMode

Opzionale. Valido solo quando lo spazio dei nomi è abilitato. Questo parametro determina il comportamento dell'operazione di ridenominazione. Il valore deve essere "legacy" o "posix" e il valore predefinito sarà "posix".

resource
query

PathResourceType

Obbligatorio solo per Crea file e Crea directory. Il valore deve essere "file" o "directory".

timeout
query

integer

int32

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"

Nome Necessario Tipo Descrizione
Cache-Control

string

Opzionale. Il servizio archivia questo valore e lo include nell'intestazione della risposta "Cache-Control" per le operazioni "Read File" per le operazioni "Read File".

Content-Encoding

string

Opzionale. Specifica le codifiche del contenuto applicate al file. Questo valore viene restituito al client quando viene eseguita l'operazione "Read File".

Content-Language

string

Opzionale. Specifica il linguaggio naturale utilizzato dal gruppo di destinatari previsto per il file.

Content-Disposition

string

Opzionale. Il servizio archivia questo valore e lo include nell'intestazione della risposta "Content-Disposition" per le operazioni "Read File".

x-ms-cache-control

string

Opzionale. Il servizio archivia questo valore e lo include nell'intestazione della risposta "Cache-Control" per le operazioni "Read File".

x-ms-content-type

string

Opzionale. Il servizio archivia questo valore e lo include nell'intestazione della risposta "Content-Type" per le operazioni "Read File".

x-ms-content-encoding

string

Opzionale. Il servizio archivia questo valore e lo include nell'intestazione di risposta "Content-Encoding" per le operazioni "Read File".

x-ms-content-language

string

Opzionale. Il servizio archivia questo valore e lo include nell'intestazione della risposta "Content-Language" per le operazioni "Read File".

x-ms-content-disposition

string

Opzionale. Il servizio archivia questo valore e lo include nell'intestazione della risposta "Content-Disposition" per le operazioni "Read File".

x-ms-rename-source

string

Un file o una directory facoltativa da rinominare. Il valore deve avere il formato seguente: "/{filesystem}/{path}" o "/{filesystem}/{path}?sastoken" quando si usa un token di firma di accesso condiviso. Se si specifica "x-ms-properties", le proprietà sovrascriveranno le proprietà esistenti; in caso contrario, le proprietà esistenti verranno mantenute. Questo valore deve essere una stringa con codifica in percentuale url. Si noti che la stringa può contenere solo caratteri ASCII nel set di caratteri ISO-8859-1.

x-ms-lease-id

string

Opzionale. ID lease per il percorso specificato nell'URI. Il percorso da sovrascrivere deve avere un lease attivo e l'ID lease deve corrispondere.

Criterio di espressione regolare: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$

x-ms-source-lease-id

string

Facoltativo per le operazioni di ridenominazione. ID lease per il percorso di origine. Il percorso di origine deve avere un lease attivo e l'ID lease deve corrispondere.

Criterio di espressione regolare: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$

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.

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. 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-umask

string

Facoltativo e valido solo se lo spazio dei nomi gerarchico è abilitato per l'account. Quando si crea un file o una directory e la cartella padre non dispone di un elenco di controllo di accesso predefinito, umask limita le autorizzazioni del file o della directory da creare. L'autorizzazione risultante viene concessa da p & ^u, dove p è l'autorizzazione ed è l'umask. Ad esempio, se p è 0777 e si è 0057, l'autorizzazione risultante è 0720. L'autorizzazione predefinita è 0777 per una directory e 0666 per un file. Il valore predefinito di umask è 0027. L'umask deve essere specificato nella notazione ottale a 4 cifre (ad esempio 0766).

x-ms-owner

string

Facoltativo e valido solo se lo spazio dei nomi gerarchico è abilitato per l'account. Imposta il proprietario del file o della directory.

x-ms-group

string

Facoltativo e valido solo se lo spazio dei nomi gerarchico è abilitato per l'account. Imposta il gruppo proprietario del file o della directory.

x-ms-acl

string

Facoltativo e valido solo se lo spazio dei nomi gerarchico è abilitato per l'account. Imposta i diritti di controllo di accesso POSIX per file e directory. 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.

x-ms-proposed-lease-id

string

Opzionale. Specificare un ID lease proposto se si vuole acquisire un lease durante la creazione di un file o di una directory. Un lease verrà acquisito con questo ID lease se la creazione ha esito positivo.

Criterio di espressione regolare: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$

x-ms-expiry-option

string

Facoltativo e valido solo se lo spazio dei nomi gerarchico è abilitato per l'account e supportato solo nei file. Specificare una delle opzioni di scadenza seguenti se si desidera impostare l'ora di scadenza in un file durante la creazione. "RelativeToNow" Imposta la scadenza rispetto all'ora corrente. L'utente passerà il numero di millisecondi trascorsi da ora. Tempo assoluto assoluto nel formato RFC 1123. "Neverexpire" Impostare il file in modo che non scada mai, non è necessario specificare la scadenza con questa opzione.

x-ms-expiry-time

string

Facoltativo e valido solo se lo spazio dei nomi gerarchico è abilitato per l'account e supportato solo nei file. Specificare l'ora di scadenza in cui scadere il file. Dato come RFC 1123 HTTP Time String o numero di millisecondi in base all'opzione di scadenza.

If-Match

string

Opzionale. 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

Opzionale. 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

Opzionale. 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

Opzionale. 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-source-if-match

string

Opzionale. Valore ETag. Specificare questa intestazione per eseguire l'operazione di ridenominazione solo se l'ETag dell'origine corrisponde al valore specificato. L'ETag deve essere specificato tra virgolette.

x-ms-source-if-none-match

string

Opzionale. Valore ETag o valore con caratteri jolly speciali ("*"). Specificare questa intestazione per eseguire l'operazione di ridenominazione solo se l'ETag dell'origine non corrisponde al valore specificato. L'ETag deve essere specificato tra virgolette.

x-ms-source-if-modified-since

string

Opzionale. Valore di data e ora. Specificare questa intestazione per eseguire l'operazione di ridenominazione solo se l'origine è stata modificata dopo la data e l'ora specificate.

x-ms-source-if-unmodified-since

string

Opzionale. Valore di data e ora. Specificare questa intestazione per eseguire l'operazione di ridenominazione solo se l'origine 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-encryption-context

string

Opzionale. Il valore predefinito è "Vuoto". Se il valore è impostato, imposta i metadati blob/file system. Lunghezza massima- 1024. Valido solo quando lo spazio dei nomi gerarchico è abilitato per l'account.

x-ms-client-transaction-id

string

Opzionale. Il valore predefinito è "Vuoto". Se il valore è impostato, i metadati blob verranno impostati per la creazione o la ridenominazione del file. Se si verifica il timeout della richiesta per il client, questo valore può essere recuperato usando la chiamata Get Properties per verificare se la richiesta di timeout è riuscita o meno alla fine del servizio. Lunghezza massima- 36. Valido solo quando lo spazio dei nomi gerarchico è abilitato per l'account.

x-ms-client-request-id

string

UUID registrato nei log di analisi per la risoluzione dei problemi e la correlazione.

Criterio di espressione regolare: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$

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.

Risposte

Nome Tipo Descrizione
201 Created

Il file o la directory è stato creato.

Intestazioni

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

DataLakeStorageError

Si è verificato un errore. Di seguito sono elencate le possibili stringhe di stato, codice e messaggio HTTP:

  • 400 Richiesta non valida, ContentLengthMustBeZero, "L'intestazione della richiesta Content-Length deve essere zero".
  • 400 Richiesta non valida, InvalidAuthenticationInfo, "Le informazioni di autenticazione non sono specificate nel formato corretto. Controllare il valore dell'intestazione Authorization."
  • 400 Richiesta non valida, InvalidFlushPosition, "I dati caricati non sono contigui o il valore del parametro della query di posizione non è uguale alla lunghezza del file dopo l'aggiunta dei dati caricati".
  • 400 Richiesta non valida, InvalidHeaderValue, "Il valore per una delle intestazioni HTTP non è nel formato corretto".
  • 400 Richiesta non valida, InvalidHttpVerb, "Il verbo HTTP specificato non è valido- non è riconosciuto dal server".
  • 400 Richiesta non valida, InvalidInput, "Uno degli input della richiesta non è valido".
  • 400 Richiesta non valida, InvalidPropertyName, "Un nome di proprietà non può essere vuoto".
  • 400 Richiesta non valida, InvalidPropertyName, "Il nome della proprietà contiene caratteri non validi".
  • 400 Richiesta non valida, InvalidQueryParameterValue, "Il valore per uno dei parametri di query specificati nell'URI della richiesta non è valido".
  • 400 Richiesta non valida, InvalidResourceName, "Il nome della risorsa specificato contiene caratteri non validi".
  • 400 Richiesta non valida, InvalidSourceUri, "L'URI di origine non è valido".
  • 400 Richiesta non valida, InvalidUri, "L'URI della richiesta non è valido".
  • 400 Richiesta non valida, MissingRequiredHeader, "Un'intestazione HTTP obbligatoria per questa richiesta non è specificata".
  • 400 Richiesta non valida, MissingRequiredQueryParameter, "Parametro di query obbligatorio per questa richiesta non specificato".
  • 400 Richiesta non valida, MultipleConditionHeadersNotSupported, "Più intestazioni di condizione non sono supportate".
  • 400 Richiesta non valida, OutOfRangeInput, "Uno degli input della richiesta non è compreso nell'intervallo".
  • 400 Richiesta non valida, OutOfRangeQueryParameterValue, "Uno dei parametri di query specificati nell'URI della richiesta non è compreso nell'intervallo consentito".
  • 400 Richiesta non valida, UnsupportedHeader, "Una delle intestazioni specificate nella richiesta non è supportata".
  • 400 Richiesta non valida, UnsupportedQueryParameter, "Uno dei parametri di query specificati nell'URI della richiesta non è supportato".
  • 400 Richiesta non valida, Non supportatoRestVersion, "La versione rest specificata non è supportata".
  • 403 Accesso negato, AccountIsDisabled, "L'account specificato è disabilitato".
  • 403 Accesso negato, AuthorizationFailure, "Questa richiesta non è autorizzata a eseguire questa operazione".
  • 403 Accesso negato, InsufficientAccountPermissions: "L'account a cui si accede non dispone di autorizzazioni sufficienti per eseguire questa operazione".
  • 404 Non trovato, FilesystemNotFound, "Il file system specificato non esiste".
  • 404 Non trovato, PathNotFound, "Il percorso specificato non esiste".
  • 404 Non trovato, RenameDestinationParentPathNotFound, "La directory padre del percorso di destinazione non esiste".
  • 404 Non trovato, ResourceNotFound, "La risorsa specificata non esiste".
  • 404 Non trovato, SourcePathNotFound, "Il percorso di origine per un'operazione di ridenominazione non esiste".
  • Metodo 405 Non consentito, UnsupportedHttpVerb, "La risorsa non supporta il verbo HTTP specificato".
  • 409 Conflict, DestinationPathIsBeingDeleted, "Il percorso di destinazione specificato è contrassegnato per essere eliminato".
  • 409 Conflict, DirectoryNotEmpty, "The recursive query parameter value must be true to delete a non-empty directory."
  • 409 Conflict, FilesystemAlreadyExists, "The specified filesystem already exists".
  • 409 Conflict, FilesystemBeingDeleted, "The specified filesystem is being deleted".
  • 409 Conflict, InvalidDestinationPath, "The specified path, or an element of the path, exists and its resource type is invalid for this operation". * 409 Conflict, InvalidFlushOperation, "The resource was created or modified by the Blob Service API and cannot be written to by the Data Lake Storage Service API" (La risorsa è stata creata o modificata dall'API del servizio BLOB e non può essere scritta dall'API del servizio Data Lake Storage).
  • 409 Conflict, InvalidRenameSourcePath, "The source directory cannot be the same as the destination directory, nor can the destination be a subdirectory of the source directory".
  • 409 Conflitto, InvalidSourceOrDestinationResourceType, "Il tipo di risorsa di origine e di destinazione deve essere identico".
  • 409 Conflict, LeaseAlreadyPresent, "There is already a lease present".
  • 409 Conflict, LeaseIdMismatchWithLeaseOperation, "L'ID lease specificato non corrisponde all'ID lease per la risorsa con l'operazione di lease specificata".
  • 409 Conflict, LeaseIsAlreadyBroken, "Il lease è già stato interrotto e non può essere interrotto di nuovo".
  • 409 Conflict, LeaseIsBreakingAndCannotBeAcquired, "The lease ID matched, but the lease is currently in breaking state and cannot be acquired until it broken".
  • 409 Conflict, LeaseIsBreakingAndCannotBeChanged, "The lease ID matched, but the lease is currently in breaking state and cannot be changed".
  • 409 Conflict, LeaseIsBrokenAndCannotBeRenewed, "The lease ID matched, but the lease has been broken explicitly and cannot be renewed".
  • 409 Conflict, LeaseNameMismatch, "Il nome del lease specificato non corrisponde al nome del lease esistente".
  • 409 Conflict, LeaseNotPresentWithLeaseOperation, "L'ID lease non è presente con l'operazione di lease specificata".
  • 409 Conflict, PathAlreadyExists, "The specified path already exists".
  • 409 Conflict, PathConflict, "The specified path, or an element of the path, exists and its resource type is invalid for this operation".
  • 409 Conflict, SourcePathIsBeingDeleted, "Il percorso di origine specificato è contrassegnato per essere eliminato".
  • 409 Conflict, ResourceTypeMismatch, "Il tipo di risorsa specificato nella richiesta non corrisponde al tipo della risorsa".
  • 412 Precondizione non riuscita, ConditionNotMet, "La condizione specificata tramite intestazioni condizionali HTTP non viene soddisfatta".
  • 412 Precondizione non riuscita, LeaseIdMismatch, "L'ID lease specificato non corrisponde all'ID lease per la risorsa".
  • 412 Precondizione non riuscita, LeaseIdMissing, "È attualmente presente un lease per la risorsa e nella richiesta non è stato specificato alcun ID lease".
  • 412 Precondizione non riuscita, LeaseNotPresent, "Attualmente non esiste alcun lease sulla risorsa".
  • 412 Precondizione non riuscita, LeaseLost, "È stato specificato un ID lease, ma il lease per la risorsa è scaduto".
  • 412 Precondizione non riuscita, SourceConditionNotMet, "La condizione di origine specificata tramite intestazioni condizionali HTTP non viene soddisfatta".
  • 413 Entità richiesta troppo grande, RequestBodyTooLarge, "Il corpo della richiesta è troppo grande e supera il limite massimo consentito".
  • 416 Intervallo richiesto non satisfiable, InvalidRange, "L'intervallo specificato non è valido per le dimensioni correnti della risorsa".
  • 500 Errore interno del server, InternalError, "Il server ha rilevato un errore interno. Ripetere la richiesta."
  • 500 Errore interno del server, OperationTimedOut, "Impossibile completare l'operazione entro il tempo consentito".
  • 503 Servizio non disponibile, ServerBusy, "Uscita superata il limite di account".
  • 503 Servizio non disponibile, ServerBusy, "Ingress is over the account limit".
  • 503 Servizio non disponibile, ServerBusy, "Le operazioni al secondo superano il limite di account".
  • 503 Servizio non disponibile, ServerBusy, "Il server non è attualmente in grado di ricevere richieste. Ripetere la richiesta."

Intestazioni

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

Definizioni

Nome Descrizione
DataLakeStorageError
Error

Oggetto risposta di errore del servizio.

PathRenameMode

Opzionale. Valido solo quando lo spazio dei nomi è abilitato. Questo parametro determina il comportamento dell'operazione di ridenominazione. Il valore deve essere "legacy" o "posix" e il valore predefinito sarà "posix".

PathResourceType

Obbligatorio solo per Crea file e Crea directory. Il valore deve essere "file" o "directory".

DataLakeStorageError

Nome Tipo Descrizione
error

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.

PathRenameMode

Opzionale. Valido solo quando lo spazio dei nomi è abilitato. Questo parametro determina il comportamento dell'operazione di ridenominazione. Il valore deve essere "legacy" o "posix" e il valore predefinito sarà "posix".

Nome Tipo Descrizione
legacy

string

posix

string

PathResourceType

Obbligatorio solo per Crea file e Crea directory. Il valore deve essere "file" o "directory".

Nome Tipo Descrizione
directory

string

file

string