Crea 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 di Put Range.

Disponibilità del protocollo

Protocollo di condivisione file abilitato Disponibile
SMB sì
NFS nessuna

Richiesta

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

Metodo URI della 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 Opzionale. 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 Nome e condivisioni di riferimento, directory, file e metadati.

Parametri URI

È possibile specificare i parametri aggiuntivi seguenti nell'URI della richiesta:

Parametro Descrizione
timeout Opzionale. Il parametro timeout è 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 utilizzare per questa richiesta. Per altre informazioni, vedere Controllo delle versioni per i servizi di archiviazione di Azure.
Content-Length Opzionale. Deve essere zero se presente.
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 Opzionale. Tipo di contenuto MIME del file. Il tipo predefinito è application/octet-stream.
Content-Encoding o x-ms-content-encoding Opzionale. Specifica le codifiche del contenuto applicate al file. Questo valore viene restituito al client quando l'operazione di Get File viene eseguita sulla risorsa file ed è possibile usarlo per decodificare il contenuto del file.
Content-Language o x-ms-content-language Opzionale. Specifica i linguaggi naturali usati da questa risorsa.
Cache-Control o x-ms-cache-control Opzionale. File di Azure archivia questo valore ma non lo usa o lo modifica.
x-ms-content-md5 Opzionale. Imposta l'hash MD5 del file.
x-ms-content-disposition Opzionale. Imposta l'intestazione Content-Disposition del file.
x-ms-type: file Obbligatorio. Impostare questa intestazione su file.
x-ms-meta-name:value Opzionale. 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> ¦ <binary> } Nella versione 2019-02-02-2021-04-10, questa intestazione è obbligatoria se non viene specificato x-ms-file-permission-key. A partire dalla versione 2021-06-08, entrambe le intestazioni sono facoltative. Questa autorizzazione è il descrittore di sicurezza per il file specificato nel linguaggio SDDL (Security Descriptor Definition Language) o (versione 2024-11-04 o successiva) nel formato descrittore di sicurezza binario con codifica base64 formato descrittore di sicurezza binario. È possibile specificare il formato da usare con l'intestazione x-ms-file-permission-format. È possibile usare questa intestazione se le dimensioni delle autorizzazioni sono 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 elenco di controllo di accesso discrezionale (DACL). È possibile passare un valore di inherit da ereditare dalla directory padre.
x-ms-file-permission-format: { sddl ¦ binary } Opzionale. Versione 2024-11-04 o successiva. Specifica se il valore passato in x-ms-file-permission è in FORMATO SDDL o binario. Se x-ms-file-permission-key è impostato su inherit, questa intestazione non deve essere impostata. Se x-ms-file-permission-key è impostato su qualsiasi valore diverso da inherite se questa intestazione non è impostata, viene utilizzato il valore predefinito di sddl.
x-ms-file-permission-key: <PermissionKey> Nella versione 2019-02-02-2021-04-10, questa intestazione è obbligatoria se non viene specificato x-ms-file-permission. A partire dalla versione 2021-06-08, entrambe le intestazioni sono facoltative. Se non viene specificata alcuna intestazione, viene usato il valore predefinito di inherit per l'intestazione x-ms-file-permission.

È 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à ora 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 Opzionale. Fornisce un valore opaco generato dal client con un limite di caratteri di 1 kibibyte (KiB) registrato nei log quando viene configurata la registrazione. È consigliabile usare questa intestazione per correlare le attività sul lato client alle richieste ricevute dal server. Per altre informazioni, vedere Monitorare File di Azure.
x-ms-file-change-time: { now ¦ <DateTime> } Opzionale. Versione 2021-06-08 e successive. La proprietà Ora 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 intestazione specifica un token OAuth. Il valore accettabile è backup. Questa intestazione specifica che il 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 usando l'intestazione Authorization. Disponibile per la versione 2022-11-02 e successive.
x-ms-allow-trailing-dot: { <Boolean> } Opzionale. 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.

Corpo 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

La risposta include un codice di stato HTTP e un set di intestazioni di risposta.

Codice di stato

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

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

Intestazioni di risposta

La risposta per questa operazione include le intestazioni descritte nella tabella seguente. La risposta può includere anche intestazioni HTTP standard aggiuntive. Tutte le intestazioni standard sono conformi alla specifica del protocollo HTTP/1.1 .

Intestazione della 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 della data segue RFC 1123. Per altre informazioni, vedere Rappresentare valori di data/ora nelle intestazioni.

Qualsiasi operazione che modifica la directory o le relative proprietà aggiorna l'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 di 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 viene 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 dell'ultima scrittura per il file.
x-ms-file-change-time Data/ora UTC che rappresenta la proprietà dell'ora di modifica 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 scriverlo o eliminarlo.
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.
Archivio FILE_ATTRIBUTE_ARCHIVE File che rappresenta un file di archivio. Le applicazioni usano in genere questo attributo per contrassegnare i file per il backup o la rimozione.
Provvisorio FILE_ATTRIBUTE_TEMPORARY File usato per l'archiviazione temporanea.
Off-line 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 Il flusso di dati utente non essere letto dallo scanner di integrità dei dati in background. Questo attributo del file system viene presentato principalmente per garantire la compatibilità con Windows.

Osservazioni

Per creare un nuovo file, inizializzarlo prima chiamando Create File e specificandone le dimensioni massime, 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 ha esito negativo con codice di stato 412 (precondizione non riuscita).

Nota

Le proprietà del file cache-control, content-type, content-md5, content-encodinge 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, Anche 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 di Create File, il lease persiste nel file aggiornato fino al rilascio.

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

Vedere anche

operazioni di in File di Azure