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.
- Latest
- 2024-05-01-preview
- 2024-01-01-preview
- 2023-12-01
- 2023-11-01-preview
- 2023-09-01-preview
- 2023-07-01-preview
- 2023-05-01-preview
- 2023-03-01-preview
- 2023-01-01-preview
- 2022-12-01
- 2022-11-01-preview
- 2022-09-01-preview
- 2022-05-01-preview
- 2022-04-01
- 2022-03-01-preview
- 2022-01-01-preview
- 2021-09-01-preview
- 2021-06-01-preview
- 2020-11-01-preview
- 2020-07-01
Remarques
Note : Azure Spring Apps Application Deployments (Microsoft.AppPlatform/Spring/apps/deployments) est désormais obsolète et sera retirée du service le 31-05-2028. Pour plus d’informations, consultez https://aka.ms/asaretirement.
Définition de ressource Bicep
Le type de ressource Spring/apps/deployments peut être déployé avec des opérations qui ciblent :
Resource groups - Voirc1resource groups
Pour obtenir la liste des propriétés modifiées dans chaque version de l’API, consultez journal des modifications.
Format de la ressource
Pour créer une ressource Microsoft.AppPlatform/Spring/apps/deployments, ajoutez le bicep suivant à votre modèle.
resource symbolicname 'Microsoft.AppPlatform/Spring/apps/deployments@2023-12-01' = {
parent: resourceSymbolicName
name: 'string'
properties: {
active: bool
deploymentSettings: {
addonConfigs: {
{customized property}: any(...)
}
apms: [
{
resourceId: 'string'
}
]
containerProbeSettings: {
disableProbe: bool
}
environmentVariables: {
{customized property}: 'string'
}
livenessProbe: {
disableProbe: bool
failureThreshold: int
initialDelaySeconds: int
periodSeconds: int
probeAction: {
type: 'string'
// For remaining properties, see ProbeAction objects
}
successThreshold: int
timeoutSeconds: int
}
readinessProbe: {
disableProbe: bool
failureThreshold: int
initialDelaySeconds: int
periodSeconds: int
probeAction: {
type: 'string'
// For remaining properties, see ProbeAction objects
}
successThreshold: int
timeoutSeconds: int
}
resourceRequests: {
cpu: 'string'
memory: 'string'
}
startupProbe: {
disableProbe: bool
failureThreshold: int
initialDelaySeconds: int
periodSeconds: int
probeAction: {
type: 'string'
// For remaining properties, see ProbeAction objects
}
successThreshold: int
timeoutSeconds: int
}
terminationGracePeriodSeconds: int
}
source: {
version: 'string'
type: 'string'
// For remaining properties, see UserSourceInfo objects
}
}
sku: {
capacity: int
name: 'string'
tier: 'string'
}
}
Objets ProbeAction
Définissez le type propriété pour spécifier le type d’objet.
Pour ExecAction, utilisez :
{
command: [
'string'
]
type: 'ExecAction'
}
Pour httpGetAction, utilisez :
{
path: 'string'
scheme: 'string'
type: 'HTTPGetAction'
}
Pour TCPSocketAction, utilisez :
{
type: 'TCPSocketAction'
}
Objets UserSourceInfo
Définissez le type propriété pour spécifier le type d’objet.
Pour BuildResult, utilisez :
{
buildResultId: 'string'
type: 'BuildResult'
}
Pour conteneur, utilisez :
{
customContainer: {
args: [
'string'
]
command: [
'string'
]
containerImage: 'string'
imageRegistryCredential: {
password: 'string'
username: 'string'
}
languageFramework: 'string'
server: 'string'
}
type: 'Container'
}
Pour jar, utilisez :
{
jvmOptions: 'string'
relativePath: 'string'
runtimeVersion: 'string'
type: 'Jar'
}
Pour NetCoreZip, utilisez :
{
netCoreMainEntryPath: 'string'
relativePath: 'string'
runtimeVersion: 'string'
type: 'NetCoreZip'
}
Pour Source, utilisez :
{
artifactSelector: 'string'
relativePath: 'string'
runtimeVersion: 'string'
type: 'Source'
}
Pour guerre, utilisez :
{
jvmOptions: 'string'
relativePath: 'string'
runtimeVersion: 'string'
serverVersion: 'string'
type: 'War'
}
Valeurs immobilières
Microsoft.AppPlatform/Spring/apps/deployments
| Name | Description | Value |
|---|---|---|
| name | Nom de la ressource | chaîne (obligatoire) |
| parent | Dans Bicep, vous pouvez spécifier la ressource parente d’une ressource enfant. Vous devez uniquement ajouter cette propriété lorsque la ressource enfant est déclarée en dehors de la ressource parente. Pour plus d’informations, voir Ressource enfant externe pour les parents. |
Nom symbolique de la ressource de type : Spring/apps |
| properties | Propriétés de la ressource de déploiement | DeploymentResourceProperties |
| sku | Référence SKU de la ressource de déploiement | Sku |
ApmReference
| Name | Description | Value |
|---|---|---|
| resourceId | ID de ressource de l’APM | chaîne (obligatoire) |
BuildResultUserSourceInfo
| Name | Description | Value |
|---|---|---|
| buildResultId | ID de ressource d’un résultat de build réussi existant sous la même instance Spring. | string |
| type | Type de la source chargée | 'BuildResult' (obligatoire) |
ContainerProbeSettings
| Name | Description | Value |
|---|---|---|
| disableProbe | Indique si la sonde liveness et readiness est désactivée | bool |
CustomContainer
| Name | Description | Value |
|---|---|---|
| args | Arguments du point d’entrée. Le CMD de l’image Docker est utilisé s’il n’est pas fourni. | string[] |
| command | Tableau de points d’entrée. Non exécuté dans un interpréteur de commandes. L’élément ENTRYPOINT de l’image Docker est utilisé s’il n’est pas fourni. | string[] |
| containerImage | Image conteneur du conteneur personnalisé. Il doit s’agir de la forme d'<référentiel>:<balise> sans le nom du serveur du Registre | string |
| imageRegistryCredential | Informations d’identification du Registre d’images | ImageRegistryCredential |
| languageFramework | Infrastructure de langage de l’image conteneur chargée. Valeurs prises en charge : « springboot », « », null. | string |
| server | Nom du registre qui contient l’image conteneur | string |
CustomContainerUserSourceInfo
| Name | Description | Value |
|---|---|---|
| customContainer | Charge utile de conteneur personnalisée | CustomContainer |
| type | Type de la source chargée | 'Contenant' (obligatoire) |
DeploymentResourceProperties
| Name | Description | Value |
|---|---|---|
| active | Indique si le déploiement est actif | bool |
| deploymentSettings | Paramètres de déploiement du déploiement | DeploymentSettings |
| source | Informations sources chargées du déploiement. | UserSourceInfo |
DeploymentSettings
| Name | Description | Value |
|---|---|---|
| addonConfigs | Collection de compléments | DeploymentSettingsAddonConfigs |
| apms | Collection d’ApmReferences | ApmReference[] |
| containerProbeSettings | Paramètres de sonde d’intégrité et de préparation du conteneur | ContainerProbeSettings |
| environmentVariables | Collection de variables d’environnement | DeploymentSettingsEnvironmentVariables |
| livenessProbe | Sonde périodique de la durée de vie de l’instance d’application. L’instance d’application est redémarrée si la sonde échoue. Plus d’informations : https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | Probe |
| readinessProbe | Sonde périodique de préparation du service App Instance. L’instance d’application est supprimée des points de terminaison de service en cas d’échec de la sonde. Plus d’informations : https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | Probe |
| resourceRequests | Quantité de ressources demandée pour le processeur et la mémoire requis. Il est recommandé d’utiliser ce champ pour représenter l’UC et la mémoire requises, l’ancien processeur de champ et memoryInGB sera déconseillé ultérieurement. | ResourceRequests |
| startupProbe | StartupProbe indique que l’instance d’application a correctement initialisé. Si elle est spécifiée, aucune autre sonde n’est exécutée tant que cela n’est pas terminé. Si cette sonde échoue, le pod est redémarré, comme si livenessProbe a échoué. Cela peut être utilisé pour fournir différents paramètres de sonde au début du cycle de vie d’une instance d’application, lorsqu’il peut prendre beaucoup de temps pour charger des données ou réchauffer un cache, par rapport à l’opération d’état stable. Cela ne peut pas être mis à jour. Plus d’informations : https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | Probe |
| terminationGracePeriodSeconds | Durée facultative en secondes, l’instance d’application doit s’arrêter correctement. Peut être diminué dans la demande de suppression. La valeur doit être un entier non négatif. La valeur zéro indique l’arrêt immédiatement via le signal de destruction (aucune occasion d’arrêter). Si cette valeur est nulle, la période de grâce par défaut sera utilisée à la place. La période de grâce est la durée en secondes après que les processus en cours d’exécution dans l’instance d’application soient envoyés un signal d’arrêt et l’heure à laquelle les processus sont arrêtés de force avec un signal de destruction. Définissez cette valeur plus longtemps que l’heure de nettoyage attendue pour votre processus. La valeur par défaut est de 90 secondes. | int |
DeploymentSettingsAddonConfigs
| Name | Description | Value |
|---|
DeploymentSettingsEnvironmentVariables
| Name | Description | Value |
|---|
ExecAction
| Name | Description | Value |
|---|---|---|
| command | La commande est la ligne de commande à exécuter à l’intérieur du conteneur, le répertoire de travail de la commande est racine ('/') dans le système de fichiers du conteneur. La commande n’est pas exécutée à l’intérieur d’un interpréteur de commandes, de sorte que les instructions traditionnelles de l’interpréteur de commandes ('|', etc.) ne fonctionnent pas. Pour utiliser un interpréteur de commandes, vous devez appeler explicitement cet interpréteur de commandes. L’état de sortie 0 est traité comme vivant/sain et non nul n’est pas sain. | string[] |
| type | Type de l’action à effectuer pour effectuer le contrôle d’intégrité. | 'ExecAction' (obligatoire) |
HttpGetAction
| Name | Description | Value |
|---|---|---|
| path | Chemin vers l’access sur le serveur HTTP. | string |
| scheme | Schéma à utiliser pour la connexion à l’hôte. La valeur par défaut est HTTP. Valeurs d’énumération possibles : - "HTTP" signifie que le schéma utilisé sera http://- "HTTPS" signifie que le schéma utilisé sera https:// |
'HTTP' 'HTTPS' |
| type | Type de l’action à effectuer pour effectuer le contrôle d’intégrité. | 'HTTPGetAction' (obligatoire) |
ImageRegistryCredential
| Name | Description | Value |
|---|---|---|
| password | Mot de passe des informations d’identification du Registre d’images | string |
| username | Nom d’utilisateur des informations d’identification du Registre d’images | string |
JarUploadedUserSourceInfo
| Name | Description | Value |
|---|---|---|
| jvmOptions | Paramètre JVM | string |
| relativePath | Chemin relatif du storage qui stocke la source | string |
| runtimeVersion | Version runtime du fichier Jar | string |
| type | Type de la source chargée | 'Jar' (obligatoire) |
NetCoreZipUploadedUserSourceInfo
| Name | Description | Value |
|---|---|---|
| netCoreMainEntryPath | Le chemin vers l’exécutable .NET par rapport à la racine zip | string |
| relativePath | Chemin relatif du storage qui stocke la source | string |
| runtimeVersion | Version d’exécution du fichier .Net | string |
| type | Type de la source chargée | 'NetCoreZip' (obligatoire) |
Probe
| Name | Description | Value |
|---|---|---|
| disableProbe | Indiquez si la sonde est désactivée. | bool (obligatoire) |
| failureThreshold | Échecs consécutifs minimum pour que la sonde soit considérée comme ayant échoué après avoir réussi. La valeur minimale est 1. | int |
| initialDelaySeconds | Nombre de secondes après le démarrage de l’instance d’application avant que les sondes ne soient lancées. Plus d’informations : https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | int |
| periodSeconds | Fréquence (en secondes) d’exécution de la sonde. La valeur minimale est 1. | int |
| probeAction | Action de la sonde. | ProbeAction |
| successThreshold | Nombre minimal de réussites consécutives pour que la sonde soit considérée comme réussie après avoir échoué. Doit être 1 pour la vie et le démarrage. La valeur minimale est 1. | int |
| timeoutSeconds | Nombre de secondes après lesquelles la sonde expire. La valeur minimale est 1. | int |
ProbeAction
| Name | Description | Value |
|---|---|---|
| type | Défini sur « ExecAction » pour le type ExecAction. Défini sur « HTTPGetAction » pour le type HttpGetAction. Défini sur « TCPSocketAction » pour le type TCPSocketAction. | 'ExecAction' 'HTTPGetAction' 'TCPSocketAction' (obligatoire) |
ResourceRequests
| Name | Description | Value |
|---|---|---|
| cpu | Processeur requis. 1 cœur peut être représenté par 1 ou 1 000m. Il doit s’agir de 500m ou 1 pour le niveau De base et {500m, 1, 2, 3, 4} pour le niveau Standard. | string |
| memory | Mémoire requise. 1 Go peuvent être représentés par 1Gi ou 1024Mi. Il doit s’agir de {512Mi, 1Gi, 2Gi} pour le niveau De base et {512Mi, 1Gi, 2Gi, ..., 8Gi} pour le niveau Standard. | string |
Sku
| Name | Description | Value |
|---|---|---|
| capacity | Capacité actuelle de la ressource cible | int |
| name | Nom de la référence SKU | string |
| tier | Niveau de la référence SKU | string |
SourceUploadedUserSourceInfo
| Name | Description | Value |
|---|---|---|
| artifactSelector | Sélecteur pour l’artefact à utiliser pour le déploiement pour les projets multimodèles. Il doit s’agir de le chemin relatif vers le module/project cible. |
string |
| relativePath | Chemin relatif du storage qui stocke la source | string |
| runtimeVersion | Version runtime du fichier source | string |
| type | Type de la source chargée | 'Source' (obligatoire) |
TCPSocketAction
| Name | Description | Value |
|---|---|---|
| type | Type de l’action à effectuer pour effectuer le contrôle d’intégrité. | 'TCPSocketAction' (obligatoire) |
UserSourceInfo
| Name | Description | Value |
|---|---|---|
| type | Défini sur « BuildResult » pour le type BuildResultUserSourceInfo. Défini sur « Container » pour le type CustomContainerUserSourceInfo. Défini sur « Jar » pour le type JarUploadedUserSourceInfo. Défini sur « NetCoreZip » pour le type NetCoreZipUploadedUserSourceInfo. Défini sur « Source » pour le type SourceUploadedUserSourceInfo. Défini sur « War » pour le type WarUploadedUserSourceInfo. | 'BuildResult' 'Container' 'Jar' 'NetCoreZip' 'Source' 'War' (obligatoire) |
| version | Version de la source | string |
WarUploadedUserSourceInfo
| Name | Description | Value |
|---|---|---|
| jvmOptions | Paramètre JVM | string |
| relativePath | Chemin relatif du storage qui stocke la source | string |
| runtimeVersion | Version runtime du fichier war | string |
| serverVersion | Version du serveur, actuellement uniquement Apache Tomcat est pris en charge | string |
| type | Type de la source chargée | 'War' (obligatoire) |
Exemples d’utilisation
Exemples Bicep
Un exemple de base de déploiement de Spring Cloud Deployment.
param resourceName string = 'acctest0001'
param location string = 'westeurope'
resource spring 'Microsoft.AppPlatform/Spring@2023-05-01-preview' = {
name: resourceName
location: location
properties: {
zoneRedundant: false
}
sku: {
name: 'E0'
}
}
resource app 'Microsoft.AppPlatform/Spring/apps@2023-05-01-preview' = {
parent: spring
name: resourceName
location: location
properties: {
customPersistentDisks: []
enableEndToEndTLS: false
public: false
}
}
resource deployment 'Microsoft.AppPlatform/Spring/apps/deployments@2023-05-01-preview' = {
parent: app
name: resourceName
properties: {
deploymentSettings: {
environmentVariables: {}
}
source: {
customContainer: {
args: []
command: []
containerImage: 'springio/gs-spring-boot-docker'
languageFramework: ''
server: 'docker.io'
}
type: 'Container'
}
}
sku: {
capacity: 1
name: 'E0'
tier: 'Enterprise'
}
}
Azure Quickstart Examples
Les modèles suivants Azure Quickstart contiennent des exemples Bicep pour déployer ce type de ressource.
| Lime biceps | Description |
|---|---|
| Déploie une application microservice simple Azure Spring Apps | Ce modèle déploie une application microservice simple Azure Spring Apps à exécuter sur Azure. |
Définition de ressource de modèle ARM
Le type de ressource Spring/apps/deployments peut être déployé avec des opérations qui ciblent :
Resource groups - Voirc1resource groups
Pour obtenir la liste des propriétés modifiées dans chaque version de l’API, consultez journal des modifications.
Format de la ressource
Pour créer une ressource Microsoft.AppPlatform/Spring/apps/deployments, ajoutez le code JSON suivant à votre modèle.
{
"type": "Microsoft.AppPlatform/Spring/apps/deployments",
"apiVersion": "2023-12-01",
"name": "string",
"properties": {
"active": "bool",
"deploymentSettings": {
"addonConfigs": {
"{customized property}": {}
},
"apms": [
{
"resourceId": "string"
}
],
"containerProbeSettings": {
"disableProbe": "bool"
},
"environmentVariables": {
"{customized property}": "string"
},
"livenessProbe": {
"disableProbe": "bool",
"failureThreshold": "int",
"initialDelaySeconds": "int",
"periodSeconds": "int",
"probeAction": {
"type": "string"
// For remaining properties, see ProbeAction objects
},
"successThreshold": "int",
"timeoutSeconds": "int"
},
"readinessProbe": {
"disableProbe": "bool",
"failureThreshold": "int",
"initialDelaySeconds": "int",
"periodSeconds": "int",
"probeAction": {
"type": "string"
// For remaining properties, see ProbeAction objects
},
"successThreshold": "int",
"timeoutSeconds": "int"
},
"resourceRequests": {
"cpu": "string",
"memory": "string"
},
"startupProbe": {
"disableProbe": "bool",
"failureThreshold": "int",
"initialDelaySeconds": "int",
"periodSeconds": "int",
"probeAction": {
"type": "string"
// For remaining properties, see ProbeAction objects
},
"successThreshold": "int",
"timeoutSeconds": "int"
},
"terminationGracePeriodSeconds": "int"
},
"source": {
"version": "string",
"type": "string"
// For remaining properties, see UserSourceInfo objects
}
},
"sku": {
"capacity": "int",
"name": "string",
"tier": "string"
}
}
Objets ProbeAction
Définissez le type propriété pour spécifier le type d’objet.
Pour ExecAction, utilisez :
{
"command": [ "string" ],
"type": "ExecAction"
}
Pour httpGetAction, utilisez :
{
"path": "string",
"scheme": "string",
"type": "HTTPGetAction"
}
Pour TCPSocketAction, utilisez :
{
"type": "TCPSocketAction"
}
Objets UserSourceInfo
Définissez le type propriété pour spécifier le type d’objet.
Pour BuildResult, utilisez :
{
"buildResultId": "string",
"type": "BuildResult"
}
Pour conteneur, utilisez :
{
"customContainer": {
"args": [ "string" ],
"command": [ "string" ],
"containerImage": "string",
"imageRegistryCredential": {
"password": "string",
"username": "string"
},
"languageFramework": "string",
"server": "string"
},
"type": "Container"
}
Pour jar, utilisez :
{
"jvmOptions": "string",
"relativePath": "string",
"runtimeVersion": "string",
"type": "Jar"
}
Pour NetCoreZip, utilisez :
{
"netCoreMainEntryPath": "string",
"relativePath": "string",
"runtimeVersion": "string",
"type": "NetCoreZip"
}
Pour Source, utilisez :
{
"artifactSelector": "string",
"relativePath": "string",
"runtimeVersion": "string",
"type": "Source"
}
Pour guerre, utilisez :
{
"jvmOptions": "string",
"relativePath": "string",
"runtimeVersion": "string",
"serverVersion": "string",
"type": "War"
}
Valeurs immobilières
Microsoft.AppPlatform/Spring/apps/deployments
| Name | Description | Value |
|---|---|---|
| apiVersion | Version de l’API | '2023-12-01' |
| name | Nom de la ressource | chaîne (obligatoire) |
| properties | Propriétés de la ressource de déploiement | DeploymentResourceProperties |
| sku | Référence SKU de la ressource de déploiement | Sku |
| type | Type de ressource | 'Microsoft.AppPlatform/Spring/apps/deployments' |
ApmReference
| Name | Description | Value |
|---|---|---|
| resourceId | ID de ressource de l’APM | chaîne (obligatoire) |
BuildResultUserSourceInfo
| Name | Description | Value |
|---|---|---|
| buildResultId | ID de ressource d’un résultat de build réussi existant sous la même instance Spring. | string |
| type | Type de la source chargée | 'BuildResult' (obligatoire) |
ContainerProbeSettings
| Name | Description | Value |
|---|---|---|
| disableProbe | Indique si la sonde liveness et readiness est désactivée | bool |
CustomContainer
| Name | Description | Value |
|---|---|---|
| args | Arguments du point d’entrée. Le CMD de l’image Docker est utilisé s’il n’est pas fourni. | string[] |
| command | Tableau de points d’entrée. Non exécuté dans un interpréteur de commandes. L’élément ENTRYPOINT de l’image Docker est utilisé s’il n’est pas fourni. | string[] |
| containerImage | Image conteneur du conteneur personnalisé. Il doit s’agir de la forme d'<référentiel>:<balise> sans le nom du serveur du Registre | string |
| imageRegistryCredential | Informations d’identification du Registre d’images | ImageRegistryCredential |
| languageFramework | Infrastructure de langage de l’image conteneur chargée. Valeurs prises en charge : « springboot », « », null. | string |
| server | Nom du registre qui contient l’image conteneur | string |
CustomContainerUserSourceInfo
| Name | Description | Value |
|---|---|---|
| customContainer | Charge utile de conteneur personnalisée | CustomContainer |
| type | Type de la source chargée | 'Contenant' (obligatoire) |
DeploymentResourceProperties
| Name | Description | Value |
|---|---|---|
| active | Indique si le déploiement est actif | bool |
| deploymentSettings | Paramètres de déploiement du déploiement | DeploymentSettings |
| source | Informations sources chargées du déploiement. | UserSourceInfo |
DeploymentSettings
| Name | Description | Value |
|---|---|---|
| addonConfigs | Collection de compléments | DeploymentSettingsAddonConfigs |
| apms | Collection d’ApmReferences | ApmReference[] |
| containerProbeSettings | Paramètres de sonde d’intégrité et de préparation du conteneur | ContainerProbeSettings |
| environmentVariables | Collection de variables d’environnement | DeploymentSettingsEnvironmentVariables |
| livenessProbe | Sonde périodique de la durée de vie de l’instance d’application. L’instance d’application est redémarrée si la sonde échoue. Plus d’informations : https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | Probe |
| readinessProbe | Sonde périodique de préparation du service App Instance. L’instance d’application est supprimée des points de terminaison de service en cas d’échec de la sonde. Plus d’informations : https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | Probe |
| resourceRequests | Quantité de ressources demandée pour le processeur et la mémoire requis. Il est recommandé d’utiliser ce champ pour représenter l’UC et la mémoire requises, l’ancien processeur de champ et memoryInGB sera déconseillé ultérieurement. | ResourceRequests |
| startupProbe | StartupProbe indique que l’instance d’application a correctement initialisé. Si elle est spécifiée, aucune autre sonde n’est exécutée tant que cela n’est pas terminé. Si cette sonde échoue, le pod est redémarré, comme si livenessProbe a échoué. Cela peut être utilisé pour fournir différents paramètres de sonde au début du cycle de vie d’une instance d’application, lorsqu’il peut prendre beaucoup de temps pour charger des données ou réchauffer un cache, par rapport à l’opération d’état stable. Cela ne peut pas être mis à jour. Plus d’informations : https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | Probe |
| terminationGracePeriodSeconds | Durée facultative en secondes, l’instance d’application doit s’arrêter correctement. Peut être diminué dans la demande de suppression. La valeur doit être un entier non négatif. La valeur zéro indique l’arrêt immédiatement via le signal de destruction (aucune occasion d’arrêter). Si cette valeur est nulle, la période de grâce par défaut sera utilisée à la place. La période de grâce est la durée en secondes après que les processus en cours d’exécution dans l’instance d’application soient envoyés un signal d’arrêt et l’heure à laquelle les processus sont arrêtés de force avec un signal de destruction. Définissez cette valeur plus longtemps que l’heure de nettoyage attendue pour votre processus. La valeur par défaut est de 90 secondes. | int |
DeploymentSettingsAddonConfigs
| Name | Description | Value |
|---|
DeploymentSettingsEnvironmentVariables
| Name | Description | Value |
|---|
ExecAction
| Name | Description | Value |
|---|---|---|
| command | La commande est la ligne de commande à exécuter à l’intérieur du conteneur, le répertoire de travail de la commande est racine ('/') dans le système de fichiers du conteneur. La commande n’est pas exécutée à l’intérieur d’un interpréteur de commandes, de sorte que les instructions traditionnelles de l’interpréteur de commandes ('|', etc.) ne fonctionnent pas. Pour utiliser un interpréteur de commandes, vous devez appeler explicitement cet interpréteur de commandes. L’état de sortie 0 est traité comme vivant/sain et non nul n’est pas sain. | string[] |
| type | Type de l’action à effectuer pour effectuer le contrôle d’intégrité. | 'ExecAction' (obligatoire) |
HttpGetAction
| Name | Description | Value |
|---|---|---|
| path | Chemin vers l’access sur le serveur HTTP. | string |
| scheme | Schéma à utiliser pour la connexion à l’hôte. La valeur par défaut est HTTP. Valeurs d’énumération possibles : - "HTTP" signifie que le schéma utilisé sera http://- "HTTPS" signifie que le schéma utilisé sera https:// |
'HTTP' 'HTTPS' |
| type | Type de l’action à effectuer pour effectuer le contrôle d’intégrité. | 'HTTPGetAction' (obligatoire) |
ImageRegistryCredential
| Name | Description | Value |
|---|---|---|
| password | Mot de passe des informations d’identification du Registre d’images | string |
| username | Nom d’utilisateur des informations d’identification du Registre d’images | string |
JarUploadedUserSourceInfo
| Name | Description | Value |
|---|---|---|
| jvmOptions | Paramètre JVM | string |
| relativePath | Chemin relatif du storage qui stocke la source | string |
| runtimeVersion | Version runtime du fichier Jar | string |
| type | Type de la source chargée | 'Jar' (obligatoire) |
NetCoreZipUploadedUserSourceInfo
| Name | Description | Value |
|---|---|---|
| netCoreMainEntryPath | Le chemin vers l’exécutable .NET par rapport à la racine zip | string |
| relativePath | Chemin relatif du storage qui stocke la source | string |
| runtimeVersion | Version d’exécution du fichier .Net | string |
| type | Type de la source chargée | 'NetCoreZip' (obligatoire) |
Probe
| Name | Description | Value |
|---|---|---|
| disableProbe | Indiquez si la sonde est désactivée. | bool (obligatoire) |
| failureThreshold | Échecs consécutifs minimum pour que la sonde soit considérée comme ayant échoué après avoir réussi. La valeur minimale est 1. | int |
| initialDelaySeconds | Nombre de secondes après le démarrage de l’instance d’application avant que les sondes ne soient lancées. Plus d’informations : https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | int |
| periodSeconds | Fréquence (en secondes) d’exécution de la sonde. La valeur minimale est 1. | int |
| probeAction | Action de la sonde. | ProbeAction |
| successThreshold | Nombre minimal de réussites consécutives pour que la sonde soit considérée comme réussie après avoir échoué. Doit être 1 pour la vie et le démarrage. La valeur minimale est 1. | int |
| timeoutSeconds | Nombre de secondes après lesquelles la sonde expire. La valeur minimale est 1. | int |
ProbeAction
| Name | Description | Value |
|---|---|---|
| type | Défini sur « ExecAction » pour le type ExecAction. Défini sur « HTTPGetAction » pour le type HttpGetAction. Défini sur « TCPSocketAction » pour le type TCPSocketAction. | 'ExecAction' 'HTTPGetAction' 'TCPSocketAction' (obligatoire) |
ResourceRequests
| Name | Description | Value |
|---|---|---|
| cpu | Processeur requis. 1 cœur peut être représenté par 1 ou 1 000m. Il doit s’agir de 500m ou 1 pour le niveau De base et {500m, 1, 2, 3, 4} pour le niveau Standard. | string |
| memory | Mémoire requise. 1 Go peuvent être représentés par 1Gi ou 1024Mi. Il doit s’agir de {512Mi, 1Gi, 2Gi} pour le niveau De base et {512Mi, 1Gi, 2Gi, ..., 8Gi} pour le niveau Standard. | string |
Sku
| Name | Description | Value |
|---|---|---|
| capacity | Capacité actuelle de la ressource cible | int |
| name | Nom de la référence SKU | string |
| tier | Niveau de la référence SKU | string |
SourceUploadedUserSourceInfo
| Name | Description | Value |
|---|---|---|
| artifactSelector | Sélecteur pour l’artefact à utiliser pour le déploiement pour les projets multimodèles. Il doit s’agir de le chemin relatif vers le module/project cible. |
string |
| relativePath | Chemin relatif du storage qui stocke la source | string |
| runtimeVersion | Version runtime du fichier source | string |
| type | Type de la source chargée | 'Source' (obligatoire) |
TCPSocketAction
| Name | Description | Value |
|---|---|---|
| type | Type de l’action à effectuer pour effectuer le contrôle d’intégrité. | 'TCPSocketAction' (obligatoire) |
UserSourceInfo
| Name | Description | Value |
|---|---|---|
| type | Défini sur « BuildResult » pour le type BuildResultUserSourceInfo. Défini sur « Container » pour le type CustomContainerUserSourceInfo. Défini sur « Jar » pour le type JarUploadedUserSourceInfo. Défini sur « NetCoreZip » pour le type NetCoreZipUploadedUserSourceInfo. Défini sur « Source » pour le type SourceUploadedUserSourceInfo. Défini sur « War » pour le type WarUploadedUserSourceInfo. | 'BuildResult' 'Container' 'Jar' 'NetCoreZip' 'Source' 'War' (obligatoire) |
| version | Version de la source | string |
WarUploadedUserSourceInfo
| Name | Description | Value |
|---|---|---|
| jvmOptions | Paramètre JVM | string |
| relativePath | Chemin relatif du storage qui stocke la source | string |
| runtimeVersion | Version runtime du fichier war | string |
| serverVersion | Version du serveur, actuellement uniquement Apache Tomcat est pris en charge | string |
| type | Type de la source chargée | 'War' (obligatoire) |
Exemples d’utilisation
Modèles de démarrage rapide Azure
Les modèles suivants Azure Quickstart déployent ce type de ressource.
| Template | Description |
|---|---|
|
Déploie une application microservice simple Azure Spring Apps |
Ce modèle déploie une application microservice simple Azure Spring Apps à exécuter sur Azure. |
Définition de ressource Terraform (fournisseur AzAPI)
Le type de ressource Spring/apps/deployments peut être déployé avec des opérations qui ciblent :
- Groupes de ressources
Pour obtenir la liste des propriétés modifiées dans chaque version de l’API, consultez journal des modifications.
Format de la ressource
Pour créer une ressource Microsoft.AppPlatform/Spring/apps/deployments, ajoutez la terraform suivante à votre modèle.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.AppPlatform/Spring/apps/deployments@2023-12-01"
name = "string"
parent_id = "string"
body = {
properties = {
active = bool
deploymentSettings = {
addonConfigs = {
{customized property} = ?
}
apms = [
{
resourceId = "string"
}
]
containerProbeSettings = {
disableProbe = bool
}
environmentVariables = {
{customized property} = "string"
}
livenessProbe = {
disableProbe = bool
failureThreshold = int
initialDelaySeconds = int
periodSeconds = int
probeAction = {
type = "string"
// For remaining properties, see ProbeAction objects
}
successThreshold = int
timeoutSeconds = int
}
readinessProbe = {
disableProbe = bool
failureThreshold = int
initialDelaySeconds = int
periodSeconds = int
probeAction = {
type = "string"
// For remaining properties, see ProbeAction objects
}
successThreshold = int
timeoutSeconds = int
}
resourceRequests = {
cpu = "string"
memory = "string"
}
startupProbe = {
disableProbe = bool
failureThreshold = int
initialDelaySeconds = int
periodSeconds = int
probeAction = {
type = "string"
// For remaining properties, see ProbeAction objects
}
successThreshold = int
timeoutSeconds = int
}
terminationGracePeriodSeconds = int
}
source = {
version = "string"
type = "string"
// For remaining properties, see UserSourceInfo objects
}
}
sku = {
capacity = int
name = "string"
tier = "string"
}
}
}
Objets ProbeAction
Définissez le type propriété pour spécifier le type d’objet.
Pour ExecAction, utilisez :
{
command = [
"string"
]
type = "ExecAction"
}
Pour httpGetAction, utilisez :
{
path = "string"
scheme = "string"
type = "HTTPGetAction"
}
Pour TCPSocketAction, utilisez :
{
type = "TCPSocketAction"
}
Objets UserSourceInfo
Définissez le type propriété pour spécifier le type d’objet.
Pour BuildResult, utilisez :
{
buildResultId = "string"
type = "BuildResult"
}
Pour conteneur, utilisez :
{
customContainer = {
args = [
"string"
]
command = [
"string"
]
containerImage = "string"
imageRegistryCredential = {
password = "string"
username = "string"
}
languageFramework = "string"
server = "string"
}
type = "Container"
}
Pour jar, utilisez :
{
jvmOptions = "string"
relativePath = "string"
runtimeVersion = "string"
type = "Jar"
}
Pour NetCoreZip, utilisez :
{
netCoreMainEntryPath = "string"
relativePath = "string"
runtimeVersion = "string"
type = "NetCoreZip"
}
Pour Source, utilisez :
{
artifactSelector = "string"
relativePath = "string"
runtimeVersion = "string"
type = "Source"
}
Pour guerre, utilisez :
{
jvmOptions = "string"
relativePath = "string"
runtimeVersion = "string"
serverVersion = "string"
type = "War"
}
Valeurs immobilières
Microsoft.AppPlatform/Spring/apps/deployments
| Name | Description | Value |
|---|---|---|
| name | Nom de la ressource | chaîne (obligatoire) |
| parent_id | ID de la ressource qui est le parent de cette ressource. | ID de ressource de type : Spring/apps |
| properties | Propriétés de la ressource de déploiement | DeploymentResourceProperties |
| sku | Référence SKU de la ressource de déploiement | Sku |
| type | Type de ressource | "Microsoft.AppPlatform/Spring/apps/deployments@2023-12-01" |
ApmReference
| Name | Description | Value |
|---|---|---|
| resourceId | ID de ressource de l’APM | chaîne (obligatoire) |
BuildResultUserSourceInfo
| Name | Description | Value |
|---|---|---|
| buildResultId | ID de ressource d’un résultat de build réussi existant sous la même instance Spring. | string |
| type | Type de la source chargée | 'BuildResult' (obligatoire) |
ContainerProbeSettings
| Name | Description | Value |
|---|---|---|
| disableProbe | Indique si la sonde liveness et readiness est désactivée | bool |
CustomContainer
| Name | Description | Value |
|---|---|---|
| args | Arguments du point d’entrée. Le CMD de l’image Docker est utilisé s’il n’est pas fourni. | string[] |
| command | Tableau de points d’entrée. Non exécuté dans un interpréteur de commandes. L’élément ENTRYPOINT de l’image Docker est utilisé s’il n’est pas fourni. | string[] |
| containerImage | Image conteneur du conteneur personnalisé. Il doit s’agir de la forme d'<référentiel>:<balise> sans le nom du serveur du Registre | string |
| imageRegistryCredential | Informations d’identification du Registre d’images | ImageRegistryCredential |
| languageFramework | Infrastructure de langage de l’image conteneur chargée. Valeurs prises en charge : « springboot », « », null. | string |
| server | Nom du registre qui contient l’image conteneur | string |
CustomContainerUserSourceInfo
| Name | Description | Value |
|---|---|---|
| customContainer | Charge utile de conteneur personnalisée | CustomContainer |
| type | Type de la source chargée | 'Contenant' (obligatoire) |
DeploymentResourceProperties
| Name | Description | Value |
|---|---|---|
| active | Indique si le déploiement est actif | bool |
| deploymentSettings | Paramètres de déploiement du déploiement | DeploymentSettings |
| source | Informations sources chargées du déploiement. | UserSourceInfo |
DeploymentSettings
| Name | Description | Value |
|---|---|---|
| addonConfigs | Collection de compléments | DeploymentSettingsAddonConfigs |
| apms | Collection d’ApmReferences | ApmReference[] |
| containerProbeSettings | Paramètres de sonde d’intégrité et de préparation du conteneur | ContainerProbeSettings |
| environmentVariables | Collection de variables d’environnement | DeploymentSettingsEnvironmentVariables |
| livenessProbe | Sonde périodique de la durée de vie de l’instance d’application. L’instance d’application est redémarrée si la sonde échoue. Plus d’informations : https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | Probe |
| readinessProbe | Sonde périodique de préparation du service App Instance. L’instance d’application est supprimée des points de terminaison de service en cas d’échec de la sonde. Plus d’informations : https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | Probe |
| resourceRequests | Quantité de ressources demandée pour le processeur et la mémoire requis. Il est recommandé d’utiliser ce champ pour représenter l’UC et la mémoire requises, l’ancien processeur de champ et memoryInGB sera déconseillé ultérieurement. | ResourceRequests |
| startupProbe | StartupProbe indique que l’instance d’application a correctement initialisé. Si elle est spécifiée, aucune autre sonde n’est exécutée tant que cela n’est pas terminé. Si cette sonde échoue, le pod est redémarré, comme si livenessProbe a échoué. Cela peut être utilisé pour fournir différents paramètres de sonde au début du cycle de vie d’une instance d’application, lorsqu’il peut prendre beaucoup de temps pour charger des données ou réchauffer un cache, par rapport à l’opération d’état stable. Cela ne peut pas être mis à jour. Plus d’informations : https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | Probe |
| terminationGracePeriodSeconds | Durée facultative en secondes, l’instance d’application doit s’arrêter correctement. Peut être diminué dans la demande de suppression. La valeur doit être un entier non négatif. La valeur zéro indique l’arrêt immédiatement via le signal de destruction (aucune occasion d’arrêter). Si cette valeur est nulle, la période de grâce par défaut sera utilisée à la place. La période de grâce est la durée en secondes après que les processus en cours d’exécution dans l’instance d’application soient envoyés un signal d’arrêt et l’heure à laquelle les processus sont arrêtés de force avec un signal de destruction. Définissez cette valeur plus longtemps que l’heure de nettoyage attendue pour votre processus. La valeur par défaut est de 90 secondes. | int |
DeploymentSettingsAddonConfigs
| Name | Description | Value |
|---|
DeploymentSettingsEnvironmentVariables
| Name | Description | Value |
|---|
ExecAction
| Name | Description | Value |
|---|---|---|
| command | La commande est la ligne de commande à exécuter à l’intérieur du conteneur, le répertoire de travail de la commande est racine ('/') dans le système de fichiers du conteneur. La commande n’est pas exécutée à l’intérieur d’un interpréteur de commandes, de sorte que les instructions traditionnelles de l’interpréteur de commandes ('|', etc.) ne fonctionnent pas. Pour utiliser un interpréteur de commandes, vous devez appeler explicitement cet interpréteur de commandes. L’état de sortie 0 est traité comme vivant/sain et non nul n’est pas sain. | string[] |
| type | Type de l’action à effectuer pour effectuer le contrôle d’intégrité. | 'ExecAction' (obligatoire) |
HttpGetAction
| Name | Description | Value |
|---|---|---|
| path | Chemin vers l’access sur le serveur HTTP. | string |
| scheme | Schéma à utiliser pour la connexion à l’hôte. La valeur par défaut est HTTP. Valeurs d’énumération possibles : - "HTTP" signifie que le schéma utilisé sera http://- "HTTPS" signifie que le schéma utilisé sera https:// |
'HTTP' 'HTTPS' |
| type | Type de l’action à effectuer pour effectuer le contrôle d’intégrité. | 'HTTPGetAction' (obligatoire) |
ImageRegistryCredential
| Name | Description | Value |
|---|---|---|
| password | Mot de passe des informations d’identification du Registre d’images | string |
| username | Nom d’utilisateur des informations d’identification du Registre d’images | string |
JarUploadedUserSourceInfo
| Name | Description | Value |
|---|---|---|
| jvmOptions | Paramètre JVM | string |
| relativePath | Chemin relatif du storage qui stocke la source | string |
| runtimeVersion | Version runtime du fichier Jar | string |
| type | Type de la source chargée | 'Jar' (obligatoire) |
NetCoreZipUploadedUserSourceInfo
| Name | Description | Value |
|---|---|---|
| netCoreMainEntryPath | Le chemin vers l’exécutable .NET par rapport à la racine zip | string |
| relativePath | Chemin relatif du storage qui stocke la source | string |
| runtimeVersion | Version d’exécution du fichier .Net | string |
| type | Type de la source chargée | 'NetCoreZip' (obligatoire) |
Probe
| Name | Description | Value |
|---|---|---|
| disableProbe | Indiquez si la sonde est désactivée. | bool (obligatoire) |
| failureThreshold | Échecs consécutifs minimum pour que la sonde soit considérée comme ayant échoué après avoir réussi. La valeur minimale est 1. | int |
| initialDelaySeconds | Nombre de secondes après le démarrage de l’instance d’application avant que les sondes ne soient lancées. Plus d’informations : https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | int |
| periodSeconds | Fréquence (en secondes) d’exécution de la sonde. La valeur minimale est 1. | int |
| probeAction | Action de la sonde. | ProbeAction |
| successThreshold | Nombre minimal de réussites consécutives pour que la sonde soit considérée comme réussie après avoir échoué. Doit être 1 pour la vie et le démarrage. La valeur minimale est 1. | int |
| timeoutSeconds | Nombre de secondes après lesquelles la sonde expire. La valeur minimale est 1. | int |
ProbeAction
| Name | Description | Value |
|---|---|---|
| type | Défini sur « ExecAction » pour le type ExecAction. Défini sur « HTTPGetAction » pour le type HttpGetAction. Défini sur « TCPSocketAction » pour le type TCPSocketAction. | 'ExecAction' 'HTTPGetAction' 'TCPSocketAction' (obligatoire) |
ResourceRequests
| Name | Description | Value |
|---|---|---|
| cpu | Processeur requis. 1 cœur peut être représenté par 1 ou 1 000m. Il doit s’agir de 500m ou 1 pour le niveau De base et {500m, 1, 2, 3, 4} pour le niveau Standard. | string |
| memory | Mémoire requise. 1 Go peuvent être représentés par 1Gi ou 1024Mi. Il doit s’agir de {512Mi, 1Gi, 2Gi} pour le niveau De base et {512Mi, 1Gi, 2Gi, ..., 8Gi} pour le niveau Standard. | string |
Sku
| Name | Description | Value |
|---|---|---|
| capacity | Capacité actuelle de la ressource cible | int |
| name | Nom de la référence SKU | string |
| tier | Niveau de la référence SKU | string |
SourceUploadedUserSourceInfo
| Name | Description | Value |
|---|---|---|
| artifactSelector | Sélecteur pour l’artefact à utiliser pour le déploiement pour les projets multimodèles. Il doit s’agir de le chemin relatif vers le module/project cible. |
string |
| relativePath | Chemin relatif du storage qui stocke la source | string |
| runtimeVersion | Version runtime du fichier source | string |
| type | Type de la source chargée | 'Source' (obligatoire) |
TCPSocketAction
| Name | Description | Value |
|---|---|---|
| type | Type de l’action à effectuer pour effectuer le contrôle d’intégrité. | 'TCPSocketAction' (obligatoire) |
UserSourceInfo
| Name | Description | Value |
|---|---|---|
| type | Défini sur « BuildResult » pour le type BuildResultUserSourceInfo. Défini sur « Container » pour le type CustomContainerUserSourceInfo. Défini sur « Jar » pour le type JarUploadedUserSourceInfo. Défini sur « NetCoreZip » pour le type NetCoreZipUploadedUserSourceInfo. Défini sur « Source » pour le type SourceUploadedUserSourceInfo. Défini sur « War » pour le type WarUploadedUserSourceInfo. | 'BuildResult' 'Container' 'Jar' 'NetCoreZip' 'Source' 'War' (obligatoire) |
| version | Version de la source | string |
WarUploadedUserSourceInfo
| Name | Description | Value |
|---|---|---|
| jvmOptions | Paramètre JVM | string |
| relativePath | Chemin relatif du storage qui stocke la source | string |
| runtimeVersion | Version runtime du fichier war | string |
| serverVersion | Version du serveur, actuellement uniquement Apache Tomcat est pris en charge | string |
| type | Type de la source chargée | 'War' (obligatoire) |
Exemples d’utilisation
Échantillons Terraform
Un exemple de base de déploiement de Spring Cloud Deployment.
terraform {
required_providers {
azapi = {
source = "Azure/azapi"
}
}
}
provider "azapi" {
skip_provider_registration = false
}
variable "resource_name" {
type = string
default = "acctest0001"
}
variable "location" {
type = string
default = "westeurope"
}
resource "azapi_resource" "resourceGroup" {
type = "Microsoft.Resources/resourceGroups@2020-06-01"
name = var.resource_name
location = var.location
}
resource "azapi_resource" "Spring" {
type = "Microsoft.AppPlatform/Spring@2023-05-01-preview"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
location = var.location
body = {
properties = {
zoneRedundant = false
}
sku = {
name = "E0"
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
resource "azapi_resource" "app" {
type = "Microsoft.AppPlatform/Spring/apps@2023-05-01-preview"
parent_id = azapi_resource.Spring.id
name = var.resource_name
location = var.location
body = {
properties = {
customPersistentDisks = [
]
enableEndToEndTLS = false
public = false
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
resource "azapi_resource" "deployment" {
type = "Microsoft.AppPlatform/Spring/apps/deployments@2023-05-01-preview"
parent_id = azapi_resource.app.id
name = var.resource_name
body = {
properties = {
deploymentSettings = {
environmentVariables = {
}
}
source = {
customContainer = {
args = [
]
command = [
]
containerImage = "springio/gs-spring-boot-docker"
languageFramework = ""
server = "docker.io"
}
type = "Container"
}
}
sku = {
capacity = 1
name = "E0"
tier = "Enterprise"
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}