azure-spring-boot-samples
azure-spring-boot-samples copied to clipboard
Spring Cloud Azure Samples
Spring Cloud Azure Samples
-
This is a sample project for demonstration purposes.
-
The project demonstrates how to use Spring Cloud Azure to develop applications.
-
The sample project contains 42 samples, and it still grows.
-
These samples are grouped by Azure services and Spring Cloud Azure libraries.
For example: Use Spring Integration with single Azure Service Bus namespace, it located in the path
/servicebus/spring-cloud-azure-starter-integration-servicebus
.servicebus: The Azure service that the sample integrated with.
spring-cloud-azure-starter-integration-servicebus: The dependency that the sample depends on.
Branch Policy
We use main
branch as the develop branch while setting the default branch as the latest released branch.
Branch Name | Default Branch | Branch type |
---|---|---|
main | false | develop branch |
spring-cloud-azure_v4.3.0 | true | release branch |
Current Branch Supported Versions
All Samples in This Repo
Azure Service | Spring Cloud Azure Starter Dependency | Sample Project |
---|---|---|
AAD | spring-cloud-azure-starter-active-directory-b2c:4.3.0 | aad-b2c-resource-server |
AAD | spring-cloud-azure-starter-active-directory-b2c:4.3.0 | aad-b2c-web-application |
AAD | spring-cloud-azure-starter-active-directory:4.3.0 | aad-resource-server-by-filter-stateless |
AAD | spring-cloud-azure-starter-active-directory:4.3.0 | aad-resource-server-by-filter |
AAD | spring-cloud-azure-starter-active-directory:4.3.0 | web-client-access-resource-server |
AAD | spring-cloud-azure-starter-active-directory:4.3.0 | aad-webapp-resource-server |
App Configuration | azure-spring-cloud-appconfiguration-config:2.8.0 | azure-spring-cloud-appconfiguration-config-sample |
App Configuration | azure-spring-cloud-appconfiguration-config:2.8.0 | azure-spring-cloud-appconfiguration-config-convert-sample-complete |
App Configuration | azure-spring-cloud-appconfiguration-config:2.8.0 | azure-spring-cloud-appconfiguration-config-convert-sample-initial |
App Configuration | azure-spring-cloud-feature-management:2.7.0 | azure-spring-cloud-feature-management-sample |
App Configuration | azure-spring-cloud-feature-management-web:2.7.0 | azure-spring-cloud-feature-management-web-sample |
App Configuration | [azure-spring-cloud-starter-appconfiguration-config:2.8.0] | azure-spring-cloud-starter-appconfiguration-config-sample |
App Configuration | spring-cloud-azure-starter-appconfiguration:4.3.0 | appconfiguration-client |
Cache | N/A | azure-spring-cloud-sample-cache |
Cloud Foundry | N/A | azure-cloud-foundry-service-sample |
Cosmos DB | azure-spring-data-cosmos:3.23.0 | cosmos-multi-database-multi-account |
Cosmos DB | azure-spring-data-cosmos:3.23.0 | cosmos-multi-database-single-account |
Cosmos DB | spring-cloud-azure-starter-data-cosmos:4.3.0 | spring-cloud-azure-data-cosmos-sample |
Cosmos DB | spring-cloud-azure-starter-cosmos:4.3.0 | spring-cloud-azure-cosmos-sample |
Event Hubs | N/A | spring-cloud-azure-sample-eventhubs-kafka |
Event Hubs | spring-cloud-azure-starter-integration-eventhubs:4.3.0 | eventhubs-integration |
Event Hubs | spring-cloud-azure-stream-binder-eventhubs:4.3.0 | eventhubs-binder |
Event Hubs | spring-cloud-azure-stream-binder-eventhubs:4.3.0 | eventhubs-multibinders |
Event Hubs | spring-cloud-azure-starter-eventhubs:4.3.0 | eventhubs-client |
Key Vault | azure-spring-boot-starter-keyvault-certificates:3.14.0 | keyvault-certificates-client-side |
Key Vault | azure-spring-boot-starter-keyvault-certificates:3.14.0 | keyvault-certificates-server-side |
Key Vault | run-with-command-line-server-side | |
Key Vault | run-with-command-line-client-side | |
Key Vault | spring-cloud-azure-starter-keyvault-secrets:4.3.0 | property-source |
Key Vault | spring-cloud-azure-starter-keyvault-secrets:4.3.0 | secret-client |
Service Bus | spring-cloud-azure-starter-servicebus-jms:4.3.0 | servicebus-jms-queue |
Service Bus | spring-cloud-azure-starter-servicebus-jms:4.3.0 | servicebus-jms-topic |
Service Bus | spring-cloud-azure-starter-integration-servicebus:4.3.0 | single-namespace |
Service Bus | spring-cloud-azure-starter-integration-servicebus:4.3.0 | multiple-namespaces |
Service Bus | spring-cloud-azure-stream-binder-servicebus:4.3.0 | servicebus-queue-binder |
Service Bus | spring-cloud-azure-stream-binder-servicebus:4.3.0 | servicebus-queue-multibinders |
Service Bus | spring-cloud-azure-stream-binder-servicebus:4.3.0 | servicebus-topic-binder |
Service Bus | spring-cloud-azure-stream-binder-servicebus:4.3.0 | servicebus-queue-binder-arm |
Storage | spring-cloud-azure-starter-storage-blob:4.3.0 | storage-blob-sample |
Storage | spring-cloud-azure-starter-storage-file-share:4.3.0 | storage-file-sample |
Storage | spring-cloud-azure-starter-storage-queue:4.3.0 | storage-queue-client |
Storage | spring-cloud-azure-starter-integration-storage-queue:4.3.0 | storage-queue-integration |
Storage | spring-cloud-azure-starter-integration-storage-queue:4.3.0 | storage-queue-operation |
Spring Native | spring-cloud-azure-native-configuration:4.0.0-beta.1 | storage-blob-native |
Running Samples With Terraform
With terraform scripts and DefaultAzureCredential, most samples in the project can be run with the same 4 steps below:
# Step1 Initialize Terraform
terraform -chdir=./terraform init
# Step2 Apply your Terraform Configuration
terraform -chdir=./terraform apply -auto-approve
# Step3 Export Environment Valuables
source ./terraform/setup_env.sh
# Step4 Run With Maven
mvn clean spring-boot:run
It supports both Bash environment and PowerShell environment.
Please refer to README.md under each sample for detailed information.
Run Samples Based On Spring Native
Two Maven profiles have been defined in this project to support compiling Spring applications to native executables: buildpack
and native
. The buildpack
profile will use Buildpacks and the native
profile will use Native Build Tools. Please follow the storage-blob-native sample for more details.