Inserire l'intervallo da URL

L'operazione Put Range From URL crea un nuovo intervallo da eseguire come parte di un file in cui il contenuto viene letto da un URL. Questa API è disponibile a partire dalla versione 2019-02-02.

Disponibilità del protocollo

Protocollo di condivisione file abilitato Disponibile
SMB Sì
NFS No

Richiesta

La richiesta Put Range From URL può essere costruita come segue. È consigliabile usare HTTPS. Sostituire myaccount con il nome dell'account di archiviazione:

Metodo URI richiesta Versione HTTP
PUT https://myaccount.file.core.windows.net/myshare/myfile?comp=range HTTP/1.1

Parametri URI

Parametro Descrizione
timeout Facoltativa. Il parametro timeout viene espresso in secondi. Per altre informazioni, vedere Impostare timeout per le operazioni di File di Azure.

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 la data per la richiesta nel fuso orario UTC (Coordinated Universal Time). 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. Per Put Range From URL, la versione deve essere 2019-02-02 o successiva.
x-ms-copy-source:name Obbligatorio. Specifica l'URL del file di origine. Il valore può essere un URL di fino a 2 KiB in lunghezza che specifica un file. La codifica del valore deve essere di tipo URL in quanto viene visualizzato in un URI di richiesta. Il file di origine deve essere pubblico o deve essere autorizzato tramite una firma di accesso condiviso. Se il file di origine è pubblico, non è necessaria alcuna autorizzazione per eseguire l'operazione. Ecco alcuni esempi di URL dell'oggetto di origine:
  • https://myaccount.file.core.windows.net/myshare/mydir/myfile
  • https://myaccount.file.core.windows.net/myshare/mydir/myfile?<sastoken>
x-ms-copy-source-authorization: <scheme> <signature> Facoltativa. Specifica lo schema di autorizzazione e la firma per l'origine di copia. Per altre informazioni, vedere Autorizzare le richieste ad Archiviazione di Azure.
Solo l'utente di schema è supportato per Azure Active Directory.
Questa intestazione è supportata nella versione 2020-10-02 e versioni successive.
x-ms-write: { update } Obbligatorio. È necessario specificare solo update. La richiesta ha esito negativo se viene chiamata con clear. Il update valore scrive i byte specificati dal corpo della richiesta negli intervalli specificati.
Range o x-ms-range Obbligatorio. Range o x-ms-range è obbligatorio.

Specifica l'intervallo di byte da scrivere. È necessario specificare l'inizio e la fine dell'intervallo. Questa intestazione è definita dalla specifica del protocollo HTTP/1.1.

Per un'operazione di aggiornamento, l'intervallo può essere fino a 4 MiB di dimensioni.

File di Azure accetta solo un singolo intervallo di byte per le Range intestazioni e x-ms-range e l'intervallo di byte deve essere specificato nel formato seguente: bytes=startByte-endByte.

Se Range e x-ms-range sono entrambi specificati, il servizio usa il valore di x-ms-range. Per altre informazioni, vedere Specificare l'intestazione dell'intervallo per le operazioni di File di Azure.
x-ms-source-range Obbligatorio. Specifica l'intervallo di byte da leggere dall'origine. È necessario specificare l'inizio e la fine dell'intervallo.

File di Azure accetta solo un singolo intervallo di byte per le Range intestazioni e x-ms-range e l'intervallo di byte deve essere specificato nel formato seguente: bytes=startByte-endByte.

L'intervallo di origine può essere fino a 4 MiB di dimensioni. Se la dimensione dell'intervallo di origine supera 4 MiB, File di Azure restituisce il codice di stato 413 (Entità richiesta troppo grande). Se le dimensioni dell'intervallo di origine non corrispondono all'intervallo (intervallo di destinazione), il servizio restituisce il codice di stato 400 (richiesta non valida).
Content-Length Obbligatorio. Specifica il numero di byte trasmessi nel corpo della richiesta. Il valore di questa intestazione deve essere impostato su 0. Quando la lunghezza non 0è , l'operazione ha esito negativo con il codice di stato 400 (Richiesta non valida).
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 quando la registrazione è configurata. È consigliabile usare questa intestazione per correlare le attività lato client con le richieste ricevute dal server. Per altre informazioni, vedere Monitorare File di Azure.
x-ms-source-content-crc64 Facoltativa. Hash CRC64 dell'intervallo specificato dall'URI. Questo hash viene usato per verificare l'integrità dell'intervallo durante il trasporto dei dati dall'URI. Quando viene specificata questa intestazione, File di Azure confronta l'hash del contenuto che è arrivato dall'origine copia con questo valore di intestazione.

Nota: questo hash CRC64 non viene archiviato con il file.

Se i due hash non corrispondono, l'operazione non riesce con il codice di errore 400 (richiesta non valida).
x-ms-source-if-match-crc64 Facoltativa. Valore checksum CRC64. Specificare questa intestazione per eseguire l'operazione solo se il checksum dell'intervallo specificato viene letto dalle corrispondenze di origine dal checksum specificato.

Se la condizione specificata non viene soddisfatta, File di Azure restituisce il codice di stato 412 (Precondizione non riuscita).
x-ms-source-if-none-match-crc64 Facoltativa. Valore checksum CRC64. Specificare questa intestazione per eseguire l'operazione solo se il checksum dell'intervallo specificato letto dall'origine è diverso dal checksum specificato.

Se la condizione specificata non viene soddisfatta, File di Azure restituisce il codice di stato 412 (Precondizione non riuscita).
x-ms-lease-id:<ID> Obbligatorio se il file ha un lease attivo. Per eseguire questa operazione in un file con un lease attivo, specificare l'ID lease valido per questa intestazione.
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 di analisi quando è abilitata la registrazione di Azure Analisi archiviazione. È consigliabile usare questa intestazione quando si correlano le attività lato client con le richieste ricevute dal server. Per altre informazioni, vedere Monitorare l'archiviazione BLOB.
x-ms-file-last-write-time: { now ¦ preserve } Facoltativa. Versione 2021-06-08 e successive. È possibile specificare una delle opzioni seguenti:
  • now: valore predefinito. Aggiornamenti il timestamp dell'ora dell'ultima scrittura all'ora della richiesta.
  • preserve: mantiene invariato il timestamp dell'ultima scrittura esistente.
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.
x-ms-source-allow-trailing-dot: { <Boolean> } Facoltativa. Versione 2022-11-02 e successive. Il valore booleano specifica se un punto finale presente nell'URL di origine deve essere tagliato o meno. Questa intestazione deve essere specificata solo se l'origine della copia è un file di Azure. Questa intestazione non è supportata per qualsiasi altro tipo di origine di copia. Per altre informazioni, vedere Denominazione e riferimento a condivisioni, directory, file e metadati.

Testo della richiesta

Nessun corpo della richiesta.

Richiesta di esempio

Request Syntax:  
PUT https://myaccount.file.core.windows.net/myshare/mydir/myfile?comp=range HTTP/1.1  
  
Request Headers:  
x-ms-page-write: update  
x-ms-copy-source: http://myaccount2.file.core.windows.net/myshare2/mydirectory2/myfile2?sv=2018-11-09&sp=r&sr=s&se=2018-08-22T09%3A59%3A28.2185790Z&sig=Qn6QEET3Gn%2FhCEVcXuwG7ssatIYiYRM5pNIy4Q3N0cQ%3D 
x-ms-date: Fri, 22 Aug 2018 01:15:50 GMT  
x-ms-version: 2019-02-02 
x-ms-range: bytes=100-1023  
x-ms-source-range: bytes=200-1123  
x-ms-source-content-crc64: 3bedb8b3730fc205 
Authorization: SharedKey myaccount:4KdWDiTdA9HmIF9+WF/8WfYOpUrFhieGIT7f0av+GEI=  
Content-Length: 0 

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 altre informazioni sui codici di stato, vedere Codici di stato e di errore.

Intestazioni di risposta

Nella risposta per questa operazione sono incluse le intestazioni riportate di seguito; inoltre, possono essere incluse intestazioni HTTP standard aggiuntive. Tutte le intestazioni standard sono conformi alla specifica del protocollo HTTP/1.1.

Intestazione risposta Descrizione
ETag Contiene un valore che è possibile usare per eseguire operazioni in modo condizionale. Il valore è racchiuso tra virgolette.
Last-Modified Data e ora dell'ultima modifica del file. Il formato data è conforme a RFC 1123. Per altre informazioni, vedere Rappresentazione dei valori di data/ora nelle intestazioni.

Qualsiasi operazione di scrittura sul file, inclusi gli aggiornamenti ai metadati o alle proprietà del file, modifica l'ora dell'ultima modifica del file. 
x-ms-request-id Identifica in modo univoco la richiesta effettuata ed è possibile usarla per risolvere i problemi della richiesta. Per altre informazioni, vedere Risolvere i problemi relativi alle operazioni api.
x-ms-version Indica la versione dell'API FileREST usata per eseguire la richiesta.
Date Valore di data/ora UTC generato dal servizio, che indica l'ora di avvio della risposta.
x-ms-content-crc64 Restituito in modo che il client possa verificare l'integrità del contenuto del messaggio. Il valore di questa intestazione viene calcolato da File di Azure. Non è necessariamente uguale al valore specificato nelle intestazioni della richiesta.
x-ms-client-request-id Può essere 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 sarà presente nella risposta.
x-ms-file-last-write-time Versione 2021-06-08 e successive. Ora dell'ultima scrittura per il file, in formato ISO 8601 (ad esempio, 2017-05-10T17:52:33.9551861Z).

Risposta di esempio

Response Status:  
HTTP/1.1 201 Created  

Response Headers:
Date: Sun, 22 Aug 2020 01:33:35 GMT  
ETag: "0x8CB171BA9E94B0B"  
Last-Modified: Wed, 22 Aug 2020 01:13:31 GMT  
x-ms-version: 2019-02-02
x-ms-content-crc64: 3bedb8b3730fc205 
Content-Length: 0  
Server: Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0  

Autorizzazione

Questa operazione può essere chiamata dal proprietario dell'account e da chiunque disponga di una firma di accesso condiviso con autorizzazioni per scrivere in questo file o nella condivisione file di Azure.

Commenti

L'operazione Put Range From URL scrive un intervallo di dati in un file. Se l'API viene chiamata in un file inesistente nella destinazione, l'API restituisce il codice di stato HTTP 404 (Non trovato).

Nella versione 2020-10-02 e successive, l'autorizzazione di Azure Active Directory è supportata per l'origine dell'operazione di copia.

Per creare un nuovo file, chiamare Create File.

Put Range From URL l'operazione restituisce l'esito positivo 201 (creato) solo se l'intervallo specificato viene scritto nel file.

Operazione di lettura file
Put Range From URL usa Get File per leggere dati e metadati, attributi e ACL dall'origine.

Operazione di aggiornamento file
La chiamata Put Range From URL con l'opzione "update" esegue una scrittura sul posto nel file specificato. Qualsiasi contenuto nel file specificato viene sovrascritto con l'aggiornamento.  

Le dimensioni dell'intervallo nell'operazione Put Range From URL per un'operazione di aggiornamento possono essere fino a 4 MiB. Se si tenta di caricare un intervallo maggiore di 4 MiB, File di Azure restituisce il codice di stato 413 (RequestEntityTooLarge).