Aracılığıyla paylaş


Java için Azure SDK'sını kullanma

Java için açık kaynak Azure SDK'sı, Java uygulama kodundan Azure kaynaklarını sağlamayı, yönetmeyi ve kullanmayı basitleştirir.

Önemli ayrıntılar

  • Azure kitaplıkları, yerel olarak veya bulutta çalıştırdığınız Java kodundan Azure hizmetleriyle nasıl iletişim kurabileceğinizdir.
  • Kitaplıklar Java 8 ve üzerini destekler ve hem Java 8 temeli hem de en son Java 'uzun vadeli destek' sürümüne göre test edilir.
  • Kitaplıklar tam Java modülü desteği içerir; bu da bir Java modülünün gereksinimleriyle tamamen uyumlu oldukları ve kullanım için tüm ilgili paketleri dışarı aktardıkları anlamına gelir.
  • Java için Azure SDK yalnızca belirli Azure hizmetleriyle ilgili birçok ayrı Java kitaplığından oluşur. "SDK" içinde başka araç yoktur.
  • Ayrı "yönetim" ve "istemci" kitaplıkları vardır (bazen "yönetim düzlemi" ve "veri düzlemi" kitaplıkları olarak da adlandırılır). Her küme farklı amaçlara hizmet eder ve farklı kod türleri tarafından kullanılır. Daha fazla bilgi için bu makalenin devamında yer alan aşağıdaki bölümlere bakın:
  • Java kütüphanelerine yönelik belgeleri, Azure Hizmeti'ne göre düzenlenmiş Azure for Java Referansı veya paket adına göre düzenlenmiş Java API tarayıcısı bulabilirsiniz.

Diğer ayrıntılar

  • Java kitaplıkları için Azure SDK, temel alınan Azure REST API'nin üzerine inşa ederek bu API'leri tanıdık Java paradigmalarıyla kullanmanıza olanak sağlar. Ancak, dilerseniz REST API'yi doğrudan Java kodundan kullanabilirsiniz.
  • Azure kitaplıklarının kaynak kodunu GitHub deposundabulabilirsiniz. Açık kaynak bir proje olarak, katkılar memnuniyetle karşılanır!
  • Şu anda kimlik doğrulama protokolleri, günlüğe kaydetme, izleme, aktarım protokolleri, arabelleğe alınan yanıtlar ve yeniden denemeler gibi yaygın bulut desenlerini paylaşmak üzere Java kitaplıkları için Azure SDK'sını güncelleştiriyoruz.
    • Bu paylaşılan işlevsellik azure-core kitaplığında yer alır.
  • Kitaplıklara uyguladığımız yönergeler hakkında daha fazla bilgi için bkz. Java Azure SDK Tasarım Yönergeleri.

Java için Azure SDK için desteklenen platformlar

Java için Azure SDK, Java 8 ve üzeri için destekle birlikte sunulur, ancak geliştiricilerin geliştirme aşamasında ve üretim ortamında yayınlanırken her zaman en son Java uzun vadeli destek (LTS) sürümünü kullanmasını öneririz. En son LTS sürümünü kullanmak hata düzeltmeleri, performans iyileştirmeleri ve güvenlik düzeltmeleri dahil olmak üzere Java'da en son iyileştirmelerin kullanılabilir olmasını sağlar. Ayrıca Java için Azure SDK, Java'nın sonraki sürümleri için ek destek içerir. Bu ek destek, performansı artırır ve desteklenen Java 8 temelinin ötesinde JDK'ye özgü geliştirmeler içerir.

Java için Azure SDK, Windows, Linux ve macOS üzerinde test edilir ve desteklenir. JDK'nin desteklediği diğer platformlarda test edilmemektedir ve Android dağıtımlarını desteklememektedir. Android cihazlarda dağıtım için yazılım geliştirmek isteyen ve Azure hizmetlerinden yararlanan geliştiriciler için, Android için Azure SDK'projesinde Android'e özgü kitaplıklar mevcuttur.

İstemci kitaplıklarıyla Azure kaynaklarına bağlanma ve bunları kullanma

İstemci (veya "veri düzlemi") kitaplıkları, önceden sağlanan hizmetlerle etkileşime geçmek için Java uygulama kodu yazmanıza yardımcı olur. İstemci kitaplıkları yalnızca bir istemci API'sini destekleyen hizmetler için mevcuttur. Maven grup kimlikleri com.azureolduğundan bunları tanımlayabilirsiniz.

Tüm Azure Java istemci kitaplıkları, bir istemci örneği oluşturmakla sorumlu bir Java oluşturucu sınıfı sunmakla aynı API tasarım desenini izler. Bu desen, istemcinin tanımını ve örneğini işleminden ayırarak istemcinin sabit olmasını ve dolayısıyla daha kolay kullanılmasını sağlar. Ayrıca, tüm istemci kitaplıkları birkaç önemli deseni izler:

  • Hem zaman uyumlu hem de zaman uyumsuz API'leri destekleyen istemci kitaplıklarının bu API'leri ayrı sınıflarda sunması gerekir. Bunun anlamı, bu durumlarda senkron API'leri için bir KeyVaultClient ve zaman uyumsuz API'ler için bir KeyVaultAsyncClient olmasıdır.

  • Hem senkron hem de asenkron API'leri oluşturma sorumluluğunu üstlenen tek bir oluşturucu sınıfı vardır. Oluşturucu, Builder dahil olmak üzere eşitleme istemci sınıfına benzer şekilde adlandırılır. Örneğin, KeyVaultClientBuilder. Bu oluşturucu, istemci örnekleri oluşturmak için uygun buildClient() ve buildAsyncClient() yöntemlerine sahiptir.

Bu kurallar nedeniyle, Client ile biten tüm sınıflar sabittir ve bir Azure hizmetiyle etkileşime geçmek için işlemler sağlar. ClientBuilder ile biten tüm sınıflar, belirli bir istemci türünün örneğini yapılandırmaya ve oluşturmaya yönelik işlemler sağlar.

İstemci kitaplıkları örneği

Aşağıdaki kod örneğinde zaman uyumlu key vault KeyClientnasıl oluşturulacağı gösterilmektedir:

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

Aşağıdaki kod örneği, zaman uyumsuz bir Key Vault KeyAsyncClient'un nasıl oluşturulacağını göstermektedir:

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

Her istemci kitaplığıyla çalışma hakkında daha fazla bilgi için, SDK GitHub deposunda kitaplığın proje dizininde bulunan README.md dosyasına bakın. Ayrıca başvuru belgelerinde ve Azure Örnekleri içinde daha fazla kod parçacığı bulabilirsiniz.

Yönetim kitaplıklarıyla Azure kaynaklarını sağlama ve yönetme

Yönetim (veya "yönetim düzlemi") kitaplıkları, Java uygulama kodundan Azure kaynaklarını oluşturmanıza, sağlamanıza ve yönetmenize yardımcı olur. Bu kitaplıkları com.azure.resourcemanager Maven grup kimliğinde bulabilirsiniz. Tüm Azure hizmetlerinin karşılık gelen yönetim kitaplıkları vardır.

Yönetim kitaplıklarıyla, Azure portal veya Azure CLIaracılığıyla gerçekleştirebileceğiniz görevlerin aynısını gerçekleştirmek için yapılandırma ve dağıtım betikleri yazabilirsiniz.

Tüm Azure Java yönetim kitaplıkları, azure işlem hizmeti için ComputeManager veya popüler hizmetlerin toplanması için AzureResourceManager gibi bir hizmet API'si olarak *Manager sınıfı sağlar.

Yönetim kitaplıkları örneği

Aşağıdaki kod örneğinde ComputeManageroluşturma gösterilmektedir:

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

Aşağıdaki kod örneği, yeni bir sanal makinenin nasıl oluşturulacağını gösterir.

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

Aşağıdaki kod örneğinde var olan bir sanal makinenin nasıl alınacakları gösterilmektedir:

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

Aşağıdaki kod örneğinde sanal makinenin nasıl güncelleştirilip yeni bir veri diski ekleneceği gösterilmektedir:

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

Her yönetim kitaplığıyla çalışma hakkında daha fazla bilgi için SDK GitHub deposunda kitaplığın proje dizininde bulunan README.md dosyasına bakın. Ayrıca başvuru belgelerinde ve Azure Örnekleri'te, daha fazla kod parçacığı bulabilirsiniz.

Yardım alın ve SDK ekibiyle bağlantı kurun

Sonraki adımlar

Java için Azure SDK'nın ne olduğunu anladığınıza göre, kitaplıkları kullanırken üretkenliğinizi sağlamak için mevcut olan çapraz kesme kavramlarının birçoğuna ayrıntılı bir bakış sağlayabilirsiniz. Aşağıdaki makaleler iyi başlangıç noktaları sağlar: