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 , Cold e 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-tags
Imposta 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:
-
Azione controllo degli accessi in base al ruolo di Azure:
- Create nuovo BLOB a blocchi: Microsoft.Storage/storageAccounts/BLOBServices/containers/BLOBs/add/action
- Create BLOB a blocchi esistenti nuovi o sovrascritti: Microsoft.Storage/storageAccounts/BLOBServices/containers/BLOBs/write
- Ruolo predefinito con privilegi minimi:Collaboratore ai dati BLOB di archiviazione
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 Blob
e 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'intestazioneContent-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 cool
hot
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 unexpiryTime
in passato non è consentito. -
ExpiryTime
non è possibile specificare con unexpiryOption
valore diNever
.
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