Share via


az spring app

Note

This reference is part of the spring extension for the Azure CLI (version 2.56.0 or higher). The extension will automatically install the first time you run an az spring app command. Learn more about extensions.

Commands to manage apps in Azure Spring Apps.

Commands

Name Description Type Status
az spring app append-loaded-public-certificate

Append a new loaded public certificate to an app in the Azure Spring Apps.

Extension GA
az spring app append-persistent-storage

Append a new persistent storage to an app in the Azure Spring Apps.

Extension GA
az spring app binding

Commands to manage bindings with Azure Data Services, you need to manually restart app to make settings take effect.

Extension Deprecated
az spring app binding cosmos

Commands to manage Azure Cosmos DB bindings.

Extension Deprecated
az spring app binding cosmos add

Bind an Azure Cosmos DB with the app.

Extension Deprecated
az spring app binding cosmos update

Update an Azure Cosmos DB service binding of the app.

Extension Deprecated
az spring app binding list

List all service bindings in an app.

Extension Deprecated
az spring app binding mysql

Commands to manage Azure Database for MySQL bindings.

Extension Deprecated
az spring app binding mysql add

Bind an Azure Database for MySQL with the app.

Extension Deprecated
az spring app binding mysql update

Update an Azure Database for MySQL service binding of the app.

Extension Deprecated
az spring app binding redis

Commands to manage Azure Cache for Redis bindings.

Extension Deprecated
az spring app binding redis add

Bind an Azure Cache for Redis with the app.

Extension Deprecated
az spring app binding redis update

Update an Azure Cache for Redis service binding of the app.

Extension Deprecated
az spring app binding remove

Remove a service binding of the app.

Extension Deprecated
az spring app binding show

Show the details of a service binding.

Extension Deprecated
az spring app connect

Connect to the interactive shell of an app instance for troubleshooting'.

Extension GA
az spring app create

Create a new app with a default deployment in the Azure Spring Apps instance.

Extension GA
az spring app custom-domain

Commands to manage custom domains.

Extension GA
az spring app custom-domain bind

Bind a custom domain with the app.

Extension GA
az spring app custom-domain list

List all custom domains of the app.

Extension GA
az spring app custom-domain show

Show details of a custom domain.

Extension GA
az spring app custom-domain unbind

Unbind a custom-domain of the app.

Extension GA
az spring app custom-domain update

Update a custom domain of the app.

Extension GA
az spring app delete

Delete an app in the Azure Spring Apps.

Extension GA
az spring app deploy

Deploy source code or pre-built binary to an app and update related configurations.

Extension GA
az spring app deployment

Commands to manage life cycle of deployments of an app in Azure Spring Apps. More operations on deployments can be done on app level with parameter --deployment. e.g. az spring app deploy --deployment .

Extension GA
az spring app deployment create

Create a staging deployment for the app. To deploy code or update setting to an existing deployment, use az spring app deploy/update --deployment <staging deployment>.

Extension GA
az spring app deployment delete

Delete a deployment of the app.

Extension GA
az spring app deployment generate-heap-dump

Generate a heap dump of your target app instance to given file path.

Extension GA
az spring app deployment generate-thread-dump

Generate a thread dump of your target app instance to given file path.

Extension GA
az spring app deployment list

List all deployments in an app.

Extension GA
az spring app deployment show

Show details of a deployment.

Extension GA
az spring app deployment start-jfr

Start a JFR on your target app instance to given file path.

Extension GA
az spring app disable-remote-debugging

Disable remote debugging for a deployment.

Extension GA
az spring app enable-remote-debugging

Enable remote debugging for a deployment.

Extension GA
az spring app get-remote-debugging-config

Get the remote debugging configuration of a deployment.

Extension GA
az spring app identity

Manage an app's managed identities.

Extension GA
az spring app identity assign

Enable system-assigned managed identity or assign user-assigned managed identities to an app.

Extension GA
az spring app identity force-set

Force set managed identities on an app.

Extension GA
az spring app identity remove

Remove managed identity from an app.

Extension GA
az spring app identity show

Display app's managed identity info.

Extension GA
az spring app list

List all apps in the Azure Spring Apps.

Extension GA
az spring app log

Commands to tail app instances logs with multiple options. If the app has only one instance, the instance name is optional.

Extension Deprecated
az spring app log tail

Show logs of an app instance, logs will be streamed when setting '-f/--follow'.

Extension Deprecated
az spring app logs

Show logs of an app instance, logs will be streamed when setting '-f/--follow'.

Extension GA
az spring app restart

Restart instances of the app, default to production deployment.

Extension GA
az spring app scale

Manually scale an app or its deployments.

Extension GA
az spring app set-deployment

Set production deployment of an app.

Extension GA
az spring app show

Show the details of an app in the Azure Spring Apps.

Extension GA
az spring app show-deploy-log

Show build log of the last deploy, only apply to source code deploy, default to production deployment.

Extension GA
az spring app start

Start instances of the app, default to production deployment.

Extension GA
az spring app stop

Stop instances of the app, default to production deployment.

Extension GA
az spring app unset-deployment

Unset production deployment of an app.

Extension GA
az spring app update

Update configurations of an app.

Extension GA

az spring app append-loaded-public-certificate

Append a new loaded public certificate to an app in the Azure Spring Apps.

az spring app append-loaded-public-certificate --certificate-name
                                               --load-trust-store {false, true}
                                               --name
                                               --resource-group
                                               --service

Examples

Append a new loaded public certificate to an app.

az spring app append-loaded-public-certificate --name MyApp --service MyCluster --resource-group MyResourceGroup --certificate-name MyCertName --load-trust-store true

Required Parameters

--certificate-name

Name of the certificate to be appended.

--load-trust-store

If true, the certificate would be loaded into trust store for Java applications.

Accepted values: false, true
Default value: False
--name -n

The name of app running in the specified Azure Spring Apps instance.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--service -s

The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=.

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az spring app append-persistent-storage

Append a new persistent storage to an app in the Azure Spring Apps.

az spring app append-persistent-storage --mount-path
                                        --name
                                        --persistent-storage-type
                                        --resource-group
                                        --service
                                        --storage-name
                                        [--enable-sub-path {false, true}]
                                        [--mount-options]
                                        [--read-only {false, true}]
                                        [--share-name]

Examples

Append a new persistent storage to an app.

az spring app append-persistent-storage --persistent-storage-type AzureFileVolume --share-name MyShareName --mount-path /MyMountPath --storage-name MyStorageName -n MyApp -g MyResourceGroup -s MyService

Required Parameters

--mount-path

The path for the persistent storage volume to be mounted.

--name -n

The name of app running in the specified Azure Spring Apps instance.

--persistent-storage-type -t

Type of the persistent storage volumed.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--service -s

The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=.

--storage-name

Name of the storage resource you created in Azure Spring Apps.

Optional Parameters

--enable-sub-path

[optional] If true, will mount in separate subdirectories with the same path for each app instance .

Accepted values: false, true
Default value: False
--mount-options

[optional] The mount options for the persistent storage volume.

--read-only

[optional] If true, the persistent storage volume will be read only.

Accepted values: false, true
Default value: False
--share-name

The name of the pre-created file share. ShareName should be provided only if the type of the persistent storage volume is AzureFileVolume.

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az spring app connect

Connect to the interactive shell of an app instance for troubleshooting'.

az spring app connect --name
                      --resource-group
                      --service
                      [--deployment]
                      [--instance]
                      [--shell-cmd]

Required Parameters

--name -n

The name of app running in the specified Azure Spring Apps instance.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--service -s

The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=.

Optional Parameters

--deployment -d

Name of an existing deployment of the app. Default to the production deployment if not specified.

--instance -i

Name of an existing instance of the deployment.

--shell-cmd

The shell command to run when connect to the app instance.

Default value: /bin/sh
Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az spring app create

Create a new app with a default deployment in the Azure Spring Apps instance.

az spring app create --name
                     --resource-group
                     --service
                     [--assign-endpoint {false, true}]
                     [--assign-identity {false, true}]
                     [--assign-public-endpoint {false, true}]
                     [--backend-protocol {Default, GRPC}]
                     [--bind-acs]
                     [--bind-config-server]
                     [--bind-service-registry]
                     [--client-auth-certs]
                     [--cpu]
                     [--deployment-name]
                     [--disable-probe {false, true}]
                     [--disable-tea {false, true}]
                     [--enable-liveness-probe {false, true}]
                     [--enable-persistent-storage {false, true}]
                     [--enable-readiness-probe {false, true}]
                     [--enable-startup-probe {false, true}]
                     [--env]
                     [--grace-period]
                     [--ingress-read-timeout]
                     [--ingress-send-timeout]
                     [--instance-count]
                     [--jvm-options]
                     [--liveness-probe-config]
                     [--loaded-public-certificate-file]
                     [--max-replicas]
                     [--memory]
                     [--min-replicas]
                     [--persistent-storage]
                     [--readiness-probe-config]
                     [--runtime-version {Java_11, Java_17, Java_21, Java_8, NetCore_31}]
                     [--scale-rule-auth]
                     [--scale-rule-http-concurrency]
                     [--scale-rule-metadata]
                     [--scale-rule-name]
                     [--scale-rule-type]
                     [--secrets]
                     [--session-affinity {Cookie, None}]
                     [--session-max-age]
                     [--startup-probe-config]
                     [--system-assigned {false, true}]
                     [--user-assigned]
                     [--workload-profile]

Examples

Create an app with the default configuration.

az spring app create -n MyApp -s MyCluster -g MyResourceGroup

Create an public accessible app with 3 instances and 2 cpu cores and 3 GB of memory per instance.

az spring app create -n MyApp -s MyCluster -g MyResourceGroup --assign-endpoint true --cpu 2 --memory 3 --instance-count 3

Create an app binding to the default Service Registry, Application Configuration Service and Spring Cloud Config Server.

az spring app create -n MyApp -s MyCluster -g MyResourceGroup --bind-service-registry --bind-application-configuration-service --bind-config-server

Required Parameters

--name -n

The name of app running in the specified Azure Spring Apps instance.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--service -s

The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=.

Optional Parameters

--assign-endpoint

If true, assign endpoint URL for direct access.

Accepted values: false, true
Default value: False
--assign-identity
Deprecated

Option '--assign-identity' has been deprecated and will be removed in a future release. Use '--system-assigned' instead.

Enable system-assigned managed identity.

Accepted values: false, true
--assign-public-endpoint

If true, assign endpoint URL which could be accessed out of virtual network for vnet injection instance app.

Accepted values: false, true
--backend-protocol

Ingress backend protocol of app. Default means HTTP/HTTPS/WebSocket.

Accepted values: Default, GRPC
--bind-acs --bind-application-configuration-service

Bind the app to the default Application Configuration Service automatically.

--bind-config-server --bind-cs

Bind the app to the default Config Server automatically.

--bind-service-registry --bind-sr

Bind the app to the default Service Registry automatically.

--client-auth-certs

A space-separated string containing resource ids of certificates for client authentication. e.g: --client_auth_certs='id0 id1'. Use '' to clear existing certificates.

--cpu

CPU resource quantity. Should be 250m, 500m, 750m, 1250m or number of CPU cores.

--deployment-name

Name of the default deployment.

Default value: default
--disable-probe

If true, disable the liveness and readiness probe.

Accepted values: false, true
--disable-tea --disable-test-endpoint-auth

If true, disable authentication of the app's test endpoint.

Accepted values: false, true
Default value: False
--enable-liveness-probe
Preview

If false, will disable the liveness probe of the app instance.

Accepted values: false, true
--enable-persistent-storage --enable-ps

If true, mount a 50G (Standard Pricing tier) or 1G (Basic Pricing tier) disk with default path.

Accepted values: false, true
--enable-readiness-probe
Preview

If false, will disable the readiness probe of the app instance.

Accepted values: false, true
--enable-startup-probe
Preview

If false, will disable the startup probe of the app instance.

Accepted values: false, true
--env

Space-separated environment variables in 'key[=value]' format.

--grace-period --termination-grace-period-seconds
Preview

Optional duration in seconds the app instance needs to terminate gracefully.

--ingress-read-timeout

Ingress read timeout value in seconds. Default 300, minimum is 1, maximum is 1800.

--ingress-send-timeout

Ingress send timeout value in seconds. Default 60, minimum is 1, maximum is 1800.

--instance-count

Number of instance.

Default value: 1
--jvm-options

A string containing jvm options, use '=' instead of ' ' for this argument to avoid bash parse error, eg: --jvm-options='-Xms1024m -Xmx2048m'.

--liveness-probe-config
Preview

A json file path indicates the liveness probe config.

--loaded-public-certificate-file -f

A json file path indicates the certificates which would be loaded to app.

--max-replicas

The maximum number of replicas.

Default value: 10
--memory

Memory resource quantity. Should be 512Mi, 1536Mi, 2560Mi, 3584Mi or #Gi, e.g., 1Gi, 3Gi.

--min-replicas

The minimum number of replicas.

Default value: 1
--persistent-storage

A json file path for the persistent storages to be mounted to the app.

--readiness-probe-config
Preview

A json file path indicates the readiness probe config.

--runtime-version

Runtime version of used language.

Accepted values: Java_11, Java_17, Java_21, Java_8, NetCore_31
--scale-rule-auth --sra

Scale rule auth parameters. Format "=" and separated by space.

--scale-rule-http-concurrency --scale-rule-tcp-concurrency --srhc --srtc

The maximum number of concurrent requests before scale out. Only supported for http and tcp scale rules.

--scale-rule-metadata --srm

Scale rule metadata. Format "key[=value]" and separated by space.

--scale-rule-name --srn

The name of the scale rule.

--scale-rule-type --srt

The type of the scale rule. Default: http.

--secrets

A list of secret(s) for the app. Format "key[=value]" and separated by space.

--session-affinity

Ingress session affinity of app.

Accepted values: Cookie, None
--session-max-age

Time until the cookie expires. Minimum is 1 second, maximum is 7 days. If set to 0, the expiration period is equal to the browser session period.

--startup-probe-config
Preview

A json file path indicates the startup probe config.

--system-assigned

Enable system-assigned managed identity.

Accepted values: false, true
--user-assigned
Preview

Space-separated user-assigned managed identity resource IDs to assgin to an app.

--workload-profile

The workload profile used in the managed environment. Default to "Consumption".

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az spring app delete

Delete an app in the Azure Spring Apps.

az spring app delete --name
                     --resource-group
                     --service

Required Parameters

--name -n

The name of app running in the specified Azure Spring Apps instance.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--service -s

The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=.

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az spring app deploy

Deploy source code or pre-built binary to an app and update related configurations.

az spring app deploy --name
                     --resource-group
                     --service
                     [--apms]
                     [--artifact-path]
                     [--build-certificates]
                     [--build-cpu]
                     [--build-env]
                     [--build-memory]
                     [--builder]
                     [--config-file-patterns]
                     [--container-args]
                     [--container-command]
                     [--container-image]
                     [--container-registry]
                     [--custom-actuator-path]
                     [--custom-actuator-port]
                     [--deployment]
                     [--disable-app-log]
                     [--disable-probe {false, true}]
                     [--disable-validation {false, true}]
                     [--enable-liveness-probe {false, true}]
                     [--enable-readiness-probe {false, true}]
                     [--enable-startup-probe {false, true}]
                     [--env]
                     [--grace-period]
                     [--jvm-options]
                     [--language-framework]
                     [--liveness-probe-config]
                     [--main-entry]
                     [--no-wait]
                     [--readiness-probe-config]
                     [--registry-password]
                     [--registry-username]
                     [--runtime-version {Java_11, Java_17, Java_21, Java_8, NetCore_31}]
                     [--server-version]
                     [--source-path]
                     [--startup-probe-config]
                     [--target-module]
                     [--version]

Examples

Deploy source code to an app. This will pack current directory, build binary with Pivotal Build Service and then deploy to the app.

az spring app deploy -n MyApp -s MyCluster -g MyResourceGroup --source-path

Deploy a pre-built jar to an app with jvm options and environment variables.

az spring app deploy -n MyApp -s MyCluster -g MyResourceGroup --artifact-path app.jar --jvm-options="-XX:+UseG1GC -XX:+UseStringDeduplication" --env foo=bar

Deploy a pre-built war to an app with server version, jvm options and environment variables (Standard and Basic Tiers Only).

az spring app deploy -n MyApp -s MyCluster -g MyResourceGroup --artifact-path app.war --server-version Tomcat_10 --jvm-options="-XX:+UseG1GC -XX:+UseStringDeduplication" --env foo=bar

Deploy source code to a specific deployment of an app.

az spring app deploy -n MyApp -s MyCluster -g MyResourceGroup -d green-deployment --source-path

Deploy a container image on Docker Hub to an app.

az spring app deploy -n MyApp -s MyCluster -g MyResourceGroup --container-image contoso/your-app:v1

Deploy a container image on a private registry to an app.

az spring app deploy -n MyApp -s MyCluster -g MyResourceGroup --container-image contoso/your-app:v1 --container-registry myacr.azurecr.io --registry-username <username> --registry-password <password>

Deploy with Application Configuration Service config file patterns to an app.

az spring app deploy -n MyApp -s MyCluster -g MyResourceGroup --config-file-patterns MyPatterns --artifact-path app.jar

Deploy a pre-built jar to an app with build env (For Enterprise tier only).

az spring app deploy -n MyApp -s MyCluster -g MyResourceGroup --artifact-path app.jar --build-env BP_JVM_VERSION=11.*

Required Parameters

--name -n

The name of app running in the specified Azure Spring Apps instance.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--service -s

The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=.

Optional Parameters

--apms

(Enterprise Tier Only) Space-separated APM names.

--artifact-path

Deploy the specified pre-built artifact (jar, war or netcore zip, war is in public preview).

--build-certificates

(Enterprise Tier Only) Space-separated certificate names, the certificates are used during build time.

--build-cpu

CPU resource quantity. Should be 500m or number of CPU cores.

Default value: 1
--build-env

Space-separated environment variables in 'key[=value]' format.

--build-memory

Memory resource quantity. Should be 512Mi or #Gi, e.g., 1Gi, 3Gi.

Default value: 2Gi
--builder

(Enterprise Tier Only) Build service builder used to build the executable.

Default value: default
--config-file-patterns

(Enterprise Tier Only) Config file patterns separated with ',' to decide which patterns of Application Configuration Service will be used. Use '""' to clear existing configurations.

--container-args

The arguments of the container image.

--container-command

The command of the container image.

--container-image

The container image tag.

--container-registry

The registry of the container image.

Default value: docker.io
--custom-actuator-path

(Enterprise Tier Only) Custom actuator path for the app. Default to "/actuator".

--custom-actuator-port

(Enterprise Tier Only) Custom actuator port for the app. Default to 8080.

--deployment -d

Name of an existing deployment of the app. Default to the production deployment if not specified.

--disable-app-log

Do not print application logs when deploy application.

Default value: False
--disable-probe

If true, disable the liveness and readiness probe.

Accepted values: false, true
--disable-validation

If true, disable jar validation.

Accepted values: false, true
--enable-liveness-probe
Preview

If false, will disable the liveness probe of the app instance.

Accepted values: false, true
--enable-readiness-probe
Preview

If false, will disable the readiness probe of the app instance.

Accepted values: false, true
--enable-startup-probe
Preview

If false, will disable the startup probe of the app instance.

Accepted values: false, true
--env

Space-separated environment variables in 'key[=value]' format.

--grace-period --termination-grace-period-seconds
Preview

Optional duration in seconds the app instance needs to terminate gracefully.

--jvm-options

A string containing jvm options, use '=' instead of ' ' for this argument to avoid bash parse error, eg: --jvm-options='-Xms1024m -Xmx2048m'.

--language-framework

Language framework of the container image uploaded. Supported values: "springboot", "".

--liveness-probe-config
Preview

A json file path indicates the liveness probe config.

--main-entry -m

A string containing the path to the .NET executable relative to zip root.

--no-wait

Do not wait for the long-running operation to finish.

Default value: False
--readiness-probe-config
Preview

A json file path indicates the readiness probe config.

--registry-password

The password of the container registry.

--registry-username

The username of the container registry.

--runtime-version

Runtime version of used language.

Accepted values: Java_11, Java_17, Java_21, Java_8, NetCore_31
--server-version

(Standard and Basic Tiers Only) Tomcat server version. List all supported server versions by running az spring list-support-server-versions -o table. This feature is in public preview.

--source-path

Deploy the specified source folder. The folder will be packed into tar, uploaded, and built using kpack. Default to the current folder if no value provided.

--startup-probe-config
Preview

A json file path indicates the startup probe config.

--target-module

Child module to be deployed, required for multiple jar packages built from source code.

--version

Deployment version, keep unchanged if not set.

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az spring app disable-remote-debugging

Disable remote debugging for a deployment.

az spring app disable-remote-debugging --name
                                       --resource-group
                                       --service
                                       [--deployment]
                                       [--no-wait]

Required Parameters

--name -n

The name of app running in the specified Azure Spring Apps instance.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--service -s

The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=.

Optional Parameters

--deployment -d

Name of an existing deployment of the app. Default to the production deployment if not specified.

--no-wait

Do not wait for the long-running operation to finish.

Default value: False
Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az spring app enable-remote-debugging

Enable remote debugging for a deployment.

az spring app enable-remote-debugging --name
                                      --resource-group
                                      --service
                                      [--deployment]
                                      [--no-wait]
                                      [--port]

Required Parameters

--name -n

The name of app running in the specified Azure Spring Apps instance.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--service -s

The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=.

Optional Parameters

--deployment -d

Name of an existing deployment of the app. Default to the production deployment if not specified.

--no-wait

Do not wait for the long-running operation to finish.

Default value: False
--port -p

Remote debugging port, the value should be from 1024 to 65536, default value is 5005.

Default value: 5005
Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az spring app get-remote-debugging-config

Get the remote debugging configuration of a deployment.

az spring app get-remote-debugging-config --name
                                          --resource-group
                                          --service
                                          [--deployment]

Required Parameters

--name -n

The name of app running in the specified Azure Spring Apps instance.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--service -s

The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=.

Optional Parameters

--deployment -d

Name of an existing deployment of the app. Default to the production deployment if not specified.

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az spring app list

List all apps in the Azure Spring Apps.

az spring app list --resource-group
                   --service

Examples

Query status of persistent storage of all apps

az spring app list -s MyCluster -g MyResourceGroup -o json --query '[].{Name:name, PersistentStorage:properties.persistentDisk}'

Required Parameters

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--service -s

The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=.

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az spring app logs

Show logs of an app instance, logs will be streamed when setting '-f/--follow'.

az spring app logs --name
                   --resource-group
                   --service
                   [--deployment]
                   [--follow]
                   [--format-json]
                   [--instance]
                   [--limit]
                   [--lines]
                   [--since]

Required Parameters

--name -n

The name of app running in the specified Azure Spring Apps instance.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--service -s

The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=.

Optional Parameters

--deployment -d

Name of an existing deployment of the app. Default to the production deployment if not specified.

--follow -f

Specify if the logs should be streamed.

Default value: False
--format-json

Format JSON logs if structured log is enabled.

--instance -i

Name of an existing instance of the deployment.

--limit

Maximum kilobytes of logs to return. Ceiling number is 2048.

Default value: 2048
--lines

Number of lines to show. Maximum is 10000.

Default value: 50
--since

Only return logs newer than a relative duration like 5s, 2m, or 1h. Maximum is 1h.

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az spring app restart

Restart instances of the app, default to production deployment.

az spring app restart --name
                      --resource-group
                      --service
                      [--deployment]
                      [--no-wait]

Required Parameters

--name -n

The name of app running in the specified Azure Spring Apps instance.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--service -s

The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=.

Optional Parameters

--deployment -d

Name of an existing deployment of the app. Default to the production deployment if not specified.

--no-wait

Do not wait for the long-running operation to finish.

Default value: False
Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az spring app scale

Manually scale an app or its deployments.

az spring app scale --name
                    --resource-group
                    --service
                    [--cpu]
                    [--deployment]
                    [--instance-count]
                    [--max-replicas]
                    [--memory]
                    [--min-replicas]
                    [--no-wait]
                    [--scale-rule-auth]
                    [--scale-rule-http-concurrency]
                    [--scale-rule-metadata]
                    [--scale-rule-name]
                    [--scale-rule-type]

Examples

Scale up an app to 4 cpu cores and 8 Gb of memory per instance.

az spring app scale -n MyApp -s MyCluster -g MyResourceGroup --cpu 3 --memory 8

Scale out a deployment of the app to 5 instances.

az spring app scale -n MyApp -s MyCluster -g MyResourceGroup -d green-deployment --instance-count 5

Required Parameters

--name -n

The name of app running in the specified Azure Spring Apps instance.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--service -s

The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=.

Optional Parameters

--cpu

CPU resource quantity. Should be 250m, 500m, 750m, 1250m or number of CPU cores.

--deployment -d

Name of an existing deployment of the app. Default to the production deployment if not specified.

--instance-count

Number of instance.

--max-replicas

The maximum number of replicas.

Default value: 10
--memory

Memory resource quantity. Should be 512Mi, 1536Mi, 2560Mi, 3584Mi or #Gi, e.g., 1Gi, 3Gi.

--min-replicas

The minimum number of replicas.

Default value: 1
--no-wait

Do not wait for the long-running operation to finish.

Default value: False
--scale-rule-auth --sra

Scale rule auth parameters. Format "=" and separated by space.

--scale-rule-http-concurrency --scale-rule-tcp-concurrency --srhc --srtc

The maximum number of concurrent requests before scale out. Only supported for http and tcp scale rules.

--scale-rule-metadata --srm

Scale rule metadata. Format "key[=value]" and separated by space.

--scale-rule-name --srn

The name of the scale rule.

--scale-rule-type --srt

The type of the scale rule. Default: http.

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az spring app set-deployment

Set production deployment of an app.

az spring app set-deployment --deployment
                             --name
                             --resource-group
                             --service
                             [--no-wait]

Examples

Swap a staging deployment of an app to production.

az spring app set-deployment -d green-deployment -n MyApp -s MyCluster -g MyResourceGroup

Required Parameters

--deployment -d

Name of an existing deployment of the app.

--name -n

The name of app running in the specified Azure Spring Apps instance.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--service -s

The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=.

Optional Parameters

--no-wait

Do not wait for the long-running operation to finish.

Default value: False
Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az spring app show

Show the details of an app in the Azure Spring Apps.

az spring app show --name
                   --resource-group
                   --service

Required Parameters

--name -n

The name of app running in the specified Azure Spring Apps instance.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--service -s

The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=.

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az spring app show-deploy-log

Show build log of the last deploy, only apply to source code deploy, default to production deployment.

az spring app show-deploy-log --name
                              --resource-group
                              --service
                              [--deployment]

Required Parameters

--name -n

The name of app running in the specified Azure Spring Apps instance.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--service -s

The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=.

Optional Parameters

--deployment -d

Name of an existing deployment of the app. Default to the production deployment if not specified.

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az spring app start

Start instances of the app, default to production deployment.

az spring app start --name
                    --resource-group
                    --service
                    [--deployment]
                    [--no-wait]

Required Parameters

--name -n

The name of app running in the specified Azure Spring Apps instance.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--service -s

The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=.

Optional Parameters

--deployment -d

Name of an existing deployment of the app. Default to the production deployment if not specified.

--no-wait

Do not wait for the long-running operation to finish.

Default value: False
Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az spring app stop

Stop instances of the app, default to production deployment.

az spring app stop --name
                   --resource-group
                   --service
                   [--deployment]
                   [--no-wait]

Required Parameters

--name -n

The name of app running in the specified Azure Spring Apps instance.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--service -s

The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=.

Optional Parameters

--deployment -d

Name of an existing deployment of the app. Default to the production deployment if not specified.

--no-wait

Do not wait for the long-running operation to finish.

Default value: False
Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az spring app unset-deployment

Unset production deployment of an app.

az spring app unset-deployment --name
                               --resource-group
                               --service
                               [--no-wait]

Examples

Swap the production deployment of an app to staging if the app has the production deployment.

az spring app unset-deployment -n MyApp -s MyCluster -g MyResourceGroup

Required Parameters

--name -n

The name of app running in the specified Azure Spring Apps instance.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--service -s

The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=.

Optional Parameters

--no-wait

Do not wait for the long-running operation to finish.

Default value: False
Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.

az spring app update

Update configurations of an app.

az spring app update --name
                     --resource-group
                     --service
                     [--assign-endpoint {false, true}]
                     [--assign-public-endpoint {false, true}]
                     [--backend-protocol {Default, GRPC}]
                     [--client-auth-certs]
                     [--config-file-patterns]
                     [--custom-actuator-path]
                     [--custom-actuator-port]
                     [--deployment]
                     [--disable-probe {false, true}]
                     [--disable-tea {false, true}]
                     [--enable-ingress-to-app-tls {false, true}]
                     [--enable-liveness-probe {false, true}]
                     [--enable-persistent-storage {false, true}]
                     [--enable-readiness-probe {false, true}]
                     [--enable-startup-probe {false, true}]
                     [--env]
                     [--grace-period]
                     [--https-only {false, true}]
                     [--ingress-read-timeout]
                     [--ingress-send-timeout]
                     [--jvm-options]
                     [--liveness-probe-config]
                     [--loaded-public-certificate-file]
                     [--main-entry]
                     [--no-wait]
                     [--persistent-storage]
                     [--readiness-probe-config]
                     [--runtime-version {Java_11, Java_17, Java_21, Java_8, NetCore_31}]
                     [--secrets]
                     [--session-affinity {Cookie, None}]
                     [--session-max-age]
                     [--startup-probe-config]
                     [--workload-profile]

Examples

Add an environment variable for the app.

az spring app update -n MyApp -s MyCluster -g MyResourceGroup --env foo=bar

Required Parameters

--name -n

The name of app running in the specified Azure Spring Apps instance.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--service -s

The name of Azure Spring Apps instance, you can configure the default service using az configure --defaults spring=.

Optional Parameters

--assign-endpoint

If true, assign endpoint URL for direct access.

Accepted values: false, true
--assign-public-endpoint

If true, assign endpoint URL which could be accessed out of virtual network for vnet injection instance app.

Accepted values: false, true
--backend-protocol

Ingress backend protocol of app. Default means HTTP/HTTPS/WebSocket.

Accepted values: Default, GRPC
--client-auth-certs

A space-separated string containing resource ids of certificates for client authentication. e.g: --client_auth_certs='id0 id1'. Use '' to clear existing certificates.

--config-file-patterns

(Enterprise Tier Only) Config file patterns separated with ',' to decide which patterns of Application Configuration Service will be used. Use '""' to clear existing configurations.

--custom-actuator-path

(Enterprise Tier Only) Custom actuator path for the app. Default to "/actuator".

--custom-actuator-port

(Enterprise Tier Only) Custom actuator port for the app. Default to 8080.

--deployment -d

Name of an existing deployment of the app. Default to the production deployment if not specified.

--disable-probe

If true, disable the liveness and readiness probe.

Accepted values: false, true
--disable-tea --disable-test-endpoint-auth

If true, disable authentication of the app's test endpoint.

Accepted values: false, true
--enable-ingress-to-app-tls

If true, enable ingress to app tls.

Accepted values: false, true
--enable-liveness-probe
Preview

If false, will disable the liveness probe of the app instance.

Accepted values: false, true
--enable-persistent-storage --enable-ps

If true, mount a 50G (Standard Pricing tier) or 1G (Basic Pricing tier) disk with default path.

Accepted values: false, true
--enable-readiness-probe
Preview

If false, will disable the readiness probe of the app instance.

Accepted values: false, true
--enable-startup-probe
Preview

If false, will disable the startup probe of the app instance.

Accepted values: false, true
--env

Space-separated environment variables in 'key[=value]' format.

--grace-period --termination-grace-period-seconds
Preview

Optional duration in seconds the app instance needs to terminate gracefully.

--https-only

If true, access app via https.

Accepted values: false, true
--ingress-read-timeout

Ingress read timeout value in seconds. Default 300, minimum is 1, maximum is 1800.

--ingress-send-timeout

Ingress send timeout value in seconds. Default 60, minimum is 1, maximum is 1800.

--jvm-options

A string containing jvm options, use '=' instead of ' ' for this argument to avoid bash parse error, eg: --jvm-options='-Xms1024m -Xmx2048m'.

--liveness-probe-config
Preview

A json file path indicates the liveness probe config.

--loaded-public-certificate-file -f

A json file path indicates the certificates which would be loaded to app.

--main-entry -m

The path to the .NET executable relative to zip root.

--no-wait

Do not wait for the long-running operation to finish.

Default value: False
--persistent-storage

A json file path for the persistent storages to be mounted to the app.

--readiness-probe-config
Preview

A json file path indicates the readiness probe config.

--runtime-version

Runtime version of used language.

Accepted values: Java_11, Java_17, Java_21, Java_8, NetCore_31
--secrets

A list of secret(s) for the app. Format "key[=value]" and separated by space.

--session-affinity

Ingress session affinity of app.

Accepted values: Cookie, None
--session-max-age

Time until the cookie expires. Minimum is 1 second, maximum is 7 days. If set to 0, the expiration period is equal to the browser session period.

--startup-probe-config
Preview

A json file path indicates the startup probe config.

--workload-profile

The workload profile used in the managed environment. Default to "Consumption".

Global Parameters
--debug

Increase logging verbosity to show all debug logs.

--help -h

Show this help message and exit.

--only-show-errors

Only show errors, suppressing warnings.

--output -o

Output format.

Accepted values: json, jsonc, none, table, tsv, yaml, yamlc
Default value: json
--query

JMESPath query string. See http://jmespath.org/ for more information and examples.

--subscription

Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID.

--verbose

Increase logging verbosity. Use --debug for full debug logs.