Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Remarque
Les abonnements Basic, Standard et Enterprise sont entrés dans une période de retraite le 17 mars 2025. Pour plus d’informations, consultez l’annonce de mise hors service d’Azure Spring Apps.
Cet article s’applique à :✅ Essentiel/Standard ✅ Entreprise
Cet article explique comment préparer une application Steeltoe existante pour le déploiement sur Azure Spring Apps. Azure Spring Apps fournit des services robustes pour héberger, monitorer, mettre à l’échelle et mettre à jour une application Steeltoe.
Cet article présente les dépendances, la configuration et le code nécessaires pour exécuter une application .NET Core Steeltoe dans Azure Spring Apps. Pour plus d’informations sur le déploiement d’une application sur Azure Spring Apps, consultez Déployer votre première application Spring Boot dans Azure Spring Apps.
Remarque
La prise en charge d’Azure Spring Apps par Steeltoe est actuellement disponible en préversion publique. Les offres en préversion publique permettent aux clients de tester les nouvelles fonctionnalités avant leur publication officielle. Les fonctionnalités et services en préversion publique ne sont pas destinés à une utilisation en contexte de production. Pour en savoir plus sur le support offert avec les préversions, consultez notre FAQ ou envoyez une demande de support.
Versions prises en charge
Azure Spring Apps prend en charge :
- .NET Core 3.1
- Steeltoe 2.4 et 3.0
Dépendances
Pour Steeltoe 2.4, ajoutez le dernier package Microsoft.Azure.SpringCloud.Client 1.x.x au fichier projet :
<ItemGroup>
<PackageReference Include="Microsoft.Azure.SpringCloud.Client" Version="1.0.0-preview.1" />
<PackageReference Include="Steeltoe.Discovery.ClientCore" Version="2.4.4" />
<PackageReference Include="Steeltoe.Extensions.Configuration.ConfigServerCore" Version="2.4.4" />
<PackageReference Include="Steeltoe.Management.TracingCore" Version="2.4.4" />
<PackageReference Include="Steeltoe.Management.ExporterCore" Version="2.4.4" />
</ItemGroup>
Pour Steeltoe 3.0, ajoutez le dernier package Microsoft.Azure.SpringCloud.Client 2.x.x au fichier projet :
<ItemGroup>
<PackageReference Include="Microsoft.Azure.SpringCloud.Client" Version="2.0.0-preview.1" />
<PackageReference Include="Steeltoe.Discovery.ClientCore" Version="3.0.0" />
<PackageReference Include="Steeltoe.Extensions.Configuration.ConfigServerCore" Version="3.0.0" />
<PackageReference Include="Steeltoe.Management.TracingCore" Version="3.0.0" />
</ItemGroup>
Mise à jour Program.cs
Dans la méthode Program.Main, appelez la méthode UseAzureSpringCloudService.
Pour Steeltoe 2.4.4, appelez UseAzureSpringCloudService après ConfigureWebHostDefaults et après AddConfigServer s’il est appelé :
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
})
.AddConfigServer()
.UseAzureSpringCloudService();
Pour Steeltoe 3.0.0, appelez UseAzureSpringCloudService avant ConfigureWebHostDefaults et avant tout code de configuration Steeltoe :
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseAzureSpringCloudService()
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
})
.AddConfigServer();
Activer la détection de service Eureka Server
Remarque
Eureka n’est pas applicable au plan Entreprise. Si vous utilisez le plan Entreprise, consultez Utiliser le registre de service.
Dans la source de configuration utilisée quand l’application s’exécute dans Azure Spring Apps, définissez spring.application.name sur le même nom que l’application Azure Spring Apps dans laquelle le projet est déployé.
Par exemple, si vous déployez un projet .NET nommé EurekaDataProvider dans une application Azure Spring Apps nommée planet-weather-provider, le fichier appSettings.json doit inclure le code JSON suivant :
"spring": {
"application": {
"name": "planet-weather-provider"
}
}
Utiliser la détection de service
Pour appeler un service à l'aide de la détection de service Eureka Server, envoyez des requêtes HTTP à http://<app_name>, sachant que app_name correspond à la valeur de la propriété spring.application.name de l'application cible. Par exemple, le code suivant appelle le service planet-weather-provider :
using (var client = new HttpClient(discoveryHandler, false))
{
var responses = await Task.WhenAll(
client.GetAsync("http://planet-weather-provider/weatherforecast/mercury"),
client.GetAsync("http://planet-weather-provider/weatherforecast/saturn"));
var weathers = await Task.WhenAll(from res in responses select res.Content.ReadAsStringAsync());
return new[]
{
new KeyValuePair<string, string>("Mercury", weathers[0]),
new KeyValuePair<string, string>("Saturn", weathers[1]),
};
}
Cet article montre comment préparer une application Java Spring existante pour son déploiement sur Azure Spring Apps. S’il est correctement configuré, Azure Spring Apps fournit des services robustes pour monitorer, mettre à l’échelle et mettre à jour votre application Java Spring.
Avant d’exécuter cet exemple, vous pouvez essayer le démarrage rapide de base.
D’autres exemples expliquent comment déployer une application sur Azure Spring Apps quand le fichier POM est configuré.
Cet article explique les dépendances nécessaires et comment les ajouter au fichier POM.
Version du runtime Java
Pour plus d’informations, consultez la section Runtime Java et versions de système d’exploitation du FAQ sur Azure Spring Apps.
Versions de Spring Boot et de Spring Cloud
Pour préparer une application Spring Boot existante pour un déploiement sur Azure Spring Apps, incluez les dépendances Spring Boot et Spring Cloud dans le fichier POM de l’application comme indiqué dans les sections suivantes.
Azure Spring Apps prend en charge la dernière version principale de Spring Boot ou Spring Cloud 30 jours après sa publication. Azure Spring Apps prend en charge la dernière version mineure dès sa publication. Vous pouvez obtenir des versions de Spring Boot prises en charge à partir des Versions Spring Boot et des versions de Spring Cloud à partir de Versions Spring Cloud.
Le tableau ci-dessous liste les combinaisons prises en charges de Spring Boot et Spring Cloud :
| Version de Spring Boot | Version de Spring Cloud | Fin de la prise en charge |
|---|---|---|
| 3.2.x | 2023.0.x également appelée Leyton | 2024-11-23 |
| 3.1.x | 2022.0.3+ également appelée Kilburn | 2024-05-18 |
| 3.0.x | 2022.0.3+ également appelée Kilburn | 2023-11-24 |
| 2.7.x | 2021.0.3+ également appelée Jubilee | 2023-11-24 |
Pour plus d'informations, consultez les pages suivantes :
- Prise en charge des versions de Java, Spring Boot, etc.
- Support Spring Boot
- Support Spring Cloud Config
- Support Spring Cloud Netflix
- Ajout de Spring Cloud à une application Spring Boot existante
Autres dépendances recommandées pour activer les fonctionnalités Azure Spring Apps
Pour activer les fonctionnalités intégrées d’Azure Spring Apps à partir du registre de services dans le traçage distribué, vous devez également inclure les dépendances suivantes dans votre application. Vous pouvez supprimer certaines de ces dépendances si vous n’avez pas besoin de fonctionnalités correspondantes pour les applications spécifiques.
Registre de service
Pour utiliser le service managé Azure Service Registry, ajoutez la dépendance spring-cloud-starter-netflix-eureka-client dans le fichier pom.xml, comme indiqué ici :
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
Le point de terminaison du serveur Service Registry est injecté automatiquement sous la forme de variables d’environnement avec votre application. Les applications peuvent s’inscrire sur le serveur Service Registry et découvrir d’autres applications dépendantes.
Annotation EnableDiscoveryClient
Ajoutez l’annotation suivante au code source de l’application.
@EnableDiscoveryClient
Par exemple, regardez l’application piggymetrics provenant des exemples précédents :
package com.piggymetrics.gateway;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
@SpringBootApplication
@EnableDiscoveryClient
@EnableZuulProxy
public class GatewayApplication {
public static void main(String[] args) {
SpringApplication.run(GatewayApplication.class, args);
}
}
Configuration distribuée
Pour activer la configuration distribuée, ajoutez la dépendance spring-cloud-config-client suivante dans la section des dépendances de votre fichier pom.xml :
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
Avertissement
Ne spécifiez pas spring.cloud.config.enabled=false dans votre configuration de démarrage. Si vous le faites, votre application cessera de fonctionner avec le serveur de configuration.
Métriques
Ajoutez la dépendance spring-boot-starter-actuator dans la section des dépendances de votre fichier pom.xml, comme indiqué ici :
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
Les métriques sont tirées (pull) périodiquement des points de terminaison JMX. Vous pouvez visualiser les métriques dans le portail Azure.
Avertissement
Vous devez spécifier spring.jmx.enabled=true dans votre propriété de configuration. Dans le cas contraire, les métriques ne peuvent pas être visualisées dans le portail Azure.
Voir aussi
- Analyser les journaux et les métriques des applications
- Configurer votre serveur de configuration
- Guide de démarrage rapide Spring
- Documentation Spring Boot
Étapes suivantes
Dans cet article, vous avez appris à configurer votre application Java Spring pour la déployer sur Azure Spring Apps. Pour savoir comment configurer une instance Config Server, consultez Configurer une instance Config Server.
D’autres exemples sont disponibles sur GitHub : Exemples Azure Spring Apps.