Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Spring Cloud Azure, Spring uygulamalarında Azure hizmetleri kullanımını kolaylaştırmaya yardımcı olan open source bir projedir.
Spring Cloud Azure, tüm kaynakların genel kullanıma sunulduğu open source bir projedir. Aşağıdaki liste bu kaynaklara bağlantılar sağlar:
- Kaynak kodu: Azure/azure-sdk-for-java.
- Örnekler: Azure-Samples/azure-spring-boot-samples.
- Belgeler: Spring Cloud Azure.
Spring Cloud Azure ne için kullanılır?
Spring Cloud Azure, Spring uygulamalarında aşağıdaki görevleri gerçekleştirmeyi kolaylaştırmaya yardımcı olabilir:
- Azure App Configuration ile yapılandırma özelliklerini yönetme.
- Azure Event Hubs, Azure Service Bus ve Azure Storage Queue ile ileti gönderme ve alma.
- Azure Key Vault ile gizli dizileri ve sertifikaları yönetme.
- Microsoft Entra ID ile sağlanan iş veya okul hesaplarıyla kullanıcı oturum açmasını destekleme.
- Azure Active Directory B2C ile Facebook ve Google gibi sosyal hesaplarla kullanıcı oturum açma desteği.
- Microsoft Entra ID ve Azure Active Directory B2C ile kullanıcılarınızın ve kuruluşunuzun verileriyle çalışmak için Microsoft Graph gibi web API'lerinizi koruma ve korumalı API'lere erişme.
- Yapılandırılmış verileri Azure Cosmos DB ile depolama.
- Azure Blob Storage ile metin veya ikili veriler gibi yapılandırılmamış verileri depolama.
- dosyaları Azure Files ile depolama.
Spring Cloud Azure kullanmanın avantajları
Aşağıdaki bölümde Spring Cloud Azure kullanmanın avantajları gösterilmektedir. Bu bölümde, Azure Key Vault'ta depolanan sırların alınması üzerine bir örnek verilmektedir. Bu bölüm, Spring Cloud Azure ile ve spring cloud olmadan Spring Boot uygulaması geliştirme arasındaki farkları karşılaştırır.
Spring Cloud Azure olmadan
Spring Cloud Azure olmadan, Azure Key Vault depolanan gizli dizileri almak istiyorsanız aşağıdaki adımları uygulamanız gerekir:
pom.xml dosyanıza aşağıdaki bağımlılıkları ekleyin:
<dependency> <groupId>com.azure</groupId> <artifactId>azure-security-keyvault-secrets</artifactId> <version>4.5.2</version> </dependency>Aşağıdaki örneğe benzer bir kod kullanarak
SecretClientsınıf örneği oluşturun:public class DemoClass { public static void main(String... args) { SecretClient client = new SecretClientBuilder() .vaultUrl("vaultUrl") .credential(new ClientSecretCredentialBuilder() .tenantId("tenantId") .clientId("clientId") .clientSecret("clientSecret") .build()) .buildClient(); } }Aşağıdaki örnekte gösterildiği gibi bu özellikleri yapılandırılabilir hale getirerek
client-idveclient-secretgibi sabit kodlama bilgilerinden kaçının:@ConfigurationProperties("azure.keyvault") public class KeyVaultProperties { private String vaultUrl; private String tenantId; private String clientId; private String clientSecret; public KeyVaultProperties(String vaultUrl, String tenantId, String clientId, String clientSecret) { this.vaultUrl = vaultUrl; this.tenantId = tenantId; this.clientId = clientId; this.clientSecret = clientSecret; } public String getVaultUrl() { return vaultUrl; } public void setVaultUrl(String vaultUrl) { this.vaultUrl = vaultUrl; } public String getTenantId() { return tenantId; } public void setTenantId(String tenantId) { this.tenantId = tenantId; } public String getClientId() { return clientId; } public void setClientId(String clientId) { this.clientId = clientId; } public String getClientSecret() { return clientSecret; } public void setClientSecret(String clientSecret) { this.clientSecret = clientSecret; } }Uygulama kodunuzu bu örnekte gösterildiği gibi güncelleştirin:
@SpringBootApplication @EnableConfigurationProperties(KeyVaultProperties.class) public class SecretClientApplication implements CommandLineRunner { private KeyVaultProperties properties; public SecretClientApplication(KeyVaultProperties properties) { this.properties = properties; } public static void main(String[] args) { SpringApplication.run(SecretClientApplication.class, args); } @Override public void run(String... args) { SecretClient client = new SecretClientBuilder() .vaultUrl(properties.getVaultUrl()) .credential(new ClientSecretCredentialBuilder() .tenantId(properties.getTenantId()) .clientId(properties.getClientId()) .clientSecret(properties.getClientSecret()) .build()) .buildClient(); System.out.println("sampleProperty: " + client.getSecret("sampleProperty").getValue()); } }Aşağıdaki örnekte gösterildiği gibi gerekli özellikleri application.yml dosyanıza ekleyin:
azure: keyvault: vault-url: tenant-id: client-id: client-secret:SecretClientbirden çok yerde kullanmanız gerekiyorsa birSecretClientçekirdeği tanımlayın. ArdındanSecretClientnumaralı kabloyu ilgili yerlerde otomatik olarak bağlayın.
Spring Cloud Azure ile
Spring Cloud Azure ile, Azure Key Vault depolanan gizli dizileri almak istiyorsanız, aşağıdaki adımlarda gösterildiği gibi gereksinimler daha basittir:
pom.xml dosyanıza aşağıdaki bağımlılıkları ekleyin:
<dependencies> <dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-starter-keyvault-secrets</artifactId> </dependency> </dependencies>Aşağıdaki örnekte gösterildiği gibi Spring Cloud Azure sürümünü yönetmek için bir ürün reçetesi (BOM) kullanın:
<dependencyManagement> <dependencies> <dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-dependencies</artifactId> <version>7.1.0</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
Not
Spring Boot 4.0.x kullanıyorsanız, spring-cloud-azure-dependencies sürümünü 7.1.0 olarak ayarladığınızdan emin olun.
Spring Boot 3.5.x kullanıyorsanız, spring-cloud-azure-dependencies sürümünü 6.1.0 olarak ayarladığınızdan emin olun.
Spring Boot 3.1.x-3.5.x kullanıyorsanız, spring-cloud-azure-dependencies sürümünü 5.25.0 olarak ayarladığınızdan emin olun.
Eğer Spring Boot 2.x kullanıyorsanız, spring-cloud-azure-dependencies sürümünü 4.20.0 olarak ayarladığınızdan emin olun.
Bu Parça Listesi (BOM), <dependencyManagement> bölümünde pom.xml dosyanızda yapılandırılmalıdır. Bu, tüm Spring Cloud Azure bağımlılıklarının aynı sürümü kullanmasını sağlar.
Bu BOM için kullanılan sürüm hakkında daha fazla bilgi için bkz. Hangi Spring Cloud Azure Sürümünü Kullanmalıyım.
application.yml dosyanıza aşağıdaki özellikleri ekleyin:
spring: cloud: azure: keyvault: secret: endpoint:Aşağıdaki komutu kullanarak Azure CLI ile oturum açın. Kimlik bilgileriniz Azure CLI tarafından sağlanacaktır, bu nedenle
client-idveclient-secretgibi diğer kimlik bilgileri eklemeniz gerekmez.az loginAşağıdaki örnekte gösterildiği gibi, ilgili yerlerde
SecretClientkablosunu otomatik olarak bağlayın.@SpringBootApplication public class SecretClientApplication implements CommandLineRunner { private final SecretClient secretClient; public SecretClientApplication(SecretClient secretClient) { this.secretClient = secretClient; } public static void main(String[] args) { SpringApplication.run(SecretClientApplication.class, args); } @Override public void run(String... args) { System.out.println("sampleProperty: " + secretClient.getSecret("sampleProperty").getValue()); } }
Spring Cloud Azure, otomatik olarak yapılandırılmış SecretClient dışında bazı başka özellikler de sağlar. Örneğin, aşağıdaki örnekte gösterildiği gibi gizli değeri almak için @Value kullanabilirsiniz:
@SpringBootApplication
public class PropertySourceApplication implements CommandLineRunner {
@Value("${sampleProperty1}")
private String sampleProperty1;
public static void main(String[] args) {
SpringApplication.run(PropertySourceApplication.class, args);
}
public void run(String[] args) {
System.out.println("sampleProperty1: " + sampleProperty1);
}
}
Spring Cloud Azure bileşenleri
Azure desteği
Service Bus, Depolama, Active Directory gibi Azure Hizmetleri için otomatik yapılandırma desteği sağlar.
Microsoft Entra ID
Spring Security ile kimlik doğrulama için Microsoft Entra ID entegrasyon desteği sağlar. Daha fazla bilgi için bkz. Spring Security için Spring Cloud Azure desteği.
Azure Key Vault
Azure Key Vault Gizli Anahtarları ile tümleştirme için Spring @Value ek açıklama desteği sağlar. Daha fazla bilgi için bkz. Spring Cloud Azure sır yönetimi.
Azure Storage
Azure Storage hizmetleri için Spring Boot desteği sağlar. Daha fazla bilgi için bkz. Spring Cloud Azure kaynak işleme.
Destek alın
Spring Cloud Azure için desteğe ihtiyacınız varsa aşağıdaki yollarla yardım isteyebilirsiniz:
- Azure destek talepleri oluşturun. Azure support planı olan müşteriler Azure support bileti açabilir. Sorununuz hemen ilgilenilmesini gerektiriyorsa bu seçeneği öneririz.
- GitHub sorunları Azure/azure-sdk-for-java deposunda bildirin. Hataları, soruları ve özellik isteklerini izlemek için GitHub sorunları kullanırız. GitHub sorunları ücretsizdir, ancak yanıt süresi garanti değildir. Daha fazla bilgi için bkz. GitHub sorunları destek süreci.