Använda Azure SDK för Java

Azure SDK med öppen källkod för Java förenklar etablering, hantering och användning av Azure-resurser från Java-programkod.

Viktig information

  • Azure-biblioteken är hur du kommunicerar med Azure-tjänster från Java-kod som du kör antingen lokalt eller i molnet.
  • Biblioteken stöder Java 8 och senare och testas mot både Java 8-baslinjen och den senaste versionen av Java "långsiktigt stöd".
  • Biblioteken innehåller fullständigt Stöd för Java-moduler, vilket innebär att de är helt kompatibla med kraven i en Java-modul och exporterar alla relevanta paket för användning.
  • Azure SDK för Java består enbart av många enskilda Java-bibliotek som relaterar till specifika Azure-tjänster. Det finns inga andra verktyg i "SDK".
  • Det finns distinkta bibliotek för "hantering" och "klient" (kallas ibland för "hanteringsplan" och "dataplan"-bibliotek). Varje uppsättning har olika syften och används av olika typer av kod. Mer information finns i följande avsnitt senare i den här artikeln:
  • Du hittar dokumentationen för biblioteken i Azure for Java-referensensom organiseras av Azure Service eller Java API-webbläsaren som ordnas efter paketnamn.

Annan information

  • Azure SDK för Java-bibliotek bygger på det underliggande Azure REST API:et, så att du kan använda dessa API:er via välbekanta Java-paradigm. Du kan dock alltid använda REST-API:et direkt från Java-koden, om du vill.
  • Du hittar källkoden för Azure-biblioteken på GitHub-lagringsplatsen. Som ett projekt med öppen källkod är bidrag välkomna!
  • Vi uppdaterar för närvarande Azure SDK för Java-bibliotek för att dela vanliga molnmönster som autentiseringsprotokoll, loggning, spårning, transportprotokoll, buffrade svar och återförsök.
  • Mer information om de riktlinjer som vi tillämpar på biblioteken finns i Designriktlinjer för Java Azure SDK.

Plattformar som stöds för Azure SDK för Java

Azure SDK för Java levereras med stöd för Java 8 och senare, men vi rekommenderar att utvecklare alltid använder den senaste versionen av Java-långsiktig support (LTS) under utveckling och när de släpps till produktion. Med den senaste LTS-versionen säkerställer du tillgängligheten för de senaste förbättringarna i Java, inklusive felkorrigeringar, prestandaförbättringar och säkerhetskorrigeringar. Dessutom innehåller Azure SDK för Java ytterligare stöd för senare versioner av Java. Det här ytterligare stödet förbättrar prestandan och inkluderar JDK-specifika förbättringar utöver den Java 8-baslinje som stöds.

Azure SDK för Java testas och stöds i Windows, Linux och macOS. Det testas inte på andra plattformar som JDK stöder och stöder inte Android-distributioner. För utvecklare som vill utveckla programvara för distribution på Android-enheter och som använder Azure-tjänster finns det Android-specifika bibliotek i Azure SDK för Android-projektet .

Anslut till och använda Azure-resurser med klientbibliotek

Klientbiblioteken (eller "dataplanet") hjälper dig att skriva Java-programkod för att interagera med redan etablerade tjänster. Klientbibliotek finns bara för de tjänster som stöder ett klient-API. Du kan identifiera dem eftersom deras Maven-grupp-ID är com.azure.

Alla Azure Java-klientbibliotek följer samma API-designmönster för att erbjuda en Java Builder-klass som ansvarar för att skapa en instans av en klient. Det här mönstret separerar definitionen och instansieringen av klienten från dess åtgärd, vilket gör att klienten kan vara oföränderlig och därför enklare att använda. Dessutom följer alla klientbibliotek några viktiga mönster:

  • Klientbibliotek som stöder både synkrona och asynkrona API:er måste erbjuda dessa API:er i separata klasser. Vad detta innebär är att det i dessa fall till exempel skulle finnas en KeyVaultClient för synkroniserings-API:er och en KeyVaultAsyncClient för asynkrona API:er.

  • Det finns en enskild builder-klass som tar ansvar för att skapa både synkroniserings- och asynkrona API:er. Byggaren namnges på samma sätt som synkroniseringsklientklassen, med Builder inkluderad. Exempel: KeyVaultClientBuilder Den här byggaren har buildClient() och buildAsyncClient() metoder för att skapa klientinstanser efter behov.

På grund av dessa konventioner är alla klasser som slutar i Client oföränderliga och tillhandahåller åtgärder för att interagera med en Azure-tjänst. Alla klasser som slutar med ClientBuilder tillhandahåller åtgärder för att konfigurera och skapa en instans av en viss klienttyp.

Exempel på klientbibliotek

I följande kodexempel visas hur du skapar ett synkront Nyckelvalv KeyClient:

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

I följande kodexempel visas hur du skapar ett asynkront Nyckelvalv KeyAsyncClient:

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

Mer information om hur du arbetar med varje klientbibliotek finns i README.md filen som finns i bibliotekets projektkatalog på SDK GitHub-lagringsplatsen. Du kan också hitta fler kodfragment i referensdokumentationenoch Azure-exempel.

Etablera och hantera Azure-resurser med hanteringsbibliotek

Hanteringsbiblioteken (eller "hanteringsplanet") hjälper dig att skapa, etablera och på annat sätt hantera Azure-resurser från Java-programkod. Du hittar de här biblioteken com.azure.resourcemanager i Maven-grupp-ID:t. Alla Azure-tjänster har motsvarande hanteringsbibliotek.

Med hanteringsbiblioteken kan du skriva konfigurations- och distributionsskript för att utföra samma uppgifter som du kan via Azure-portalen eller Azure CLI.

Alla Azure Java-hanteringsbibliotek tillhandahåller en *Manager klass som tjänst-API, ComputeManager till exempel för Azure-beräkningstjänsten eller AzureResourceManager för aggregering av populära tjänster.

Exempel på hanteringsbibliotek

Följande kodexempel visar hur du skapar en ComputeManager:

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

Följande kodexempel visar hur du etablerar en ny virtuell dator:

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();

Följande kodexempel visar hur du hämtar en befintlig virtuell dator:

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

Följande kodexempel visar hur du uppdaterar den virtuella datorn och lägger till en ny datadisk:

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

Mer information om hur du arbetar med varje hanteringsbibliotek finns i filen README.md som finns i bibliotekets projektkatalog på GitHub-lagringsplatsen för SDK. Du kan också hitta fler kodfragment i referensdokumentationenoch Azure-exempel.

Få hjälp och få kontakt med SDK-teamet

Nästa steg

Nu när du förstår vad Azure SDK för Java är kan du fördjupa dig i många av de övergripande begrepp som finns för att göra dig produktiv när du använder biblioteken. Följande artiklar innehåller bra utgångspunkter: