Introduzione all'archiviazione BLOB di Azure e a .NET

Questo articolo illustra come connettersi ad Archiviazione BLOB di Azure usando la libreria client di Archiviazione BLOB di Azure per .NET. Dopo la connessione, usare le guide per sviluppatori per informazioni sul funzionamento del codice su contenitori, BLOB e funzionalità del servizio di archiviazione BLOB.

Se vuoi iniziare con un esempio completo, vedi Guida introduttiva: libreria client di Archiviazione BLOB di Azure per .NET.

Riferimento API | Codice sorgente della libreria | Pacchetto (NuGet) | Esempi | Inviare feedback

Prerequisiti

Impostare il progetto

Questa sezione illustra come preparare un progetto da usare con la libreria client di Archiviazione BLOB di Azure per .NET.

Dalla directory del progetto, installa i pacchetti per le librerie client di Archiviazione BLOB di Azure e Azure Identity utilizzando il comando dotnet add package. Il pacchetto Azure.Identity è necessario per le connessioni senza password ai servizi di Azure.

dotnet add package Azure.Storage.Blobs
dotnet add package Azure.Identity

Aggiungere le direttive using all'inizio del file del codice:

using Azure.Identity;
using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;
using Azure.Storage.Blobs.Specialized;

Informazioni sulla libreria client di 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.

Autorizzare l'accesso e connettersi a Archiviazione Blob

Per connettere un'app all'archiviazione BLOB di Azure, creare un'istanza della classe BlobServiceClient. Questo oggetto è il punto di partenza per interagire con le risorse dati a livello di account di archiviazione. Usarlo per operare sull'account di archiviazione e sui relativi contenitori. È anche possibile usare il client del servizio per creare client contenitore o client BLOB, in base alla risorsa da usare.

Per altre informazioni sulla creazione e la gestione di oggetti client, vedere Creare e gestire oggetti client che interagiscono con le risorse dati.

Autorizzare un oggetto BlobServiceClient usando un token di autorizzazione Microsoft Entra, una chiave di accesso dell'account o una firma di accesso condiviso. Per una protezione ottimale, Microsoft consiglia di usare Microsoft Entra ID con identità gestite per autorizzare le richieste sui dati BLOB. Per ulteriori informazioni, vedere Autorizzare l'accesso ai BLOB usando Microsoft Entra ID.

Per autorizzare con Microsoft Entra ID, usare un'entità sicurezza. Il tipo di entità di protezione di cui hai bisogno dipende da dove viene eseguita l'app. Utilizzare la tabella seguente come riferimento.

Posizione in cui viene eseguita l'applicazione Entità di sicurezza Linee guida
Computer locale (sviluppo e test) Entità servizio Per informazioni su come registrare l'app, configurare un gruppo di Microsoft Entra, assegnare ruoli e configurare le variabili di ambiente, vedere Autorizzare l'accesso usando le entità servizio per sviluppatori
Computer locale (sviluppo e test) Identità utente Per informazioni su come configurare un gruppo di Microsoft Entra, assegnare ruoli e accedere ad Azure, vedere Autorizzare l'accesso usando le credenziali per sviluppatori
Ospitata in Azure Identità gestita Per informazioni su come abilitare un'identità gestita e assegnare ruoli, vedere le indicazioni per autorizzare l'accesso usando un'identità gestita assegnata dal sistema o un'identità gestita assegnata dall'utente
Ospitata all'esterno di Azure (ad esempio, app locali) Entità servizio Per informazioni su come registrare l'app, assegnare ruoli e configurare le variabili di ambiente, vedere Autorizzare l'accesso dalle app locali usando un'entità servizio dell'applicazione

Autorizzare l'accesso con DefaultAzureCredential

Un modo semplice e sicuro per autorizzare l'accesso e connettersi a gestione rete virtuale di Azure consiste nel ottenere un token OAuth creando un'istanza di DefaultAzureCredential. Usare tale credenziale per creare un oggetto BlobServiceClient .

Nell'esempio seguente viene creato un BlobServiceClient oggetto autorizzato usando DefaultAzureCredential:

public BlobServiceClient GetBlobServiceClient(string accountName)
{
    BlobServiceClient client = new(
        new Uri($"https://{accountName}.blob.core.windows.net"),
        new DefaultAzureCredential());

    return client;
}

Se si conosce esattamente quale tipo di credenziale si userà per autenticare gli utenti, è possibile ottenere un token OAuth usando altre classi nella libreria client Azure Identity per .NET. Queste classi derivano dalla classe TokenCredential.

Puoi anche registrare il client per la dependency injection nella tua app .NET. Per altre informazioni, vedere Inserimento di dipendenze con Azure SDK per .NET.

Per altre informazioni su ognuno di questi meccanismi di autorizzazione, vedere Autorizzare l'accesso ai dati in Archiviazione di Azure.

Compilare l'app

Quando si creano applicazioni per lavorare con le risorse dati in Archiviazione BLOB di Azure, il codice interagisce principalmente con tre tipi di risorse: account di archiviazione, contenitori e BLOB. Per altre informazioni su questi tipi di risorse, sul modo in cui sono correlate e sul modo in cui le app interagiscono con le risorse, vedere Informazioni sull'interazione delle app con le risorse dati di Archiviazione BLOB.

Le guide seguenti illustrano come accedere ai dati ed eseguire azioni specifiche usando la libreria client Archiviazione di Azure per .NET:

Guida Descrizione
Aggiungere dati ai blob Scopri come creare un blob di accodamento e quindi accodare dati a tale blob.
Configurare un criterio di ripetizione Implementare criteri di tentativo per le operazioni del client.
Copiare i BLOB Copiare un blob da una posizione a un'altra.
Creare un contenitore Creare contenitori.
Creare una firma di accesso condiviso (SAS) delegata dall'utente Creare una SAS delegata dall'utente per un contenitore o un blob.
Creare e gestire i contratti di lease del blob Creare e gestire un blocco su un blob.
Creare e gestire lease di contenitori Impostare e gestire un blocco su un contenitore.
Eliminazione e ripristino dei blob Eliminare i blob e, se l'eliminazione temporanea è abilitata, ripristinare i blob eliminati.
Eliminare e ripristinare contenitori Eliminare contenitori e, se l'eliminazione temporanea è abilitata, ripristinare i contenitori eliminati.
Scaricare i BLOB Scaricare i BLOB usando stringhe, flussi e percorsi di file.
Trovare BLOB usando tag Impostare e recuperare i tag e usare i tag per trovare i blob.
Elencare i Blob Elencare i Blob in modi diversi.
Elenco dei contenitori Elencare i contenitori in un account e le varie opzioni disponibili per personalizzare un elenco.
Gestire proprietà e metadati Ottenere e impostare le proprietà e i metadati per i BLOB.
Gestire proprietà e metadati Ottenere e impostare le proprietà e i metadati per i contenitori.
Ottimizzazione delle prestazioni per i trasferimenti di dati Ottimizzare le prestazioni per le operazioni di trasferimento dei dati.
Impostare o modificare il livello di accesso di un BLOB Impostare o modificare il livello di accesso di un blob a blocchi.
Aggiornare i Blob Informazioni su come caricare BLOB usando stringhe, flussi, percorsi di file e altri metodi.