Utiliser le Kit de développement logiciel (SDK) Azure pour Java

Le Kit de développement logiciel (SDK) Azure open source pour Java simplifie l’approvisionnement, la gestion et l’utilisation de ressources Azure à partir du code d’application Java.

Détails importants

  • Utilisez les bibliothèques Azure pour communiquer avec les services Azure à partir de Java code que vous exécutez localement ou dans le cloud.
  • Les bibliothèques prennent en charge Java 8 et versions ultérieures, et elles sont testées par rapport à la base de référence Java 8 et à la dernière version de support Java à long terme.
  • Les bibliothèques incluent la prise en charge complète du module Java, ce qui signifie qu’elles sont entièrement conformes aux exigences d’un module Java et exportent tous les packages pertinents à utiliser.
  • Le Kit de développement logiciel (SDK) Azure pour Java est composé uniquement de nombreuses bibliothèques Java individuelles qui concernent des services Azure spécifiques. Le Kit de développement logiciel (SDK) n’inclut pas d’autres outils.
  • Le Kit de développement logiciel (SDK) possède des bibliothèques « gestion » et « client » distinctes (parfois appelées bibliothèques « plan de gestion » et « plan de données »). Chaque ensemble a des objectifs différents et est utilisé par différents types de code. Pour plus d’informations, consultez les sections suivantes plus loin dans cet article :
  • Vous trouverez de la documentation pour les bibliothèques de la Azure pour Java Référence organisée par Azure service, ou le navigateur d’API Java organisé par nom de package.

Autres détails

  • Les Kit de développement logiciel (SDK) Azure pour les bibliothèques Java s’appuient sur l’API REST Azure sous-jacente. Vous pouvez donc utiliser ces API par le biais de paradigmes familiers Java. Toutefois, vous pouvez toujours utiliser l’API REST directement à partir du code Java, si vous préférez.
  • Vous trouverez le code source des bibliothèques Azure dans le référentiel GitHub . En tant que projet open source, les contributions sont bienvenues !
  • Le Kit de développement logiciel (SDK) Azure pour Java est mis à jour pour partager des modèles cloud courants tels que les protocoles d’authentification, la journalisation, le suivi, les protocoles de transport, les réponses mises en mémoire tampon et les nouvelles tentatives.
    • Cette fonctionnalité partagée est contenue dans la bibliothèque azure-core.
  • Pour plus d’informations sur les instructions appliquées aux bibliothèques, consultez les instructions de conception Java Kit de développement logiciel (SDK) Azure.

Plateformes prises en charge pour le Kit de développement logiciel (SDK) Azure pour Java

Le Kit de développement logiciel (SDK) Azure pour Java est fourni avec prise en charge de Java 8 et versions ultérieures, mais utilisez toujours la dernière version de support Java à long terme (LTS) dans le développement et lors de la publication en production. L’utilisation de la dernière version LTS garantit la disponibilité des dernières améliorations dans Java, notamment les correctifs de bogues, les améliorations des performances et les correctifs de sécurité. En outre, le Kit de développement logiciel (SDK) Azure pour Java inclut une prise en charge supplémentaire des versions ultérieures de Java. Cette prise en charge supplémentaire améliore les performances et inclut des améliorations spécifiques à JDK au-delà de la base de référence Java 8 prise en charge.

Le Kit de développement logiciel (SDK) Azure pour Java est testé et pris en charge sur Windows, Linux et macOS. Il n’est pas testé sur d’autres plateformes prises en charge par le JDK et ne prend pas en charge les déploiements Android. Pour les développeurs souhaitant développer des logiciels pour le déploiement sur des appareils Android et qui utilisent des services Azure, il existe des bibliothèques spécifiques à Android disponibles dans le kit de développement logiciel (SDK) Azure pour Android projet.

Se connecter aux ressources Azure et les utiliser avec des bibliothèques clientes

Les bibliothèques clientes (ou « plan de données ») vous aident à écrire du code d’application Java pour interagir avec les services déjà approvisionnés. Les bibliothèques clientes existent uniquement pour ces services qui prennent en charge une API cliente. Vous pouvez les identifier, car leur ID de groupe Maven est com.azure.

Toutes les bibliothèques clientes Azure Java suivent le même modèle de conception d’API pour offrir une classe de générateur Java responsable de la création d’une instance d’un client. Ce modèle sépare la définition et l’instanciation du client de son opération, de sorte que le client est immuable et plus facile à utiliser. En outre, toutes les bibliothèques clientes suivent quelques modèles importants :

  • Les bibliothèques clientes qui prennent en charge les API synchrones et asynchrones doivent offrir ces API dans des classes distinctes. Ce que signifie cette exigence est que dans ces cas, par exemple, il existe une KeyVaultClient API de synchronisation et une KeyVaultAsyncClient API asynchrones.

  • Il existe une classe de générateur unique qui prend en charge la création des API de synchronisation et asynchrones. Le générateur est nommé de la même façon que la classe cliente de synchronisation, avec Builder inclus. Par exemple, KeyVaultClientBuilder. Ce générateur a des méthodes buildClient() et buildAsyncClient() pour créer des instances clientes, le cas échéant.

En raison de ces conventions, toutes les classes se terminant par Client sont immuables et fournissent des opérations pour interagir avec un service Azure. Toutes les classes qui se terminent par ClientBuilder fournissent des opérations pour configurer et créer une instance d’un type client particulier.

Exemple de bibliothèques clientes

L’exemple de code suivant montre comment créer un coffre de clés synchrone KeyClient:

KeyClient client = new KeyClientBuilder()
        .endpoint(<your Key Vault URL>)
        .credential(new DefaultAzureCredentialBuilder().build())
        .buildClient();

L’exemple de code suivant montre comment créer un coffre de clés asynchrone KeyAsyncClient:

KeyAsyncClient client = new KeyClientBuilder()
        .endpoint(<your Key Vault URL>)
        .credential(new DefaultAzureCredentialBuilder().build())
        .buildAsyncClient();

Pour plus d’informations sur l’utilisation de chaque bibliothèque cliente, consultez le fichier README.md situé dans le répertoire du projet de la bibliothèque dans le dépôt GitHub du kit de développement logiciel (SDK) . Vous trouverez également d’autres extraits de code dans la documentation de référence et les exemples Azure .

Approvisionner et gérer des ressources Azure avec des bibliothèques de gestion

Les bibliothèques de gestion (ou « plan de gestion ») vous permettent de créer, de provisionner et de gérer les ressources Azure à partir de Java code d’application. Vous trouverez ces bibliothèques dans l’ID de groupe Maven com.azure.resourcemanager. Tous les services Azure ont des bibliothèques de gestion correspondantes.

En utilisant les bibliothèques de gestion, vous pouvez écrire des scripts de configuration et de déploiement pour effectuer les mêmes tâches que celles que vous pouvez via le portail Azure ou le Azure CLI.

Toutes les bibliothèques de gestion Java Azure fournissent une *Manager classe en tant qu’API de service, par exemple, ComputeManager pour le service de calcul Azure, ou AzureResourceManager pour l’agrégation des services populaires.

Exemple de bibliothèques de gestion

L’exemple de code suivant montre comment créer un ComputeManager:

ComputeManager computeManager = ComputeManager
    .authenticate(
        new DefaultAzureCredentialBuilder().build(),
        new AzureProfile(AzureEnvironment.AZURE));

L’exemple de code suivant montre comment provisionner une nouvelle machine virtuelle :

VirtualMachine virtualMachine = computeManager.virtualMachines()
    .define(<your virtual machine>)
    .withRegion(Region.US_WEST)
    .withExistingResourceGroup(<your resource group>)
    .withNewPrimaryNetwork("10.0.0.0/28")
    .withPrimaryPrivateIPAddressDynamic()
    .withoutPrimaryPublicIPAddress()
    .withPopularLinuxImage(KnownLinuxVirtualMachineImage.UBUNTU_SERVER_18_04_LTS)
    .withRootUsername(<virtual-machine username>)
    .withSsh(<virtual-machine SSH key>)
    .create();

L’exemple de code suivant montre comment obtenir une machine virtuelle existante :

VirtualMachine virtualMachine = computeManager.virtualMachines()
    .getByResourceGroup(<your resource group>, <your virtual machine>);

L’exemple de code suivant montre comment mettre à jour la machine virtuelle et ajouter un nouveau disque de données :

virtualMachine.update()
    .withNewDataDisk(10)
    .apply();

Pour plus d’informations sur l’utilisation de chaque bibliothèque de gestion, consultez le fichier README.md situé dans le répertoire du projet de la bibliothèque dans le dépôt GitHub du kit de développement logiciel (SDK) . Vous trouverez également d’autres extraits de code dans la documentation de référence et les exemples Azure .

Obtenir de l’aide et se connecter à l’équipe du Kit de développement logiciel (SDK)

Étapes suivantes

Maintenant que vous comprenez ce que l’Kit de développement logiciel (SDK) Azure pour Java est, explorez la plupart des concepts croisés qui vous aident à être productif lors de l’utilisation des bibliothèques. Les articles suivants fournissent de bons points de départ :