Create File

L'operazione Create File crea un nuovo file o sostituisce un file. Quando si chiama Create File, si inizializza solo il file. Per aggiungere contenuto a un file, chiamare l'operazione Put Range .

Disponibilità del protocollo

Protocollo di condivisione file abilitato Disponibile
SMB Sì
NFS No

Richiesta

È possibile costruire una Create File richiesta eseguendo le operazioni seguenti. È consigliabile usare HTTPS.

Metodo URI richiesta Versione HTTP
PUT https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile HTTP/1.1

Sostituire i componenti del percorso visualizzati nell'URI della richiesta con i propri, come descritto nella tabella seguente:

Componente percorso Descrizione
myaccount nome dell'account di archiviazione.
myshare Nome della condivisione file.
mydirectorypath Facoltativa. Percorso della directory in cui deve essere creato il file. Se il percorso della directory viene omesso, il file verrà creato all'interno della condivisione specificata.

Se la directory è specificata, deve esistere già all'interno della condivisione prima di poter creare il file.
myfile Nome del file da creare.

Per informazioni sulle restrizioni di denominazione dei percorsi, vedere Nomi e condivisioni di riferimento, directory, file e metadati.

Parametri URI

Nell'URI della richiesta puoi specificare i parametri seguenti:

Parametro Descrizione
timeout Facoltativa. Il parametro timeout viene espresso in secondi. Per altre informazioni, vedere Impostare timeout per le operazioni del servizio file.

Intestazioni della richiesta

Le intestazioni di richiesta obbligatorie e facoltative sono descritte nella tabella seguente:

Intestazione della richiesta Descrizione
Authorization Obbligatorio. Specifica lo schema di autorizzazione, il nome dell'account e la firma. Per altre informazioni, vedere Autorizzare le richieste ad Archiviazione di Azure.
Date o x-ms-date Obbligatorio. Specifica l'ora UTC (Coordinated Universal Time) per la richiesta. Per altre informazioni, vedere Autorizzare le richieste ad Archiviazione di Azure.
x-ms-version Obbligatorio per tutte le richieste autorizzate. Specifica la versione dell'operazione da usare per questa richiesta. Per altre informazioni, vedere Controllo delle versioni per i servizi di archiviazione di Azure.
Content-Length Facoltativa. Se presente, deve essere zero.
x-ms-content-length: byte value Obbligatorio. Questa intestazione specifica le dimensioni massime per il file, fino a 4 tebibyte (TiB).
Content-Type o x-ms-content-type Facoltativa. Tipo di contenuto MIME del file. Il tipo predefinito è application/octet-stream.
Content-Encoding o x-ms-content-encoding Facoltativa. Specifica le codifiche di contenuto applicate al file. Questo valore viene restituito al client quando viene eseguita l'operazione Get File sulla risorsa file ed è possibile usarlo per decodificare il contenuto del file.
Content-Language o x-ms-content-language Facoltativa. Specifica i linguaggi naturali utilizzati da questa risorsa.
Cache-Control o x-ms-cache-control Facoltativa. File di Azure archivia questo valore, ma non lo usa o lo modifica.
x-ms-content-md5 Facoltativa. Imposta l'hash MD5 del file.
x-ms-content-disposition Facoltativa. Imposta l'intestazione del Content-Disposition file.
x-ms-type: file Obbligatorio. Impostare questa intestazione su file.
x-ms-meta-name:value Facoltativa. Coppie nome-valore associate al file come metadati. I nomi dei metadati devono rispettare le regole di denominazione per gli identificatori C#.

Nota: i metadati dei file specificati tramite File di Azure non sono accessibili da un client SMB (Server Message Block).
x-ms-file-permission: { inherit ¦ <SDDL> } Nella versione 2019-02-02-2021-04-10, questa intestazione è obbligatoria se x-ms-file-permission-key non è specificata. A partire dalla versione 2021-06-08, entrambe le intestazioni sono facoltative. Questa autorizzazione è il descrittore di sicurezza per il file specificato nell'SDDL (Security Descriptor Definition Language). È possibile usare questa intestazione se la dimensione delle autorizzazioni è di 8 kibibyte (KiB) o meno. In caso contrario, è possibile usare x-ms-file-permission-key. Se si specifica l'intestazione, deve avere un proprietario, un gruppo e un elenco di controllo di accesso discrezionale (DACL). È possibile passare un valore di inherit da ereditare dalla directory padre.
x-ms-file-permission-key: <PermissionKey> Nella versione 2019-02-02-2021-04-10, questa intestazione è obbligatoria se x-ms-file-permission non è specificata. A partire dalla versione 2021-06-08, entrambe le intestazioni sono facoltative. Se non viene specificata alcuna intestazione, per l'intestazione viene utilizzato il x-ms-file-permission valore predefinito di inherit .

È possibile creare la chiave chiamando l'API Create Permission .
x-ms-file-attributes Obbligatorio: dalla versione 2019-02-02 al 2021-04-10. Facoltativo: versione 2021-06-08 e successive. Questa intestazione contiene gli attributi del file system da impostare nel file. Per altre informazioni, vedere l'elenco degli attributi disponibili. Il valore predefinito è None.
x-ms-file-creation-time: { now ¦ <DateTime> } Obbligatorio: dalla versione 2019-02-02 al 2021-04-10. Facoltativo: versione 2021-06-08 e successive. Proprietà dell'ora di creazione UTC (Coordinated Universal Time) per il file. È possibile utilizzare un valore di now per indicare l'ora della richiesta. Il valore predefinito è now.
x-ms-file-last-write-time: { now ¦ <DateTime> } Obbligatorio: dalla versione 2019-02-02 al 2021-04-10. Facoltativo: versione 2021-06-08 e successive. Ultima proprietà di scrittura utc (Coordinated Universal Time) per il file. È possibile usare un valore di now per indicare l'ora della richiesta. Il valore predefinito è now.
x-ms-lease-id: <ID> Obbligatorio se il file ha un lease attivo. Disponibile per la versione 2019-02-02 e successive.
x-ms-client-request-id Facoltativa. Fornisce un valore opaco generato dal client con un limite di caratteri di 1 kibibyte (KiB) registrato nei log al momento della configurazione della registrazione. È consigliabile usare questa intestazione per correlare le attività lato client alle richieste ricevute dal server. Per altre informazioni, vedere Monitorare File di Azure.
x-ms-file-change-time: { now ¦ <DateTime> } Facoltativa. Versione 2021-06-08 e successive. La proprietà Utc (Coordinated Universal Time) cambia ora per il file, nel formato ISO 8601. È possibile usare un valore di now per indicare l'ora della richiesta. Il valore predefinito è now.
x-ms-file-request-intent Obbligatorio se Authorization l'intestazione specifica un token OAuth. Il valore accettabile è backup. Questa intestazione specifica che l'oggetto Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action o Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action deve essere concesso se sono inclusi nei criteri di controllo degli accessi in base al ruolo assegnati all'identità autorizzata tramite l'intestazione Authorization . Disponibile per la versione 2022-11-02 e successive.
x-ms-allow-trailing-dot: { <Boolean> } Facoltativa. Versione 2022-11-02 e successive. Il valore booleano specifica se un punto finale presente nell'URL della richiesta deve essere tagliato o meno. Per altre informazioni, vedere Denominazione e riferimento a condivisioni, directory, file e metadati.

Testo della richiesta

Nessuno.

Richiesta di esempio

Request Syntax:  
PUT https://myaccount.file.core.windows.net/myshare/myfile HTTP/1.1  
  
Request Headers:  
x-ms-version: 2020-02-10
x-ms-date: Mon, 27 Jan 2014 22:41:55 GMT  
Content-Type: text/plain; charset=UTF-8  
x-ms-content-length: 1024  
Authorization: SharedKey myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g=  
  

Risposta

Nella risposta sono inclusi un codice di stato HTTP e un set di intestazioni per la risposta.

Codice stato

Un'operazione completata correttamente restituisce il codice di stato 201 (Creato).

Per informazioni sui codici di stato, vedere Codici di stato e di errore.

Intestazioni di risposta

La risposta per questa operazione include le intestazioni descritte nella tabella seguente. Nella risposta possono anche essere incluse intestazioni HTTP standard aggiuntive. Tutte le intestazioni standard sono conformi alla specifica del protocollo HTTP/1.1.

Intestazione risposta Descrizione
ETag L'ETag contiene un valore che rappresenta la versione del file. Il valore è racchiuso tra virgolette.
Last-Modified Restituisce la data e l'ora dell'ultima modifica del file. Il formato data è conforme a RFC 1123. Per altre informazioni, vedere Rappresentare i valori di data/ora nelle intestazioni.

Qualsiasi operazione che comporta modifiche alla directory o alle relative proprietà comporta l'aggiornamento dell'ora dell'ultima modifica. Le operazioni sui file non influiscono sull'ora dell'ultima modifica della directory.
x-ms-request-id Identifica in modo univoco la richiesta effettuata e può essere usata per la risoluzione dei problemi della richiesta. Per altre informazioni, vedere Risolvere i problemi relativi alle operazioni api
x-ms-version Indica la versione File di Azure usata per eseguire la richiesta.
Date Valore di data/ora UTC generato dal servizio, che indica l'ora di avvio della risposta.
x-ms-request-server-encrypted: true/false Versione 2017-04-17 e successive. Il valore di questa intestazione è impostato su true se il contenuto della richiesta è stato crittografato correttamente usando l'algoritmo specificato. Se la crittografia non riesce, il valore è false.
x-ms-file-permission-key Chiave dell'autorizzazione del file.
x-ms-file-attributes Attributi del file system nel file. Per altre informazioni, vedere l'elenco degli attributi disponibili.
x-ms-file-creation-time Valore di data/ora UTC che rappresenta la proprietà dell'ora di creazione per il file.
x-ms-file-last-write-time Valore di data/ora UTC che rappresenta la proprietà dell'ora di scrittura dell'ultima per il file.
x-ms-file-change-time Data/ora UTC che rappresenta la proprietà change time per il file.
x-ms-file-file-id ID file del file.
x-ms-file-parent-id ID file padre del file.
x-ms-client-request-id Usato per risolvere i problemi relativi alle richieste e alle risposte corrispondenti. Il valore di questa intestazione è uguale al valore dell'intestazione x-ms-client-request-id se è presente nella richiesta e il valore non contiene più di 1.024 caratteri ASCII visibili. Se l'intestazione x-ms-client-request-id non è presente nella richiesta, non è presente nella risposta.

Corpo della risposta

Nessuno.

Risposta di esempio

Response Status:  
HTTP/1.1 201 Created  
  
Response Headers:  
Transfer-Encoding: chunked  
Date: Mon, 27 Jan 2014 23:00:12 GMT  
ETag: "0x8CB14C3E29B7E82"  
Last-Modified: Mon, 27 Jan 2014 23:00:06 GMT  
x-ms-version: 2014-02-14  
Server: Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0  

Autorizzazione

Solo il proprietario dell'account può chiamare questa operazione.

Attributi del file system

Attributo Attributo del file Win32 Definizione
ReadOnly FILE_ATTRIBUTE_READONLY File di sola lettura. Le applicazioni possono leggere il file, ma non possono scrivervi o eliminarle.
Nascosto FILE_ATTRIBUTE_HIDDEN Il file è nascosto. Non è incluso in un elenco di directory normale.
Sistema FILE_ATTRIBUTE_SYSTEM File utilizzato esclusivamente dal sistema operativo.
Nessuno FILE_ATTRIBUTE_NORMAL File che non ha altri attributi impostati. Questo attributo è valido solo se usato da solo.
Archiviazione FILE_ATTRIBUTE_ARCHIVE File che è un file di archivio. Le applicazioni usano in genere questo attributo per contrassegnare i file per il backup o la rimozione.
Temporaneo FILE_ATTRIBUTE_TEMPORARY File usato per l'archiviazione temporanea.
Offline FILE_ATTRIBUTE_OFFLINE I dati di un file non sono immediatamente disponibili. Questo attributo del file system viene presentato principalmente per garantire la compatibilità con Windows. File di Azure non lo supporta con le opzioni di archiviazione offline.
NotContentIndexed FILE_ATTRIBUTE_NOT_CONTENT_INDEXED Il file non deve essere indicizzato dal servizio di indicizzazione del contenuto.
NoScrubData FILE_ATTRIBUTE_NO_SCRUB_DATA Flusso di dati utente che non deve essere letto dallo scanner di integrità dei dati in background. Questo attributo del file system viene presentato principalmente per garantire la compatibilità con Windows.

Commenti

Per creare un nuovo file, inizializzarlo prima chiamando Create File e specificandone la dimensione massima, fino a 4 TiB. Quando si esegue questa operazione, non includere il contenuto nel corpo della richiesta. Dopo aver creato il file, chiamare Put Range per aggiungere contenuto al file o modificarlo.

È possibile modificare le dimensioni del file chiamando Set File Properties.

Se la condivisione o la directory padre non esiste, l'operazione non riesce con il codice di stato 412 (Precondizione non riuscita).

Nota

Le proprietà cache-controldel file , , content-md5content-typecontent-encoding, e content-language sono separate dalle proprietà del file system disponibili per i client SMB. I client SMB non sono in grado di leggere, scrivere o modificare questi valori di proprietà.

Per creare il file, se il file esistente ha un lease attivo, il client deve specificare un ID lease valido nella richiesta. Se il client non specifica un ID lease o specifica un ID lease non valido, File di Azure restituisce il codice di stato 412 (Precondizione non riuscita). Se il client specifica un ID lease, ma il file non ha un lease attivo, File di Azure restituisce il codice di stato 412 (Precondizione non riuscita) in questa istanza. Se il client specifica un ID lease in un file che non esiste ancora, File di Azure restituisce il codice di stato 412 (Precondizione non riuscita) per le richieste effettuate rispetto alla versione 2019-02-02 e successive.

Se un file esistente con un lease attivo viene sovrascritto da un'operazione Create File , il lease persiste nel file aggiornato finché non viene rilasciato.

Create File non è supportato in uno snapshot di condivisione, ovvero una copia di sola lettura di una condivisione. Un tentativo di eseguire questa operazione in uno snapshot di condivisione non riesce con il codice di stato 400 (InvalidQueryParameterValue).

Vedi anche

Operazioni su File di Azure