Använda Azure SDK för Java

Azure SDK för Java med öppen källkod 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 "långsiktigt stöd för Java".
  • Biblioteken innehåller fullständigt stöd för Java-moduler, vilket innebär att de är helt kompatibla med kraven för en Java-modul och exporterar alla relevanta paket för användning.
  • Azure SDK för Java består endast av många enskilda Java-bibliotek som är relaterade 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 "dataplansbibliotek"). 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 dokumentation för biblioteken i Azure for Java-referensen som ordnats av Azure-tjänsten eller Java API-webbläsaren ordnad efter paketnamn.

Annan information

  • Azure SDK för Java-bibliotek bygger på den underliggande Azure-REST API, så att du kan använda dessa API:er via välbekanta Java-paradigm. Du kan dock alltid använda REST API direkt från Java-kod, om du vill.
  • Du hittar källkoden för Azure-biblioteken på lagringsplatsen GitHub. Som ett projekt med öppen källkod är bidrag välkommen!
  • 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 för biblioteken finns i Java Azure SDK Design Guidelines (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 Långsiktig Java-support (LTS) under utveckling och vid lansering till produktion. Med den senaste LTS-versionen säkerställer du tillgängligheten av de senaste förbättringarna i Java, inklusive felkorrigeringar, prestandaförbättringar och säkerhetskorrigeringar. Dessutom har Azure SDK för Java ytterligare stöd för senare versioner av Java. Det här ytterligare stödet förbättrar prestanda och innehåller JDK-specifika förbättringar utöver den Java 8-baslinje som stöds.

Azure SDK för Java testas och stöds på Windows, Linux och macOS. Den har inte testats 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 instansiering av klienten från dess åtgärd, vilket gör det möjligt för klienten att 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. Det innebär att det i dessa fall till exempel skulle finnas en för KeyVaultClient synkroniserings-API:er och en KeyVaultAsyncClient för asynkrona API:er.

  • Det finns en enda byggare som ansvarar för att skapa både synkroniserings- och asynkrona API:er. Byggaren namnges på samma sätt som synkroniseringsklientklassen, med Builder inkluderad. Till exempel KeyVaultClientBuilder. Den här byggaren buildClient() har metoderna och för att skapa buildAsyncClient() klientinstanser efter behov.

På grund av dessa konventioner är alla klasser som slutar Client på 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 en synkron Key Vault KeyClient :

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

I följande kodexempel visas hur du skapar en asynkron Key Vault 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 finns i bibliotekets projektkatalog i SDK-GitHub lagringsplatsen. Du hittar även fler kodfragment i referensdokumentationen och i Azure-exemplen.

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 dessa bibliotek i com.azure.resourcemanager 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 Portal eller Azure CLI.

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

Exempel på hanteringsbibliotek

I följande kodexempel visas 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 README.md finns i bibliotekets projektkatalog i SDK-GitHub lagringsplatsen. Du hittar även fler kodfragment i referensdokumentationen och i Azure-exemplen.

Få hjälp och anslut till SDK-teamet

Nästa steg

Nu när du förstår vad Azure SDK för Java är kan du ta en djupdykning 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 startpunkter: