Bien démarrer avec le Stockage Blob Azure et Java

Cet article montre comment se connecter au Stockage Blob Azure avec la bibliothèque de client du Stockage Blob Azure pour Java. Une fois la connexion établie, votre code peut opérer sur les conteneurs, les blobs et les fonctionnalités du service Stockage Blob Azure.

Référence API | Package (Maven) | Code source de la bibliothèque | Échantillons | Envoyer des commentaires

Prérequis

Configuration de votre projet

Notes

Cet article utilise l’outil de génération Maven pour générer et exécuter l’exemple de code. D’autres outils de génération, comme Gradle, fonctionnent également avec le Kit de développement logiciel (SDK) Azure pour Java.

Utilisez Maven pour créer une application console ou ouvrir un projet existant. Suivez ces étapes pour installer des packages et ajouter les directives import nécessaires.

Installer des packages

Ouvrez le fichier pom.xml dans votre éditeur de texte. Installez les packages en incluant le fichier de marque d’ordre d’octet ou en incluant une dépendance directe.

Inclure le fichier de nomenclature

Ajoutez azure-sdk-bom pour établir une dépendance sur la dernière version de la bibliothèque. Dans l’extrait de code suivant, remplacez l’espace réservé {bom_version_to_target} par le numéro de version. L’utilisation d’azure-sdk-bom vous empêche de devoir spécifier la version de chaque dépendance individuelle. Pour en savoir plus sur la nomenclature, consultez le fichier Lisez-moi de la nomenclature du SDK Azure.

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.azure</groupId>
            <artifactId>azure-sdk-bom</artifactId>
            <version>{bom_version_to_target}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

Ajoutez les éléments de dépendance suivants au groupe de dépendances. La dépendance azure-identity est nécessaire pour les connexions sans mot de passe aux services Azure.

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-storage-blob</artifactId>
</dependency>
<dependency>
      <groupId>com.azure</groupId>
      <artifactId>azure-storage-common</artifactId>
</dependency>
<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-identity</artifactId>
</dependency>

Inclure une dépendance directe

Pour établir une dépendance vis-à-vis d’une version particulière de la bibliothèque, ajoutez la dépendance directe à votre projet :

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-storage-blob</artifactId>
    <version>{package_version_to_target}</version>
</dependency>
<dependency>
      <groupId>com.azure</groupId>
      <artifactId>azure-storage-common</artifactId>
      <version>{package_version_to_target}</version>
</dependency>
<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-identity</artifactId>
    <version>{package_version_to_target}</version>
</dependency>

Inclure des directives d’importation

Ouvrez ensuite votre fichier de code et ajoutez les directives import nécessaires. Dans cet exemple, nous ajoutons les directives suivantes dans le fichier App.java :

import com.azure.core.credential.*;
import com.azure.identity.*;
import com.azure.storage.blob.*;
import com.azure.storage.blob.models.*;
import com.azure.storage.blob.specialized.*;
import com.azure.storage.common.*;

Informations sur la bibliothèque de client de blob :

  • com.azure.storage.blob : contient les classes primaires (objets clients) que vous pouvez utiliser pour agir sur le service, les conteneurs et les blobs.
  • com.azure.storage.blob.models : contient les classes utilitaires, structures et types d’énumération.
  • com.azure.storage.blob.specialized : contient des classes que vous pouvez utiliser pour effectuer des opérations spécifiques sur un type de blob (par exemple, blobs d’ajout).

Autoriser l’accès et la connexion au Stockage Blob

Pour connecter une application à Stockage Blob, créez une instance de la classe BlobServiceClient. Vous pouvez également utiliser la classe BlobServiceAsyncClient pour la programmation asynchrone. Cet objet est votre point de départ pour interagir avec les ressources de données au niveau du compte de stockage. Vous pouvez l’utiliser pour opérer sur le compte de stockage et ses conteneurs. Vous pouvez également utiliser le client de service pour créer des clients de conteneurs ou des clients d’objets blob, en fonction de la ressource que vous devez utiliser.

Pour en savoir plus sur la création et la gestion d’objets clients, consultez Créer et gérer des objets clients qui interagissent avec des ressources de données.

Vous pouvez autoriser un objet BlobServiceClient en utilisant un jeton d’autorisation Microsoft Entra, une clé d’accès au compte ou une signature d’accès partagé (SAS).

Pour autoriser avec Microsoft Entra ID, vous devez utiliser un principal de sécurité. Le type de principal de sécurité dont vous avez besoin dépend de l’emplacement d’exécution de votre application. Utilisez le tableau suivant comme guide :

Emplacement d’exécution de l’application Principal de sécurité Assistance
Ordinateur local (développement et test) Principal du service Pour savoir comment inscrire l’application, configurer un groupe Microsoft Entra, attribuer des rôles et configurer des variables d’environnement, consultez Autoriser l’accès en utilisant des principaux de service de développement.
Ordinateur local (développement et test) Identité de l’utilisateur Pour savoir comment configurer un groupe Microsoft Entra, attribuer des rôles et se connecter à Azure, consultez Autoriser l’accès en utilisant des informations d’identification de développement.
Hébergé dans Azure Identité managée Pour savoir comment activer une identité managée et attribuer des rôles, consultez Autoriser l’accès à partir d’applications hébergées sur Azure en utilisant une identité managée.
Hébergé en dehors d’Azure (par exemple, des applications locales) Principal du service Pour savoir comment inscrire l’application, attribuer des rôles et configurer des variables d’environnement, consultez Autoriser l’accès à partir d’applications locales en utilisant un principal de service d’application.

Autoriser l’accès en utilisant DefaultAzureCredential

Un moyen simple et facile d’autoriser l’accès et de se connecter au Stockage Blob consiste à obtenir un jeton OAuth en créant une instance DefaultAzureCredential. Vous pouvez ensuite utiliser ces informations d’identification pour créer un objet BlobServiceClient.

Vérifiez que vous avez les dépendances appropriées dans pom.xml et les directives import nécessaires, comme décrit dans Configurer votre projet.

L’exemple suivant utilise BlobServiceClientBuilder pour générer un objet BlobServiceClient avec DefaultAzureCredential :

public static BlobServiceClient GetBlobServiceClientTokenCredential() {
    TokenCredential credential = new DefaultAzureCredentialBuilder().build();

    // Azure SDK client builders accept the credential as a parameter
    // TODO: Replace <storage-account-name> with your actual storage account name
    BlobServiceClient blobServiceClient = new BlobServiceClientBuilder()
            .endpoint("https://<storage-account-name>.blob.core.windows.net/")
            .credential(credential)
            .buildClient();

    return blobServiceClient;
}

Générer votre application

Quand vous créez des applications pour utiliser des ressources de données dans Stockage Blob Azure, votre code interagit principalement avec trois types de ressources : comptes de stockage, conteneurs et objets blob. Pour en savoir plus sur ces types de ressources et comprendre comment ils sont liés les uns aux autres et comment les applications interagissent avec les ressources, consultez Comprendre comment les applications interagissent avec les ressources de données du Stockage Blob.

Les guides suivants vous montrent comment utiliser des ressources de données et effectuer des actions spécifiques à l’aide de la bibliothèque de client Stockage Azure pour Java :

Guide Description
Créer un conteneur Créez des conteneurs.
Supprimer et restaurer des conteneurs Supprimez des conteneurs et, si la suppression réversible est activée, restaurez des conteneurs supprimés.
Lister des conteneurs Répertoriez les conteneurs dans un compte et les différentes options disponibles pour personnaliser une liste.
Gérer les propriétés et les métadonnées (conteneurs) Obtenez et définissez les propriétés et les métadonnées pour des conteneurs.
Créer et gérer des baux de conteneur Établissez et gérez un verrou sur un conteneur.
Créer et gérer des baux de blob Établissez et gérez un verrou sur un blob.
Charger des objets blob Découvrez comment charger des blobs à l’aide de chaînes, de flux, de chemins d’accès de fichiers et d’autres méthodes.
Télécharger des objets blob Téléchargez des blobs à l’aide de chaînes, de flux et de chemins d’accès de fichiers.
Copier des objets blob Copiez un blob d’un emplacement à un autre.
Lister des objets blob Répertoriez les blobs de différentes façons.
Supprimer et restaurer Supprimez des blobs et, si la suppression réversible est activée, restaurez des blobs supprimés.
Rechercher des blobs à l’aide d’étiquettes Définissez et récupérez des étiquettes, et utilisez des étiquettes pour rechercher des blobs.
Gérer les propriétés et les métadonnées (blobs) Obtenez et définissez des propriétés et des métadonnées pour des blobs.
Définissez le niveau d’accès d’un blob Définissez ou modifiez le niveau d’accès d’un objet blob de blocs.