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 Spring Cloud Azure
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.2.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.2.0.
Pokud používáte Spring Boot 3.5.x, nezapomeňte nastavit spring-cloud-azure-dependencies verzi na 6.2.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 tento kusovník najdete v tématu Kterou verzi Spring Cloud Azure bych měl 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
Azure podpora
Poskytuje podporu automatické konfigurace pro Azure Služby, jako jsou Service Bus, Úložiště, služba 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 podpora Azure for Spring Security.
Azure Key Vault
Poskytuje podporu pro anotace Spring @Value pro integraci s Azure Key Vault Secrets. 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 Spring Cloud Azure zpracování prostředků.
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 podpory Azure. Zákazníci s plánem podpora Azure mohou otevřít lístek podpora Azure. Tuto možnost doporučujeme, pokud váš problém vyžaduje okamžitou pozornost.
- Vytvořte problémy na GitHubu v úložišti
Azure/azure-sdk-for-java. Ke sledování chyb, otázek a žádostí o funkce používáme GitHub issues. Problémy na GitHubu jsou bezplatné, ale odezva není zaručená. Další informace najdete v tématu GitHub problémy s procesem podpory.