Condividi tramite


Inserisci intervallo da URL

L'operazione Put Range From URL crea un nuovo intervallo di cui eseguire il commit 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 i 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 lunghezza massima di 2 KiB 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 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> facoltativo. 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 il bearer dello schema è supportato per Microsoft Entra.
Questa intestazione è supportata nella versione 2020-10-02 e 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ò avere dimensioni fino a 4 MiB.

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ò avere dimensioni fino a 4 MiB. 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 alle dimensioni dell'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 facoltativo. 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-source-content-crc64 facoltativo. 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 questa intestazione viene specificata, File di Azure confronta l'hash del contenuto che è arrivato dall'origine di 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 codice di errore 400 (richiesta non valida).
x-ms-source-if-match-crc64 facoltativo. Valore di 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 facoltativo. Valore di 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 facoltativo. 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 } facoltativo. Versione 2021-06-08 e versioni successive. È possibile specificare una delle opzioni seguenti:
  • now: valore predefinito. Aggiornamenti l'ultimo timestamp di scrittura all'ora della richiesta.
  • preserve: mantiene invariato l'ultimo timestamp di 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 usando l'intestazione Authorization . Disponibile per la versione 2022-11-02 e versioni successive.
x-ms-allow-trailing-dot: { <Boolean> } facoltativo. Versione 2022-11-02 e versioni 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 riferimenti a condivisioni, directory, file e metadati.
x-ms-source-allow-trailing-dot: { <Boolean> } facoltativo. Versione 2022-11-02 e versioni 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 di copia è un file di Azure. Questa intestazione non è supportata per qualsiasi altro tipo di origine di copia. Per altre informazioni, vedere Denominazione e riferimenti 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 nel file, inclusi gli aggiornamenti ai metadati o alle proprietà del file, modifica l'ultima volta modificata del file. 
x-ms-request-id Identifica in modo univoco la richiesta effettuata e puoi usarla per risolvere la risoluzione dei 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 in cui è stata avviata la 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 le richieste e le 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 versioni successive. Ultima ora di 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 abbia 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 non esistente nella destinazione, l'API restituisce il codice di stato HTTP 404 (Non trovato).

Nella versione 2020-10-02 e successiva è supportata Microsoft Entra autorizzazione 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 elenchi di controllo di accesso 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 di dimensioni. Se si tenta di caricare un intervallo maggiore di 4 MiB, File di Azure restituisce il codice di stato 413 (RequestEntityTooLarge).