Condividi tramite


Put Blob

L'operazione Put Blob crea un nuovo BLOB di blocchi, pagina o accodamento o aggiorna il contenuto di un BLOB di blocchi esistente. L'operazione Put Blob sovrascriverà tutti i contenuti di un BLOB esistente con lo stesso nome.

Quando si aggiorna un BLOB di blocchi esistente, si sovrascrive tutti i metadati esistenti nel BLOB. Il contenuto del BLOB esistente viene sovrascritto con il contenuto del nuovo BLOB. Gli aggiornamenti parziali non sono supportati con Put Blob. Per eseguire un aggiornamento parziale del contenuto di un BLOB a blocchi, usare l'operazione Put Block List .

È possibile creare un BLOB di accodamento nelle versioni 2015-02-21 e versioni successive.

Una chiamata a un Put Blob oggetto per creare un BLOB di pagine o un BLOB di accodamento inizializza solo il BLOB. Se il BLOB esiste già, il contenuto verrà cancellato. Per aggiungere contenuto a un BLOB di pagine, chiamare l'operazione Put Page . Per aggiungere contenuto a un BLOB di accodamento , chiamare l'operazione Append Block.

Richiesta

È possibile costruire la Put Blob richiesta come indicato di seguito. È consigliabile usare HTTPS. Sostituire myaccount con il nome dell'account di archiviazione:

URI della richiesta del metodo PUT Versione HTTP
https://myaccount.blob.core.windows.net/mycontainer/myblob HTTP/1.1

Richiesta del servizio di archiviazione emulata

Quando si effettua una richiesta nel servizio di archiviazione emulato, specificare il nome host dell'emulatore e la porta del servizio BLOB come 127.0.0.1:10000, seguita dal nome dell'account di archiviazione emulato:

URI della richiesta del metodo PUT Versione HTTP
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob HTTP/1.1

L'emulatore di archiviazione supporta solo dimensioni BLOB di fino a 2 gibibyte (GiB).

Per altre informazioni, vedere Usare l'emulatore Azurite per lo sviluppo locale di Archiviazione di Azure.

Parametri URI

I parametri aggiuntivi seguenti possono essere specificati nell'URI della richiesta:

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

Intestazioni di richiesta (tutti i tipi di BLOB)

Le intestazioni di richiesta necessarie e facoltative per tutti i tipi di BLOB 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.
Content-Length Obbligatorio. Lunghezza della richiesta.

Per un BLOB di pagine o un BLOB di accodamento, il valore di questa intestazione deve essere impostato su zero, perché Put BLOB viene usato solo per inizializzare il BLOB. Per scrivere contenuto in un BLOB di pagine esistente, chiamare Put Page. Per scrivere contenuto in un BLOB di accodamento, chiamare Append Block.
Content-Type facoltativo. Tipo di contenuto MIME del Blob. Il tipo predefinito è application/octet-stream.
Content-Encoding facoltativo. Specifica le codifiche di contenuto applicate al Blob. Questo valore viene restituito al client quando viene eseguita l'operazione Get BLOB nella risorsa BLOB. Quando viene restituito questo valore, il client può usarlo per decodificare il contenuto del BLOB.
Content-Language facoltativo. Specifica i linguaggi naturali usati da questa risorsa.
Content-MD5 facoltativo. Hash MD5 del contenuto del Blob. Questo hash viene utilizzato per verificare l'integrità del Blob durante il trasporto. Quando si specifica questa intestazione, il servizio di archiviazione controlla l'hash che è arrivato rispetto a quello inviato. Se i due hash non corrispondono, l'operazione non riesce con il codice di errore 400 (richiesta non valida).

Quando l'intestazione viene omessa nella versione 2012-02-12 o successiva, l'archiviazione BLOB genera un hash MD5.

I risultati di Get BLOB, Get BLOB Properties e List BLOB includono l'hash MD5.
x-ms-content-crc64 facoltativo. Hash CRC64 del contenuto DEL BLOB. Questo hash viene utilizzato per verificare l'integrità del Blob durante il trasporto. Quando si specifica questa intestazione, il servizio di archiviazione controlla l'hash che è arrivato rispetto a quello inviato. Se i due hash non corrispondono, l'operazione non riesce con il codice di errore 400 (richiesta non valida). Questa intestazione è supportata nelle versioni 02-02-2019 e successive.

Se sono presenti intestazioni Content-MD5 e x-ms-content-crc64, la richiesta ha esito negativo con una richiesta di 400 (richiesta non valida).
Cache-Control facoltativo. Archiviazione BLOB archivia questo valore ma non lo usa o lo modifica.
x-ms-blob-content-type facoltativo. Imposta il tipo di contenuto del Blob.
x-ms-blob-content-encoding facoltativo. Imposta la codifica del contenuto del Blob.
x-ms-blob-content-language facoltativo. Imposta il linguaggio del contenuto del Blob.
x-ms-blob-content-md5 facoltativo. Imposta l'hash MD5 del Blob. Per BlockBlob, questa intestazione ha la precedenza Content-MD5 su quando si verifica l'integrità del BLOB durante il trasporto. Per PageBlob e AppendBlob, questa intestazione imposta direttamente l'hash MD5 del BLOB.
x-ms-blob-cache-control facoltativo. Imposta il controllo della cache del Blob.
x-ms-blob-type: <BlockBlob ¦ PageBlob ¦ AppendBlob> Obbligatorio. Specifica il tipo di BLOB da creare: BLOB in blocchi, BLOB di pagine o BLOB di accodamento. Il supporto per la creazione di un BLOB di accodamento è disponibile solo nella versione 2015-02-21 e versioni successive.
x-ms-meta-name:value facoltativo. Coppie nome-valore associate al Blob come metadati.

Nota: a partire dalla versione 2009-09-19, i nomi dei metadati devono rispettare le regole di denominazione per gli identificatori C#.
x-ms-encryption-scope facoltativo. Indica l'ambito di crittografia da usare per crittografare il contenuto della richiesta. Questa intestazione è supportata nelle versioni 2019-02-02 e successive.
x-ms-encryption-context facoltativo. Il valore predefinito è "Empty". Se il valore è impostato, verranno impostati i metadati del sistema BLOB. Lunghezza massima 1024. Valido solo quando lo spazio dei nomi gerarchico è abilitato per l'account. Questa intestazione è supportata nelle versioni 2021-08-06 e successive.
x-ms-tags facoltativo. Imposta i tag codificati della stringa di query specificati nel BLOB. Per altre informazioni, vedere la sezione Note. Supportato nella versione 2019-12-12 e successive.
x-ms-lease-id:<ID> Obbligatoria se il Blob presenta un lease attivo. Per eseguire questa operazione su un Blob con un lease attivo, specificare l'ID lease valido per questa intestazione.
x-ms-blob-content-disposition facoltativo. Imposta l'intestazione Content-Disposition del BLOB. Disponibile con la versione 2013-08-15 e successive.

Il Content-Disposition campo dell'intestazione della risposta fornisce informazioni aggiuntive su come elaborare il payload della risposta ed è possibile usarlo per allegare metadati aggiuntivi. Ad esempio, se l'intestazione è impostata su attachment, indica che l'agente utente non deve visualizzare la risposta. Verrà invece visualizzata una finestra di dialogo Salva con nome diverso dal nome del BLOB specificato.

La risposta dalle operazioni Get BLOB e Get BLOB Properties include l'intestazione content-disposition .
Origin facoltativo. Specifica l'origine da cui proviene la richiesta. La presenza di questa intestazione determina la presenza di intestazioni di condivisione delle risorse multiorigine (CORS) nella risposta. Per altre informazioni, vedere Supporto di CORS per i servizi di archiviazione di Azure.
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 durante la configurazione della registrazione. È consigliabile usare questa intestazione per correlare le attività lato client alle richieste ricevute dal server. Per altre informazioni, vedere Informazioni sulla registrazione di Analisi archiviazione.
x-ms-access-tier facoltativo. Livello da impostare nel BLOB. Per i BLOB di pagine in un account Archiviazione Premium solo con la versione 2017-04-17 e successive. Per un elenco completo dei livelli supportati dai BLOB di pagine, vedere Archiviazione Premium ad alte prestazioni e dischi gestiti per le macchine virtuali.For a full list of page blob-supported tiers, see High-Performance Premium storage and Managed Disks for virtual machines (VM). Per i BLOB in blocchi, supportati nell'archiviazione BLOB o in account per utilizzo generico v2 solo con la versione 2018-11-09 e successive. I valori validi per i livelli BLOB in blocchi sono Hot, Cool, Colde Archive. Nota: Cold il livello è supportato per la versione 2021-12-02 e successive. Per informazioni dettagliate sulla suddivisione in livelli BLOB in blocchi, vedere Livelli di archiviazione ad accesso frequente, sporadico e archivio.
x-ms-immutability-policy-until-date Versione 2020-06-12 e successive. Specifica la data di conservazione da impostare nel BLOB. Si tratta della data fino alla quale il BLOB può essere protetto dalla modifica o dall'eliminazione. Segue RFC1123 formato.
x-ms-immutability-policy-mode Versione 2020-06-12 e successive. Specifica la modalità dei criteri di immutabilità da impostare nel BLOB. I valori validi sono unlocked e locked. Con unlocked, gli utenti possono modificare i criteri aumentando o riducendo la data di conservazione. Con locked, queste azioni non sono consentite.
x-ms-legal-hold Versione 2020-06-12 e successive. Specifica il blocco a fini giudiziari da impostare nel BLOB. I valori validi sono true e false.
x-ms-expiry-option facoltativo. Versione 2023-08-03 e successive. Specifica l'opzione data di scadenza per la richiesta. Per altre informazioni, vedere ExpiryOption. Questa intestazione è valida per gli account con spazio dei nomi gerarchico abilitato.
x-ms-expiry-time facoltativo. Versione 2023-08-03 e successive. Specifica l'ora in cui il BLOB è impostato per la scadenza. Il formato per la data di scadenza varia in base a x-ms-expiry-option. Per altre informazioni, vedere ExpiryOption. Questa intestazione è valida per gli account con spazio dei nomi gerarchico abilitato.

Questa operazione supporta anche l'utilizzo delle intestazioni condizionali per scrivere il Blob solo se viene soddisfatta una determinata condizione. Per altre informazioni, vedere Specificare intestazioni condizionali per le operazioni di archiviazione BLOB.

Intestazioni di richiesta (solo BLOB di pagine)

Le intestazioni di richiesta applicabili solo per le operazioni sui BLOB di pagine sono descritte nella tabella seguente:

Intestazione della richiesta Descrizione
x-ms-blob-content-length: bytes Obbligatoria per i Blob di pagine. Questa intestazione specifica le dimensioni massime per il BLOB di pagine, fino a 8 tebibyte (TiB). Le dimensioni del Blob di pagine devono essere allineate a un limite di 512 byte.

Se questa intestazione viene specificata per un BLOB in blocchi o un BLOB di accodamento, Archiviazione BLOB restituisce il codice di stato 400 (richiesta non valida).
x-ms-blob-sequence-number: <num> facoltativo. Impostare solo per i Blob di pagine. Il numero di sequenza è un valore controllato dall'utente che è possibile utilizzare per tenere traccia delle richieste. Il valore del numero di sequenza deve essere compreso tra 0 e 2^63 - 1. Il valore predefinito è 0.
x-ms-access-tier Versione 2017-04-17 e successive. Solo per i BLOB di pagine in un account di archiviazione Premium. Specifica il livello da impostare nel BLOB. Per un elenco completo dei livelli supportati, vedere Archiviazione Premium ad alte prestazioni e dischi gestiti per le macchine virtuali.
x-ms-client-request-id Questa intestazione può essere usata 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.

Intestazioni di richiesta (chiavi di crittografia fornite dal cliente)

A partire dalla versione 2019-02-02, è possibile specificare le intestazioni seguenti nella richiesta di crittografare un BLOB con una chiave fornita dal cliente. La crittografia con una chiave fornita dal cliente (e il set corrispondente di intestazioni) è facoltativa.

Intestazione della richiesta Descrizione
x-ms-encryption-key Obbligatorio. Chiave di crittografia AES-256 con codifica Base64.
x-ms-encryption-key-sha256 Obbligatorio. Hash SHA256 con codifica Base64 della chiave di crittografia.
x-ms-encryption-algorithm: AES256 Obbligatorio. Specifica l'algoritmo da utilizzare per la crittografia. Il valore di questa intestazione deve essere AES256.

Testo della richiesta

Per un Blob in blocchi, il corpo della richiesta include il contenuto del Blob.

Per un BLOB di pagine o un BLOB di accodamento, il corpo della richiesta è vuoto.

Richiesta di esempio

Nell'esempio seguente viene illustrata una richiesta per creare un Blob in blocchi:

Request Syntax:  
PUT https://myaccount.blob.core.windows.net/mycontainer/myblockblob HTTP/1.1  
  
Request Headers:  
x-ms-version: 2015-02-21  
x-ms-date: <date>  
Content-Type: text/plain; charset=UTF-8  
x-ms-blob-content-disposition: attachment; filename="fname.ext"  
x-ms-blob-type: BlockBlob  
x-ms-meta-m1: v1  
x-ms-meta-m2: v2  
x-ms-expiry-option: RelativeToNow
x-ms-expiry-time: 30000
Authorization: SharedKey myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g=  
Content-Length: 11  
  
Request Body:  
hello world

Questa richiesta di esempio crea un BLOB di pagine e ne specifica la dimensione massima come 1.024 byte. Per aggiungere contenuto a un BLOB di pagine, è necessario chiamare Put Page:

Request Syntax:  
PUT https://myaccount.blob.core.windows.net/mycontainer/mypageblob HTTP/1.1  
  
Request Headers:  
x-ms-version: 2015-02-21  
x-ms-date: <date>  
Content-Type: text/plain; charset=UTF-8  
x-ms-blob-type: PageBlob  
x-ms-blob-content-length: 1024  
x-ms-blob-sequence-number: 0  
Authorization: SharedKey   
Origin: http://contoso.com  
Vary: Origin  
myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g=  
Content-Length: 0  

Questa richiesta di esempio crea un BLOB di accodamento. Per aggiungere contenuto al BLOB di accodamento, è necessario chiamare Append Block:

Request Syntax:  
PUT https://myaccount.blob.core.windows.net/mycontainer/myappendblob HTTP/1.1  
  
Request Headers:  
x-ms-version: 2015-02-21  
x-ms-date: <date>  
Content-Type: text/plain; charset=UTF-8  
x-ms-blob-type: AppendBlob  
Authorization: SharedKey myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g=  
Origin: http://contoso.com  
Vary: Origin  
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; 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 Contiene un valore che il client può usare per eseguire operazioni condizionali PUT usando l'intestazione della If-Match richiesta. Se la versione della richiesta è 2011-08-18 o successiva, il valore ETag è racchiuso tra virgolette.
Last-Modified Data/ora dell'ultima modifica del BLOB. Il formato data è conforme a RFC 1123. Per altre informazioni, vedere Rappresentare valori di data/ora nelle intestazioni.

Qualsiasi operazione di scrittura sul Blob, inclusi aggiornamenti dei metadati o delle proprietà del Blob, comporta la modifica dell'ora dell'ultima modifica del Blob.
Content-MD5 Restituito per un BLOB a blocchi in modo che il client possa controllare l'integrità del contenuto del messaggio. Il valore restituito viene calcolato dall'archiviazione Content-MD5 BLOB. Nella versione 2012-02-12 e successiva, questa intestazione viene restituita anche quando la richiesta non include Content-MD5 o x-ms-blob-content-md5 intestazioni.
x-ms-content-crc64 Restituito per un BLOB a blocchi in modo che il client possa controllare l'integrità del contenuto del messaggio. Il valore restituito viene calcolato dall'archiviazione x-ms-content-crc64 BLOB. Questa intestazione viene sempre restituita a partire dalla versione 2019-02-02.
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 di archiviazione BLOB usata per eseguire la richiesta. Restituito per le richieste effettuate rispetto alla versione 2009-09-19 e successiva.
Date Valore di data/ora UTC generato dal servizio, che indica l'ora in cui è stata avviata la risposta.
Access-Control-Allow-Origin Restituito se la richiesta include un'intestazione Origin e la condivisione CORS è abilitata con una regola di corrispondenza. Questa intestazione restituisce il valore dell'intestazione della richiesta di origine se è presente una corrispondenza.
Access-Control-Expose-Headers Restituito se la richiesta include un'intestazione Origin e la condivisione CORS è abilitata con una regola di corrispondenza. Restituisce l'elenco delle intestazioni di risposta che devono essere esposte al client o all'emittente della richiesta.
Access-Control-Allow-Credentials Restituito se la richiesta include un'intestazione e CORS è abilitata con una Origin regola corrispondente che non consente tutte le origini. Questa intestazione è impostata su true.
x-ms-request-server-encrypted: true/false Versione 2015-12-11 e versioni successive. Il valore di questa intestazione è impostato su true se il contenuto della richiesta viene crittografato correttamente usando l'algoritmo specificato. In caso contrario, il valore è false.
x-ms-encryption-key-sha256 Versione 2019-02-02 e successiva. Restituito se la richiesta ha usato una chiave fornita dal cliente per la crittografia, in modo che il client possa assicurarsi che il contenuto della richiesta venga crittografato correttamente usando la chiave specificata.
x-ms-encryption-scope Versione 2019-02-02 e successiva. Restituito se la richiesta ha usato un ambito di crittografia, in modo che il client possa assicurarsi che il contenuto della richiesta venga crittografato correttamente usando l'ambito di crittografia.
x-ms-version-id: <DateTime> Versione 2019-12-12 e successiva. Questa intestazione restituisce un valore opaco che identifica in modo univoco DateTime il BLOB. Il valore di questa intestazione indica la versione del BLOB e può essere usata nelle richieste successive per accedere al BLOB.

Corpo della risposta

Nessuno.

Risposta di esempio

Response Status:  
HTTP/1.1 201 Created  
  
Response Headers:  
Transfer-Encoding: chunked  
Content-MD5: sQqNsWTgdUEFt6mb5y4/5Q==  
x-ms-content-crc64: 77uWZTolTHU
Date: <date>  
ETag: "0x8CB171BA9E94B0B"  
Last-Modified: <date>  
Access-Control-Allow-Origin: http://contoso.com  
Access-Control-Expose-Headers: Content-MD5  
Access-Control-Allow-Credentials: True  
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0  
x-ms-version-id: <DateTime>  

Autorizzazione

L'autorizzazione è necessaria quando si chiama qualsiasi operazione di accesso ai dati in Archiviazione di Azure. È possibile autorizzare l'operazione Put Blob come descritto di seguito.

Se una richiesta specifica i tag con l'intestazione della richiesta, il chiamante deve soddisfare i requisiti di autorizzazione dell'operazione x-ms-tagsImposta tag BLOB .

Importante

Microsoft consiglia di usare Microsoft Entra ID con identità gestite per autorizzare le richieste ad Archiviazione di Azure. Microsoft Entra ID offre una maggiore sicurezza e facilità d'uso rispetto all'autorizzazione di chiave condivisa.

Archiviazione di Azure supporta l'uso di Microsoft Entra ID per autorizzare le richieste ai dati BLOB. Con Microsoft Entra ID è possibile usare il controllo degli accessi in base al ruolo di Azure per concedere le autorizzazioni a un'entità di sicurezza. L'entità di sicurezza può essere un utente, un gruppo, un'entità servizio applicazione o un'identità gestita di Azure. L'entità di sicurezza viene autenticata da Microsoft Entra ID per restituire un token OAuth 2.0. Il token può quindi essere usato per autorizzare una richiesta relativa al servizio BLOB.

Per altre informazioni sull'autorizzazione usando Microsoft Entra ID, vedere Autorizzare l'accesso ai BLOB usando Microsoft Entra ID.

Autorizzazioni

Di seguito è riportata l'azione RBAC necessaria per un utente Microsoft Entra, un gruppo, un gruppo, un'identità gestita o un'entità servizio per chiamare l'operazione Put Blob e il ruolo di controllo degli accessi in base al ruolo predefinito di Azure con privilegi minimi che include questa azione:

Per altre informazioni sull'assegnazione dei ruoli tramite controllo degli accessi in base al ruolo di Azure, vedere Assegnare un ruolo di Azure per l'accesso ai dati BLOB.

Commenti

Quando si crea un BLOB, è necessario specificare se è un BLOB a blocchi, un BLOB di accodamento o un BLOB di pagine specificando il valore dell'intestazione x-ms-blob-type . Dopo aver creato un BLOB, il tipo del BLOB non può essere modificato a meno che non venga eliminato e ricreato.

Nella tabella seguente vengono descritte le dimensioni massime consentite per blocchi e BLOB, in base alla versione del servizio:

Versione del servizio Dimensioni massime del blocco (tramite Put Block) Dimensioni massime del BLOB (tramite Put Block List) Dimensioni massime del BLOB tramite un'operazione di scrittura singola (tramite Put Blob)
Versione 2019-12-12 e successive 4.000 mebibyte (MiB) Circa 190,7 TiB (4.000 miB × 50.000 blocchi) 5.000 MiB
Versioni 2016-05-31 fino al 2019-07-07 100 MiB Circa 4,75 TiB (100 MiB × 50.000 blocchi) 256 MiB
Versioni precedenti al 2016-05-31 4 MiB Circa 195 GiB (4 MiB × 50.000 blocchi) 64 MiB

Se si tenta di caricare un BLOB a blocchi maggiore delle dimensioni massime consentite per tale versione del servizio o un BLOB di pagine maggiore di 8 TiB, il servizio restituisce il codice di stato 413 (Entità richiesta troppo grande). L'archiviazione BLOB restituisce anche informazioni aggiuntive sull'errore nella risposta, incluse le dimensioni massime consentite del BLOB, in byte.

Per creare un nuovo BLOB di pagine, inizializzare prima il BLOB chiamando Put Blobe quindi specificarne la dimensione massima, fino a 8 TiB. Quando si crea un BLOB di pagine, non includere il contenuto nel corpo della richiesta. Dopo aver creato il BLOB, chiamare Put Page per aggiungere contenuto al BLOB o modificarlo.

Per creare un nuovo BLOB di accodamento, chiamare Put Blob per crearlo con una lunghezza di contenuto di 0 byte. Dopo aver creato il BLOB di accodamento, chiamare Append Block per aggiungere contenuto alla fine di esso.

Se si chiama Put Blob per sovrascrivere un BLOB esistente con lo stesso nome, vengono mantenuti gli snapshot associati al BLOB originale. Per rimuovere gli snapshot associati, chiamare prima Elimina BLOB e quindi chiamare Put Blob per ricreare il BLOB.

Proprietà personalizzate BLOB

Un BLOB include proprietà personalizzate (impostate tramite intestazioni) che è possibile usare per archiviare i valori associati alle intestazioni HTTP standard. È successivamente possibile leggere questi valori chiamando Recupera proprietà BLOB o modificarle chiamando Imposta proprietà BLOB. Le intestazioni delle proprietà personalizzate e l'intestazione HTTP standard corrispondente sono elencate nella tabella seguente:

Intestazione HTTP Intestazione della proprietà del Blob personalizzata
Content-Type x-ms-blob-content-type
Content-Encoding x-ms-blob-content-encoding
Content-Language x-ms-blob-content-language
Content-MD5 x-ms-blob-content-md5
Cache-Control x-ms-blob-cache-control

La semantica per l'impostazione o la persistentità di questi valori di proprietà con il BLOB sono le seguenti:

  • Se il client specifica l'intestazione di una proprietà personalizzata, come indicato dal prefisso x-ms-blob, questo valore viene archiviato con il Blob.

  • Se il client specifica un'intestazione HTTP standard, ma non l'intestazione della proprietà personalizzata, il valore viene archiviato nella proprietà personalizzata corrispondente associata al BLOB e viene restituito da una chiamata a Get Blob Properties. Ad esempio, se il client imposta l'intestazione Content-Type sulla richiesta, questo valore viene archiviato nella proprietà x-ms-blob-content-type del Blob.

  • Se il client imposta sia l'intestazione HTTP standard che l'intestazione della proprietà corrispondente nella stessa richiesta, la richiesta PUT usa il valore specificato per l'intestazione HTTP standard, ma il valore specificato per l'intestazione della proprietà personalizzata viene mantenuto in modo permanente con il BLOB e restituito dalle richieste GET successive.

Se i tag vengono forniti nell'intestazione x-ms-tags , devono essere codificati con stringa di query. I valori e le chiavi tag devono essere conformi ai requisiti di denominazione e lunghezza, come specificato in Set Blob Tags. Inoltre, l'intestazione x-ms-tags può contenere fino a 2 kb di tag. Se sono necessari altri tag, usare l'operazione Imposta tag BLOB .

Se il BLOB ha un lease attivo, il client deve specificare un ID lease valido nella richiesta per sovrascrivere il BLOB. Se il client non specifica un ID lease o specifica un ID lease non valido, l'archiviazione BLOB restituisce il codice di stato 412 (Precondizione non riuscita). Se il client specifica un ID lease, ma il BLOB non dispone di un lease attivo, l'archiviazione BLOB restituisce anche il codice di stato 412 (Precondizione non riuscita). Se il client specifica un ID lease in un BLOB che non esiste ancora, l'archiviazione BLOB restituisce il codice di stato 412 (Precondizione non riuscita) per le richieste effettuate rispetto alla versione 2013-08-15 e versioni successive. Per le versioni precedenti al 2013-08-15, l'archiviazione BLOB restituisce il codice di stato 201 (creato).

Se un BLOB esistente con un lease attivo viene sovrascritto da un'operazione Put Blob , il lease persiste nel BLOB aggiornato fino alla scadenza o al rilascio.

Un'operazione Put Blob è consentita per il completamento di 10 minuti per miB. Se l'operazione richiede più di 10 minuti per miB in media, il timeout dell'operazione.

Sovrascrivere un BLOB ha esito negativo e sovrascrive coolhot un archive BLOB o eredita il livello dal BLOB precedente se non viene fornita un'intestazionex-ms-access-tier.

ExpiryOption

È possibile inviare i valori seguenti come x-ms-expiry-option intestazione. Questa intestazione non è distinzione tra maiuscole e minuscole.

Opzione Di scadenza Descrizione
RelativeToNow Imposta la data di scadenza rispetto all'ora corrente. x-ms-expiry-time deve essere specificato come numero di millisecondi da passare dall'ora corrente.
Absolute x-ms-expiry-time deve essere specificato come tempo assoluto, in formato RFC 1123.
NeverExpire Imposta il BLOB per non scadere mai o rimuove la data di scadenza corrente. x-ms-expiry-time non deve essere specificato.

La semantica per impostare una data di scadenza in un BLOB è la seguente:

  • Set Expiry può essere impostato solo in un BLOB e non in una directory.
  • Set Expiry con un expiryTime in passato non è consentito.
  • ExpiryTime non è possibile specificare con un expiryOption valore di Never.

Fatturazione

Le richieste di prezzi possono derivare dai client che usano le API di archiviazione BLOB, direttamente tramite l'API REST dell'archiviazione BLOB o da una libreria client di Archiviazione di Azure. Queste richieste accumulano addebiti per transazione. Il tipo di transazione influisce sul modo in cui viene addebitato l'account. Ad esempio, le transazioni di lettura si accumulano in una categoria di fatturazione diversa rispetto alle transazioni di scrittura. Nella tabella seguente viene illustrata la categoria di fatturazione per Put Blob le richieste in base al tipo di account di archiviazione:

Operazione Tipo di account di archiviazione Categoria di fatturazione
Put Blob BLOB di blocchi Premium
Utilizzo generico v2 Standard
Utilizzo generico standard v1
Operazioni di scrittura

Per informazioni sui prezzi per la categoria di fatturazione specificata, vedere prezzi Archiviazione BLOB di Azure.

Vedi anche

Autorizzare le richieste ad Archiviazione di Azure
Stato e codici errore
Codici di errore del servizio BLOB
Impostare timeout per le operazioni del servizio BLOB