Menggunakan Azure SDK for Java

Sumber terbuka Azure SDK for Java menyederhanakan provisi, pengelolaan, dan penggunaan sumber daya Azure dari kode aplikasi Java.

Detail yang penting

  • Pustaka Azure adalah cara Anda berkomunikasi dengan layanan Azure dari kode Java yang Anda jalankan baik secara lokal maupun di cloud.
  • Pustaka mendukung Java 8 dan yang lebih baru, dan diuji terhadap garis besar Java 8 dan rilis 'dukungan jangka panjang' Java terbaru.
  • Pustaka menyertakan dukungan modul Java penuh, yang berarti pustaka sepenuhnya sesuai dengan persyaratan modul Java dan mengekspor semua paket yang relevan untuk digunakan.
  • Azure SDK for Java hanya terdiri dari banyak pustaka Java individu yang berhubungan dengan layanan Azure tertentu. Tidak ada alat lain di "SDK".
  • Ada pustaka "manajemen" dan "klien" yang berbeda (kadang-kadang disebut sebagai pustaka "management plane" dan "data plane"). Setiap set melayani tujuan yang berbeda serta digunakan oleh berbagai jenis kode. Untuk informasi selengkapnya, lihat bagian berikut ini nanti di artikel ini:
  • Anda dapat menemukan dokumentasi untuk pustaka di Referensi Azure for Java yang diatur Azure Service, atau browser Java API yang diatur berdasarkan nama paket.

Detail lainnya

  • Pustaka Azure SDK for Java dibangun di atas REST API Azure yang mendasarinya, memungkinkan Anda untuk menggunakan API tersebut melalui paradigma Java yang sudah dikenal. Namun, Anda selalu dapat menggunakan REST API langsung dari kode Java, jika Anda mau.
  • Anda dapat menemukan kode sumber untuk pustaka Azure di repositori GitHub. Sebagai proyek sumber terbuka, kontribusi dipersilakan!
  • Saat ini kami memperbarui pustaka Azure SDK for Java untuk berbagi pola cloud umum seperti protokol autentikasi, pengelogan, pelacakan, protokol transportasi, respons buffer, dan percobaan ulang.
    • Fungsi bersama ini terkandung dalam pustaka azure-core.
  • Untuk informasi selengkapnya tentang pedoman yang kami terapkan ke pustaka, lihat Panduan Desain Java Azure SDK.

Platform yang didukung untuk Azure SDK for Java

Azure SDK for Java dikirimkan dengan dukungan untuk Java 8 dan yang lebih baru, tetapi sebaiknya pengembang selalu menggunakan rilis dukungan jangka panjang (LTS) Java terbaru dalam pengembangan dan saat merilis ke produksi. Penggunaan rilis LTS terbaru memastikan ketersediaan peningkatan terbaru di Java, termasuk perbaikan bug, peningkatan performa, dan perbaikan keamanan. Selain itu, Azure SDK for Java menyertakan dukungan tambahan untuk rilis Java selanjutnya. Dukungan tambahan ini meningkatkan performa dan mencakup peningkatan khusus JDK di luar garis besar Java 8 yang didukung.

Azure SDK for Java diuji dan didukung di Windows, Linux, dan macOS. Azure SDK for Java tidak diuji pada platform lain yang didukung JDK, dan tidak mendukung penyebaran Android. Untuk pengembang yang ingin mengembangkan perangkat lunak untuk penyebaran pada perangkat Android dan yang menggunakan layanan Azure, ada pustaka khusus Android yang tersedia di proyek Azure SDK for Android.

Membuat sambungan ke serta menggunakan sumber daya Azure dengan pustaka klien

Pustaka klien (atau "data plane") membantu Anda menulis kode aplikasi Java untuk berinteraksi dengan layanan yang sudah tersedia. Pustaka klien hanya ada untuk layanan yang mendukung API klien. Anda dapat mengidentifikasinya karena ID grup Maven-nya adalah com.azure.

Semua pustaka klien Azure Java mengikuti pola desain API yang sama dengan menawarkan kelas penyusun Java yang bertanggung jawab untuk membuat instans klien. Pola ini memisahkan definisi dan instansiasi klien dari operasinya, memungkinkan klien menjadi tidak berubah dan karenanya lebih mudah digunakan. Selain itu, semua pustaka klien mengikuti beberapa pola penting:

  • Pustaka klien yang mendukung API sinkron dan asinkron harus menawarkan API ini di kelas terpisah. Artinya adalah bahwa dalam kasus ini akan ada, misalnya, KeyVaultClient untuk API sinkron dan KeyVaultAsyncClient untuk API asinkron.

  • Ada satu kelas penyusun yang bertanggung jawab untuk membangun API sinkron dan asinkron. Penyusun dinamai mirip dengan kelas klien sinkronisasi, dengan Builder disertakan. Contohnya, KeyVaultClientBuilder. Penyusun ini memiliki metode buildClient() dan buildAsyncClient() untuk membuat instans klien, yang sesuai.

Karena konvensi ini, semua kelas yang diakhiri dengan Client tidak berubah dan menyediakan operasi untuk berinteraksi dengan layanan Azure. Semua kelas yang diakhiri dengan ClientBuilder menyediakan operasi untuk mengonfigurasi dan membuat instans dari jenis klien tertentu.

Contoh pustaka klien

Contoh kode berikut menunjukkan cara membuat Key Vault sinkron KeyClient:

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

Contoh kode berikut menunjukkan cara membuat Key Vault asinkron KeyAsyncClient:

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

Untuk informasi selengkapnya tentang bekerja menggunakan setiap pustaka klien, lihat file README.md yang terletak di direktori proyek pustaka di repositori SDK GitHub. Anda juga dapat menemukan lebih banyak cuplikan kode dalam dokumentasi referensi dan Sampel Azure.

Memprovisikan serta mengelola sumber daya Azure dengan pustaka manajemen

Pustaka manajemen (atau "management plane") membantu Anda membuat, menyediakan, dan mengelola sumber daya Azure dari kode aplikasi Java. Anda dapat menemukan pustaka ini di ID grup Maven com.azure.resourcemanager. Semua layanan Azure memiliki pustaka manajemen yang sesuai.

Dengan pustaka manajemen, Anda dapat menulis skrip konfigurasi dan penyebaran untuk melakukan tugas yang sama dengan yang Anda dapat melalui portal Azure atau Azure CLI.

Semua pustaka manajemen Azure Java menyediakan kelas *Manager sebagai API layanan, misalnya, ComputeManager untuk layanan komputasi Azure, atau AzureResourceManager untuk agregasi layanan populer.

Contoh pustaka manajemen

Contoh kode berikut menunjukkan cara membuat ComputeManager:

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

Contoh kode berikut menunjukkan cara menyediakan mesin virtual baru:

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

Contoh kode berikut menunjukkan cara mendapatkan mesin virtual yang ada:

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

Contoh kode berikut menunjukkan cara memperbarui mesin virtual dan menambahkan disk data baru:

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

Untuk informasi selengkapnya tentang bekerja menggunakan setiap pustaka manajemen, lihat file README.md yang terletak di direktori proyek pustaka di repositori SDK GitHub. Anda juga dapat menemukan lebih banyak cuplikan kode dalam dokumentasi referensi dan Sampel Azure.

Mendapatkan bantuan dan tersambung dengan tim SDK

Langkah berikutnya

Setelah memahami apa itu Azure SDK for Java, Anda dapat mendalami banyak konsep lintas sektor yang ada untuk membuat Anda produktif saat menggunakan pustaka. Artikel berikut memberikan titik awal yang baik: