Hendelser
17. mars, 21 - 21. mars, 10
Bli med i meetup-serien for å bygge skalerbare AI-løsninger basert på virkelige brukstilfeller med andre utviklere og eksperter.
Registrer deg nåDenne nettleseren støttes ikke lenger.
Oppgrader til Microsoft Edge for å dra nytte av de nyeste funksjonene, sikkerhetsoppdateringene og den nyeste tekniske støtten.
Obs!
The Basic, Standard, and Enterprise plans will be deprecated starting from mid-March, 2025, with a 3 year retirement period. We recommend transitioning to Azure Container Apps. For more information, see the Azure Spring Apps retirement announcement.
The Standard consumption and dedicated plan will be deprecated starting September 30, 2024, with a complete shutdown after six months. We recommend transitioning to Azure Container Apps. For more information, see Migrate Azure Spring Apps Standard consumption and dedicated plan to Azure Container Apps.
This article applies to: ✅ Basic/Standard ✅ Enterprise
This article shows how to prepare an existing Steeltoe application for deployment to Azure Spring Apps. Azure Spring Apps provides robust services to host, monitor, scale, and update a Steeltoe app.
This article explains the dependencies, configuration, and code that are required to run a .NET Core Steeltoe app in Azure Spring Apps. For information about how to deploy an application to Azure Spring Apps, see Deploy your first Spring Boot app in Azure Spring Apps.
Obs!
Steeltoe support for Azure Spring Apps is currently offered as a public preview. Public preview offerings allow customers to experiment with new features prior to their official release. Public preview features and services are not meant for production use. For more information about support during previews, see the FAQ or file a Support request.
Azure Spring Apps supports:
For Steeltoe 2.4, add the latest Microsoft.Azure.SpringCloud.Client 1.x.x package to the project file:
<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>
For Steeltoe 3.0, add the latest Microsoft.Azure.SpringCloud.Client 2.x.x package to the project file:
<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>
In the Program.Main
method, call the UseAzureSpringCloudService
method.
For Steeltoe 2.4.4, call UseAzureSpringCloudService
after ConfigureWebHostDefaults
and after AddConfigServer
if it's called:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
})
.AddConfigServer()
.UseAzureSpringCloudService();
For Steeltoe 3.0.0, call UseAzureSpringCloudService
before ConfigureWebHostDefaults
and before any Steeltoe configuration code:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseAzureSpringCloudService()
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
})
.AddConfigServer();
Obs!
Eureka is not applicable to the Enterprise plan. If you're using the Enterprise plan, see Use Service Registry.
In the configuration source that's used when the app runs in Azure Spring Apps, set spring.application.name
to the same name as the Azure Spring Apps app to which the project is deployed.
For example, if you deploy a .NET project named EurekaDataProvider
to an Azure Spring Apps app named planet-weather-provider
the appSettings.json file should include the following JSON:
"spring": {
"application": {
"name": "planet-weather-provider"
}
}
To call a service by using the Eureka Server service discovery, make HTTP requests to http://<app_name>
where app_name
is the value of spring.application.name
of the target app. For example, the following code calls the planet-weather-provider
service:
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]),
};
}
This article shows how to prepare an existing Java Spring application for deployment to Azure Spring Apps. If configured properly, Azure Spring Apps provides robust services to monitor, scale, and update your Java Spring application.
Before running this example, you can try the basic quickstart.
Other examples explain how to deploy an application to Azure Spring Apps when the POM file is configured.
This article explains the required dependencies and how to add them to the POM file.
For details, see the Java runtime and OS versions section of the Azure Spring Apps FAQ.
To prepare an existing Spring Boot application for deployment to Azure Spring Apps, include the Spring Boot and Spring Cloud dependencies in the application POM file as shown in the following sections.
Azure Spring Apps supports the latest Spring Boot or Spring Cloud major version starting from 30 days after its release. Azure Spring Apps supports the latest minor version as soon as it's released. You can get supported Spring Boot versions from Spring Boot Releases and Spring Cloud versions from Spring Cloud Releases.
The following table lists the supported Spring Boot and Spring Cloud combinations:
Spring Boot version | Spring Cloud version | End of support |
---|---|---|
3.2.x | 2023.0.x also known as Leyton | 2024-11-23 |
3.1.x | 2022.0.3+ also known as Kilburn | 2024-05-18 |
3.0.x | 2022.0.3+ also known as Kilburn | 2023-11-24 |
2.7.x | 2021.0.3+ also known as Jubilee | 2023-11-24 |
For more information, see the following pages:
To enable the built-in features of Azure Spring Apps from service registry to distributed tracing, you need to also include the following dependencies in your application. You can drop some of these dependencies if you don't need corresponding features for the specific apps.
To use the managed Azure Service Registry service, include the spring-cloud-starter-netflix-eureka-client
dependency in the pom.xml file as shown here:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
The endpoint of the Service Registry server is automatically injected as environment variables with your app. Applications can register themselves with the Service Registry server and discover other dependent applications.
Add the following annotation to the application source code.
@EnableDiscoveryClient
For example, see the piggymetrics application from earlier examples:
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);
}
}
To enable distributed configuration, include the following spring-cloud-config-client
dependency in the dependencies section of your pom.xml file:
<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>
Advarsel
Don't specify spring.cloud.config.enabled=false
in your bootstrap configuration. Otherwise, your application stops working with Config Server.
Include the spring-boot-starter-actuator
dependency in the dependencies section of your pom.xml file as shown here:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
Metrics are periodically pulled from the JMX endpoints. You can visualize the metrics by using the Azure portal.
Advarsel
You must specify spring.jmx.enabled=true
in your configuration property. Otherwise, metrics can't be visualized in the Azure portal.
In this article, you learned how to configure your Java Spring application for deployment to Azure Spring Apps. To learn how to set up a Config Server instance, see Set up a Config Server instance.
More samples are available on GitHub: Azure Spring Apps Samples.
Hendelser
17. mars, 21 - 21. mars, 10
Bli med i meetup-serien for å bygge skalerbare AI-løsninger basert på virkelige brukstilfeller med andre utviklere og eksperter.
Registrer deg nåOpplæring
Modul
Deploy a Spring Boot app to Azure Container Apps - Training
In this module, you learn how to deploy a Spring Boot app to Azure Container Apps. You deploy a Spring Boot application to Azure Container Apps and maintain it using the built-in Java stack.
Sertifisering
Microsoft Certified: Azure for SAP Workloads Specialty - Certifications
Demonstrere planlegging, overføring og drift av en SAP-løsning på Microsoft Azure mens du bruker Azure-ressurser.
Dokumentasjon
Quickstart - Build and Deploy Apps to Azure Spring Apps
Describes app deployment to Azure Spring Apps.
Quickstart: Set Up Spring Cloud Config Server for Azure Spring Apps
Describes the setup of Azure Spring Apps Config Server for app deployment.
App and Deployment in Azure Spring Apps
Explains the distinction between application and deployment in Azure Spring Apps.