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:
  • Kitaplıklara yönelik belgeleri Azure Hizmeti tarafından düzenlenen Java Başvurusu için Azure'da veya paket adına göre düzenlenmiş Java API tarayıcısında 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 deposunda bulabilirsiniz. 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.
  • 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.

azure kaynaklarını istemci kitaplıklarıyla Bağlan ve 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 olduğundan com.azurebunları 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 gibi durumlarda KeyVaultClient bir eşitleme API'leri ve KeyVaultAsyncClient zaman uyumsuz API'ler olmasıdır.

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

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

İstemci kitaplıkları örneği

Aşağıdaki kod örneğinde zaman uyumlu bir Key Vault'un 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ğinde zaman uyumsuz bir Key Vault'un KeyAsyncClientnasıl oluşturulacağı gösterilmektedir:

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. Başvuru belgelerinde ve Azure Örnekleri'nde daha fazla kod parçacığı da 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ı Maven grup kimliğinde com.azure.resourcemanager bulabilirsiniz. Tüm Azure hizmetlerinin karşılık gelen yönetim kitaplıkları vardır.

Yönetim kitaplıklarıyla, Azure portalı veya Azure CLI aracı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ı, örneğin ComputeManager Azure işlem hizmeti veya AzureResourceManager popüler hizmetlerin toplanması için bir *Manager hizmet olarak sınıf API'sini sağlar.

Yönetim kitaplıkları örneği

Aşağıdaki kod örneğinde nasıl oluşturulacağı gösterilmektedir ComputeManager:

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

Aşağıdaki kod örneği, yeni bir sanal makinenin nasıl sağ yapılacağı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. Başvuru belgelerinde ve Azure Örnekleri'nde daha fazla kod parçacığı da 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: