Mi az a Spring Cloud Azure?
A Spring Cloud Azure egy nyílt forráskód projekt, amely megkönnyíti az Azure-szolgáltatások használatát Spring-alkalmazásokban.
A Spring Cloud Azure egy nyílt forráskód projekt, amelynek minden erőforrása elérhető a nyilvánosság számára. Az alábbi lista az alábbi erőforrásokra mutató hivatkozásokat tartalmaz:
- Forráskód: Azure/azure-sdk-for-java.
- Minták: Azure-Samples/azure-spring-boot-samples.
- Dokumentáció: Spring Cloud Azure.
Mire használható a Spring Cloud Azure?
Az Azure Spring Cloud segítségével egyszerűbben végezheti el a következő feladatokat a Spring-alkalmazásokban:
- Konfigurációs tulajdonságok kezelése Azure-alkalmazás Konfigurációval.
- Üzenetek küldése és fogadása az Azure Event Hubs, az Azure Service Bus és az Azure Storage Queue használatával.
- Titkos kódok és tanúsítványok kezelése az Azure Key Vaulttal.
- A Microsoft Entra ID azonosítóval kiépített munkahelyi vagy iskolai fiókokkal való felhasználói bejelentkezés támogatása.
- A felhasználók olyan közösségi fiókokkal való bejelentkezésének támogatása, mint a Facebook és a Google az Azure Active Directory B2C-vel.
- A webes API-k védelme és a microsoft graphhoz hasonló védett API-k elérése a felhasználók és a szervezet adatainak a Microsoft Entra ID-val és az Azure Active Directory B2C-vel való használatához.
- Strukturált adatok tárolása az Azure Cosmos DB-vel.
- Strukturálatlan adatok, például szöveges vagy bináris adatok tárolása az Azure Blob Storage-ban.
- Fájlok tárolása az Azure Files használatával.
Az alábbi diagram áttekintést nyújt az alábbi funkciókról:
A Spring Cloud Azure használatának előnyei
Az alábbi szakasz a Spring Cloud Azure használatának előnyeit mutatja be. Ebben a szakaszban az Azure Key Vaultban tárolt titkos kulcsok lekérését használjuk példaként. Ez a szakasz a Spring Boot-alkalmazások Spring Cloud Azure-beli és anélküli fejlesztése közötti különbségeket hasonlítja össze.
Spring Cloud Azure nélkül
A Spring Cloud Azure nélkül, ha le szeretné kérni az Azure Key Vaultban tárolt titkos kulcsokat, a következő lépéseket kell elvégeznie:
Adja hozzá a következő függőségeket a pom.xml fájlhoz:
<dependency> <groupId>com.azure</groupId> <artifactId>azure-security-keyvault-secrets</artifactId> <version>4.5.2</version> </dependency>
Hozzon létre egy osztálypéldányt
SecretClient
az alábbi példához hasonló kód használatával: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(); } }
Kerülje a kemény kódolással kapcsolatos információkat, például
client-id
client-secret
és konfigurálhatóvá teszi ezeket a tulajdonságokat az alábbi példában látható módon:@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; } }
Frissítse az alkalmazáskódot az alábbi példában látható módon:
@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()); } }
Adja hozzá a szükséges tulajdonságokat a application.yml fájlhoz az alábbi példában látható módon:
azure: keyvault: vault-url: tenant-id: client-id: client-secret:
Ha több helyen kell használnia
SecretClient
, adjon meg egy babotSecretClient
. Ezután az auto-wireSecretClient
a megfelelő helyeken.
A Spring Cloud Azure-ral
A Spring Cloud Azure esetében, ha le szeretné kérni az Azure Key Vaultban tárolt titkos kulcsokat, a követelmények egyszerűbbek, ahogyan az alábbi lépésekben látható:
Adja hozzá a következő függőségeket a pom.xml fájlhoz:
<dependencies> <dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-starter-keyvault-secrets</artifactId> </dependency> </dependencies>
A Spring Cloud Azure-verzió kezeléséhez használjon anyagjegyzéket (BOM) a következő példában látható módon:
<dependencyManagement> <dependencies> <dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-dependencies</artifactId> <version>5.11.0</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
Feljegyzés
Ha Spring Boot 2.x-et használ, mindenképpen állítsa be a verziót
4.17.0
.spring-cloud-azure-dependencies
Ezt az anyagjegyzéket (BOM) a<dependencyManagement>
pom.xml fájl szakaszában kell konfigurálni. Ez biztosítja, hogy minden Spring Cloud Azure-függőség ugyanazt a verziót használja. A BOM-hez használt verzióról további információt a Spring Cloud Azure melyik verzióját érdemes használni.Adja hozzá a következő tulajdonságokat a application.yml fájlhoz:
spring: cloud: azure: keyvault: secret: endpoint:
Jelentkezzen be az Azure CLI-vel az alábbi paranccsal. A hitelesítő adatokat ezután az Azure CLI adja meg, így nem kell más hitelesítő adatokat, például
client-id
ésclient-secret
.az login
Auto-wire
SecretClient
a megfelelő helyeken, ahogy az alábbi példában látható:@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()); } }
A Spring Cloud Azure az automatikusan konfigurált SecretClient
funkciókon kívül további funkciókat is biztosít. A titkos kulcs értékét például a következő példában látható módon szerezheti @Value
be:
@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);
}
}
A Spring Cloud Azure összetevői
Azure-támogatás
Automatikus konfigurációs támogatást nyújt az Azure Serviceshez, például a Service Bushoz, a Storage-hoz, az Active Directoryhoz stb.
Microsoft Entra ID
Integrációs támogatást nyújt a Spring Securityhez a Microsoft Entra-azonosítóval a hitelesítéshez. További információ: Spring Cloud Azure-támogatás a Spring Securityhez.
Azure Key Vault
Spring-széljegyzet-támogatást @Value
nyújt az Azure Key Vault titkos kulcsaival való integrációhoz. További információ: Spring Cloud Azure titkos kódok kezelése.
Azure Storage
Spring Boot-támogatást kínál az Azure Storage-szolgáltatásokhoz. További információ: Spring Cloud Azure-erőforrás-kezelés.
Támogatás kérése
Ha segítségre van szüksége a Spring Cloud Azure-hoz, az alábbi módokon kérhet segítséget:
- Hozzon létre Azure-támogatás jegyeket. Az Azure-támogatás csomaggal rendelkező ügyfelek megnyithatnak egy Azure-támogatás jegyet. Ezt a lehetőséget akkor javasoljuk, ha a probléma azonnali figyelmet igényel.
- GitHub-problémák az Azure/azure-sdk-for-java adattárban. A GitHub-problémákat a hibák, kérdések és funkciókérések nyomon követésére használjuk. A GitHub-problémák ingyenesek, de a válaszidő nem garantált. További információ: GitHub-problémák támogatási folyamata.
Következő lépések
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: