Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Spring Cloud Azure je projekt open source, který usnadňuje používání služeb Azure v aplikacích Spring.
Spring Cloud Azure je projekt open source se všemi dostupnými prostředky pro veřejnost. Následující seznam obsahuje odkazy na tyto zdroje informací:
- Zdrojový kód: Azure/azure-sdk-for-java.
- Ukázky: Azure-Samples/azure-spring-boot-samples.
- Dokumentace: Spring Cloud Azure.
K čemu se používá Azure Spring Cloud?
Spring Cloud Azure může usnadnit provádění následujících úloh v aplikacích Spring:
- Správa vlastností konfigurace pomocí Azure App Configuration
- Odesílání a příjem zpráv pomocí Azure Event Hubs, Azure Service Bus a Azure Storage Queue.
- Správa tajných kódů a certifikátů pomocí Azure Key Vault
- Podpora přihlašování uživatelů pomocí pracovních nebo školních účtů zřízených pomocí Microsoft Entra ID
- Podpora přihlašování uživatelů pomocí sociálních účtů, jako je Facebook a Google s Azure Active Directory B2C
- Ochrana webových rozhraní API a přístup k chráněným rozhraním API, jako je Microsoft Graph pro práci s daty uživatelů a organizace s Microsoft Entra ID a Azure Active Directory B2C.
- Ukládání strukturovaných dat pomocí Azure Cosmos DB
- Ukládání nestrukturovaných dat, jako jsou textová nebo binární data, pomocí Azure Blob Storage
- Ukládání souborů pomocí Azure Files
Výhody používání Azure Spring Cloud
Následující část ukazuje výhody používání Azure Spring Cloud. V této části se jako příklad používá načítání tajných kódů uložených v Azure Key Vault. Tato část porovnává rozdíly mezi vývojem aplikace Spring Boot a bez aplikace Spring Cloud Azure.
Bez Azure Spring Cloudu
Bez Azure Spring Cloudu, pokud chcete načíst tajné kódy uložené v Azure Key Vault, musíte provést následující kroky:
Do souboru pom.xml přidejte následující závislosti:
<dependency> <groupId>com.azure</groupId> <artifactId>azure-security-keyvault-secrets</artifactId> <version>4.5.2</version> </dependency>Vytvořte instanci třídy
SecretClientpomocí kódu podobného následujícímu příkladu: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(); } }Vyhněte se pevným kódováním informací, jako jsou
client-idaclient-secret, a to tak, že tyto vlastnosti nakonfigurujete, jak je znázorněno v následujícím příkladu:@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; } }Aktualizujte kód aplikace, jak je znázorněno v tomto příkladu:
@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()); } }Přidejte do souboru application.yml potřebné vlastnosti, jak je znázorněno v následujícím příkladu:
azure: keyvault: vault-url: tenant-id: client-id: client-secret:Pokud potřebujete použít
SecretClientna více místech, definujteSecretClientbean. Potom automaticky propojteSecretClientna příslušných místech.
S Azure Spring Cloud
Pokud chcete načíst tajné kódy uložené v Azure Key Vault, jsou požadavky Azure Spring Cloud jednodušší, jak je znázorněno v následujících krocích:
Do souboru pom.xml přidejte následující závislosti:
<dependencies> <dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-starter-keyvault-secrets</artifactId> </dependency> </dependencies>Ke správě verze Azure Spring Cloud použijte vyúčtování materiálů, jak je znázorněno v následujícím příkladu:
<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>
Poznámka
Pokud používáte Spring Boot 4.0.x, nezapomeňte nastavit spring-cloud-azure-dependencies verzi na 7.1.0.
Pokud používáte Spring Boot 3.5.x, nezapomeňte nastavit spring-cloud-azure-dependencies verzi na 6.1.0hodnotu.
Pokud používáte Spring Boot 3.1.x-3.5.x, nezapomeňte nastavit verzi na spring-cloud-azure-dependencies.
Pokud používáte Spring Boot 2.x, nezapomeňte nastavit spring-cloud-azure-dependencies verzi na 4.20.0.
Tato faktura materiálu (BOM) by měla být nakonfigurována v <dependencyManagement> části vašeho pom.xml souboru. Tím zajistíte, že všechny závislosti Spring Cloud Azure budou používat stejnou verzi.
Další informace o verzi použité pro tuto BOM najdete v tématu Kterou verzi Spring Cloud Azure bych měl/a použít.
Do souboru application.yml přidejte následující vlastnosti:
spring: cloud: azure: keyvault: secret: endpoint:Přihlaste se pomocí Azure CLI pomocí následujícího příkazu. Vaše přihlašovací údaje pak poskytne Azure CLI, takže nebude nutné přidávat další informace o přihlašovacích údaji, jako jsou
client-idaclient-secret.az loginAutomaticky připojte vodič
SecretClientna příslušná místa, jak je znázorněno v následujícím příkladu:@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 kromě automaticky nakonfigurovaného SecretClient nabízí i další funkce. Můžete například použít @Value k získání hodnoty tajného kódu, jak je znázorněno v následujícím příkladu:
@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);
}
}
Komponenty Spring Cloud Azure
podpora Azure
Poskytuje podporu automatické konfigurace pro Azure Služby, jako jsou Service Bus, Úložiště, Active Directory atd.
Microsoft Entra ID
Poskytuje podporu integrace pro Spring Security s Microsoft Entra ID pro ověřování. Další informace najdete v tématu Spring Cloud Azure support for Spring Security.
Azure Key Vault
Poskytuje podporu poznámek spring @Value pro integraci s tajnými kódy Azure Key Vault. Další informace najdete v tématu Spring Cloud Azure správa tajných kódů.
Azure Storage
Poskytuje podporu spring bootu pro služby Azure Storage. Další informace najdete v části Zpracování prostředků Spring Cloud Azure.
Získání podpory
Pokud potřebujete podporu pro Spring Cloud Azure, můžete požádat o pomoc následujícími způsoby:
- Vytvořte požadavky na podporu Azure. Zákazníci s plánem podpory Azure mohou otevřít podporný tiket Azure. Tuto možnost doporučujeme, pokud váš problém vyžaduje okamžitou pozornost.
- Problémy s GitHub souborů v úložišti Azure/azure-sdk-for-java Používáme GitHub issues ke sledování chyb, otázek a požadavků na funkce. Problémy na GitHubu jsou bezplatné, ale doba odezvy není zaručena. Další informace najdete v tématu GitHub problémy s procesem podpory.