Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Quando si creano applicazioni per lavorare con le risorse di dati in Archiviazione BLOB di Azure, il codice interagisce principalmente con tre tipi di risorse: account di archiviazione, contenitori e BLOB. In questo articolo vengono illustrati questi tipi di risorse e viene illustrato il modo in cui sono correlati tra loro. Illustra anche come il codice dell'applicazione usa le librerie client di Archiviazione BLOB di Azure per interagire con queste varie risorse.
Tipi di risorse di archiviazione BLOB
Le librerie client di Archiviazione BLOB di Azure consentono di interagire con tre tipi di risorse nel servizio di archiviazione:
Il diagramma seguente mostra la relazione tra queste risorse:

Account di archiviazione
Un account di archiviazione fornisce uno spazio dei nomi univoco in Azure per i dati. Ogni oggetto archiviato in Archiviazione di Azure ha un indirizzo che include il nome univoco dell'account. La combinazione del nome dell'account e dell'endpoint di archiviazione BLOB costituisce l'indirizzo di base per gli oggetti nell'account di archiviazione.
Ad esempio, se l'account di archiviazione è denominato sampleaccount, l'endpoint predefinito per l'archiviazione BLOB è:
https://sampleaccount.blob.core.windows.net
Per altre informazioni sui tipi di account di archiviazione, vedere Panoramica dell'account di archiviazione di Azure.
Contenitori
Un contenitore organizza un set di BLOB, simile a una directory in un file system. Un account di archiviazione può includere un numero illimitato di contenitori e un contenitore può archiviare un numero illimitato di BLOB.
L'URI per un contenitore è simile al seguente:
https://sampleaccount.blob.core.windows.net/sample-container
Per altre informazioni sulla denominazione dei contenitori, vedere Denominazione e riferimento a contenitori, BLOB e metadati.
BLOB
Archiviazione di Azure supporta tre tipi di BLOB:
- Block blobs archiviano dati di testo e binari. I BLOB in blocchi sono costituiti da blocchi di dati che possono essere gestiti singolarmente. I BLOB in blocchi possono archiviare fino a circa 190,7 TiB.
- I BLOB di accodamento sono costituiti da blocchi, analogamente ai BLOB in blocchi, ma sono ottimizzati per le operazioni di accodamento. I BLOB di accodamento sono ideali per scenari come la registrazione di dati da macchine virtuali.
- I BLOB di pagine archiviano file ad accesso casuale con dimensioni fino a 8 TiB. Per altre informazioni sui BLOB di pagine, vedere Panoramica dei BLOB di pagine di Azure
Per altre informazioni sui diversi tipi di BLOB, vedere Informazioni sui BLOB in blocchi, sui BLOB di aggiunta e sui BLOB di pagine.
L'URI per un BLOB è simile al seguente:
https://sampleaccount.blob.core.windows.net/sample-container/sample-blob
Per altre informazioni sulla denominazione dei BLOB, vedere Denominazione e riferimento a contenitori, BLOB e metadati.
Usare le risorse dati con Azure SDK
Gli SDK di Azure contengono librerie basate sull'API REST di Azure, che consentono di interagire con le operazioni dell'API REST tramite paradigmi del linguaggio di programmazione familiari. Gli SDK sono progettati per semplificare le interazioni tra l'applicazione e le risorse di Azure.
In scenari rari, le applicazioni che hanno effettuato l'aggiornamento all'ultima versione beta o alla versione generalmente disponibile dell'SDK possono ricevere un messaggio di errore InvalidHeaderValue. Questo problema può verificarsi quando si utilizzano una delle librerie di archiviazione. Il messaggio di errore è simile al seguente esempio:
HTTP/1.1 400 The value for one of the HTTP headers is not in the correct format.
Content-Length: 328
Content-Type: application/xml
Server: Microsoft-HTTPAPI/2.0
x-ms-request-id: <REMOVED>
Date: Fri, 19 May 2023 17:10:33 GMT
<?xml version="1.0" encoding="utf-8"?>
<Error>
<Code>InvalidHeaderValue</Code>
<Message>
The value for one of the HTTP headers is not in the correct format.
RequestId:<REMOVED>
Time:2023-05-19T17:10:34.2972651Z
</Message>
<HeaderName>x-ms-version</HeaderName><HeaderValue>yyyy-mm-dd</HeaderValue>
</Error>
Se hai eseguito l'aggiornamento alla versione beta più recente o alla versione generalmente disponibile dell'SDK e si verifica questo errore, si consiglia di effettuare il downgrade alla versione generalmente disponibile precedente dell'SDK per vedere se il problema si risolve.
È possibile visualizzare i dettagli specifici dell'SDK nelle posizioni seguenti:
Se il problema persiste o se la raccomandazione non è fattibile, aprire un ticket di supporto per esplorare altre opzioni.
Nelle librerie client di Archiviazione BLOB di Azure ogni tipo di risorsa è rappresentato da una o più classi associate. Queste classi forniscono operazioni per lavorare con una risorsa di Archiviazione di Azure.
La tabella seguente elenca le classi di base, con una breve descrizione:
| Classe | Descrizione |
|---|---|
| BlobServiceClient | Rappresenta l'account di archiviazione e fornisce operazioni per recuperare e configurare le proprietà dell'account e per usare i contenitori BLOB nell'account di archiviazione. |
| BlobContainerClient | Rappresenta un contenitore di BLOB specifico e fornisce operazioni per lavorare sia con il contenitore che con i BLOB interni. |
| BlobClient | Rappresenta un BLOB specifico e fornisce operazioni generali da usare con il BLOB, incluse le operazioni per caricare, scaricare, eliminare e creare snapshot. |
| AppendBlobClient | Rappresenta un BLOB di accodamento e fornisce operazioni specifiche per i BLOB di accodamento, come l'accodamento dei dati di log. |
| BlockBlobClient | Rappresenta un BLOB a blocchi e fornisce operazioni specifiche per BLOB a blocchi, ad esempio la gestione temporanea e il commit di blocchi di dati. |
I pacchetti seguenti contengono le classi usate per lavorare con le risorse di dati di archiviazione BLOB:
- Azure.Storage.Blobs: contiene le classi primarie (oggetti client) che è possibile usare per operare sul servizio, sui contenitori e sui BLOB.
- Azure.Storage.Blobs.Specialized: contiene classi che è possibile usare per eseguire operazioni specifiche per un tipo di BLOB, ad esempio BLOB in blocchi.
- Azure.Storage.Blobs.Models: tutte le altre classi di utilità, strutture e tipi di enumerazione.
Passaggi successivi
L'uso delle risorse di Azure con l'SDK inizia con la creazione di un'istanza del client. Per altre informazioni sulla creazione e la gestione degli oggetti client, vedere Creare e gestire oggetti client che interagiscono con le risorse dati.