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.
- 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.
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.azure
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 gibi durumlarda
KeyVaultClient
bir eşitleme API'leri veKeyVaultAsyncClient
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 vebuildAsyncClient()
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 KeyClient
nası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 KeyAsyncClient
nası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
- Java için Azure SDK belgelerini ziyaret edin.
- Stack Overflow ile topluluğa soru sorabilirsiniz.
- GitHub deposunda SDK ile ilgili sorunları açın.
- Twitter'da @AzureSDK bahsedin.
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: