Condividi tramite


Usare Azure SDK per Java

L'SDK open source di Azure per Java semplifica il provisioning, la gestione e l'uso delle risorse di Azure nel codice delle applicazioni Java.

Dettagli importanti

  • Le librerie di Azure consentono di comunicare con i servizi di Azure dal codice Java eseguito in locale o nel cloud.
  • Le librerie supportano Java 8 e versioni successive e vengono testate sia in base alla baseline Java 8 che alla versione più recente del supporto a lungo termine di Java.
  • Le librerie includono il supporto completo per i moduli Java, il che significa che sono completamente conformi ai requisiti di un modulo Java ed esportano tutti i pacchetti pertinenti per l'uso.
  • Azure SDK per Java è composto esclusivamente da molte singole librerie Java correlate a servizi di Azure specifici. Non esistono altri strumenti nell'SDK.
  • Esistono librerie distinte di "gestione" e "client" (talvolta denominate "piano di gestione" e "piano dati"). Ogni set svolge scopi diversi e viene usato da diversi tipi di codice. Per altre informazioni, vedere le sezioni seguenti più avanti in questo articolo:
  • È possibile trovare la documentazione per le librerie nel Azure per Java Reference organizzate per servizio di Azure oppure il browser API Java organizzato per nome del pacchetto.

Altri dettagli

  • Le librerie di Azure SDK per Java si basano sull'API REST di Azure sottostante, consentendo di usare tali API tramite paradigmi Java familiari. Tuttavia, è sempre possibile usare l'API REST direttamente dal codice Java, se si preferisce.
  • È possibile trovare il codice sorgente per le librerie di Azure nel repository GitHub . Come progetto open source, i contributi sono benvenuti!
  • Stiamo aggiornando attualmente le librerie Java dell'Azure SDK per condividere modelli cloud comuni, come protocolli di autenticazione, logging, tracciamento, protocolli di trasporto, risposte memorizzate nel buffer e tentativi di ripetizione.
    • Questa funzionalità condivisa è contenuta nella libreria di azure-core.
  • Per altre informazioni sulle linee guida applicate alle librerie, vedere le linee guida per la progettazione di Java Azure SDK.

Piattaforme supportate per Azure SDK in Java

Azure SDK per Java viene fornito con supporto per Java 8 e versioni successive, ma è consigliabile che gli sviluppatori usino sempre la versione LTS (Long-Term Support) più recente in fase di sviluppo e durante il rilascio nell'ambiente di produzione. L'uso della versione LTS più recente garantisce la disponibilità dei miglioramenti più recenti in Java, incluse correzioni di bug, miglioramenti delle prestazioni e correzioni di sicurezza. Azure SDK per Java include anche il supporto aggiuntivo per le versioni successive di Java. Questo supporto aggiuntivo migliora le prestazioni e include miglioramenti specifici di JDK oltre la baseline Java 8 supportata.

Azure SDK per Java è testato e supportato in Windows, Linux e macOS. Non viene testato su altre piattaforme supportate da JDK e non supporta le distribuzioni Android. Per gli sviluppatori che vogliono sviluppare software per la distribuzione in dispositivi Android e che usano i servizi di Azure, sono disponibili librerie specifiche di Android nel progetto Azure SDK per Android.

Connettersi e usare le risorse di Azure con le librerie client

Le librerie client (o "data plane") consentono di scrivere codice di applicazioni Java per interagire con i servizi di cui è già stato effettuato il provisioning. Le librerie client esistono solo per i servizi che supportano un'API client. È possibile identificarli perché il relativo ID gruppo Maven è com.azure.

Tutte le librerie client Java di Azure seguono lo stesso modello di progettazione api che offre una classe di generatore Java responsabile della creazione di un'istanza di un client. Questo modello separa la definizione e l'istanza del client dalla sua operazione, consentendo al client di essere immutabile e quindi più facile da usare. Inoltre, tutte le librerie client seguono alcuni modelli importanti:

  • Le librerie client che supportano le API sincrone e asincrone devono offrire queste API in classi separate. Ciò significa che in questi casi ci sarebbero, ad esempio, un KeyVaultClient per le API di sincronizzazione e un KeyVaultAsyncClient per le API asincrone.

  • Esiste una singola classe builder che si assume la responsabilità di creare sia le API sincrone che asincrone. Il generatore viene denominato in modo analogo alla classe client di sincronizzazione, con Builder incluso. Ad esempio, KeyVaultClientBuilder. Questo generatore include buildClient() e buildAsyncClient() metodi per creare istanze client, in base alle esigenze.

A causa di queste convenzioni, tutte le classi che terminano in Client non sono modificabili e forniscono operazioni per interagire con un servizio di Azure. Tutte le classi che terminano in ClientBuilder forniscono operazioni per configurare e creare un'istanza di un determinato tipo di client.

Esempio di librerie client

L'esempio di codice seguente illustra come creare un Key Vault sincrono KeyClient:

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

L'esempio di codice seguente illustra come creare un Key Vault asincrono KeyAsyncClient:

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

Per altre informazioni sull'uso di ogni libreria client, vedere il file README.md disponibile nella directory del progetto della libreria nel repository GitHub SDK. È anche possibile trovare altri frammenti di codice nella documentazione di riferimento e Esempi di Azure.

Effettuare il provisioning e gestire le risorse di Azure con le librerie di gestione

Le librerie di gestione (o "piano di gestione") consentono di creare, effettuare il provisioning e gestire in altro modo le risorse di Azure dal codice dell'applicazione Java. È possibile trovare queste librerie nell'ID gruppo com.azure.resourcemanager Maven. Tutti i servizi di Azure hanno librerie di gestione corrispondenti.

Con le librerie di gestione è possibile scrivere script di configurazione e distribuzione per eseguire le stesse attività che è possibile eseguire tramite il portale di Azure o l'interfaccia della riga di comando di Azure .

Tutte le librerie di gestione Java di Azure forniscono una classe *Manager come API del servizio, ad esempio ComputeManager per il servizio di calcolo di Azure o AzureResourceManager per l'aggregazione dei servizi più diffusi.

Esempio di librerie di gestione

Nell'esempio di codice seguente viene illustrato come creare un ComputeManager:

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

L'esempio di codice seguente illustra come effettuare il provisioning di una nuova macchina virtuale:

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'esempio di codice seguente illustra come ottenere una macchina virtuale esistente:

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

L'esempio di codice seguente illustra come aggiornare la macchina virtuale e aggiungere un nuovo disco dati:

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

Per altre informazioni sull'uso di ogni libreria di gestione, vedere il file README.md disponibile nella directory del progetto della libreria nel repository GitHub SDK. È anche possibile trovare altri frammenti di codice nella documentazione di riferimento e Esempi di Azure.

Ottenere assistenza e connettersi al team SDK

Passaggi successivi

Ora che si capisce qual è l'SDK di Azure per Java, è possibile approfondire molti dei concetti trasversali esistenti per aumentare la produttività quando si usano le librerie. Gli articoli seguenti forniscono buoni punti di partenza: