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'
İ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.azure
olduğ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 birKeyVaultAsyncClient
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 uygunbuildClient()
vebuildAsyncClient()
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 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ğ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 ComputeManager
oluş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
- Java için Azure SDK belgelerini ziyaret edin .
- Stack Overflow'da topluluğa sorular gönderin.
- GitHub deposu üzerinde SDK ile ilgili konuları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: