Microsoft.AppPlatform Spring/apps/deployments

Définition de ressource Bicep

Le type de ressource Spring/apps/deployments peut être déployé avec des opérations qui ciblent :

Pour obtenir la liste des propriétés modifiées dans chaque version d’API, consultez journal des modifications.

Format des ressources

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-03-01-preview' = {
  name: 'string'
  sku: {
    capacity: int
    name: 'string'
    tier: 'string'
  }
  parent: resourceSymbolicName
  properties: {
    active: bool
    deploymentSettings: {
      addonConfigs: {}
      containerProbeSettings: {
        disableProbe: bool
      }
      environmentVariables: {}
      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'
      }
      scale: {
        maxReplicas: int
        minReplicas: int
        rules: [
          {
            azureQueue: {
              auth: [
                {
                  secretRef: 'string'
                  triggerParameter: 'string'
                }
              ]
              queueLength: int
              queueName: 'string'
            }
            custom: {
              auth: [
                {
                  secretRef: 'string'
                  triggerParameter: 'string'
                }
              ]
              metadata: {}
              type: 'string'
            }
            http: {
              auth: [
                {
                  secretRef: 'string'
                  triggerParameter: 'string'
                }
              ]
              metadata: {}
            }
            name: 'string'
            tcp: {
              auth: [
                {
                  secretRef: 'string'
                  triggerParameter: 'string'
                }
              ]
              metadata: {}
            }
          }
        ]
      }
      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
    }
  }
}

Objets ProbeAction

Définissez la propriété type pour spécifier le type d’objet.

Pour ExecAction, utilisez :

  type: 'ExecAction'
  command: [
    'string'
  ]

Pour HTTPGetAction, utilisez :

  type: 'HTTPGetAction'
  path: 'string'
  scheme: 'string'

Pour TCPSocketAction, utilisez :

  type: 'TCPSocketAction'

Objets UserSourceInfo

Définissez la propriété type pour spécifier le type d’objet.

Pour BuildResult, utilisez :

  type: 'BuildResult'
  buildResultId: 'string'

Pour Conteneur, utilisez :

  type: 'Container'
  customContainer: {
    args: [
      'string'
    ]
    command: [
      'string'
    ]
    containerImage: 'string'
    imageRegistryCredential: {
      password: 'string'
      username: 'string'
    }
    languageFramework: 'string'
    server: 'string'
  }

Pour Jar, utilisez :

  type: 'Jar'
  jvmOptions: 'string'
  relativePath: 'string'
  runtimeVersion: 'string'

Pour NetCoreZip, utilisez :

  type: 'NetCoreZip'
  netCoreMainEntryPath: 'string'
  relativePath: 'string'
  runtimeVersion: 'string'

Pour Source, utilisez :

  type: 'Source'
  artifactSelector: 'string'
  relativePath: 'string'
  runtimeVersion: 'string'

Valeurs de propriétés

Spring/apps/deployments

Nom Description Valeur
name Nom de la ressource

Découvrez comment définir des noms et des types pour des ressources enfants dans Bicep.
string (obligatoire)
sku Référence SKU de la ressource de déploiement Sku
parent Dans Bicep, vous pouvez spécifier la ressource parente pour 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, consultez Ressource enfant en dehors de la ressource parente.
Nom symbolique de la ressource de type : applications
properties Propriétés de la ressource de déploiement DeploymentResourceProperties

DeploymentResourceProperties

Nom Description Valeur
active Indique si le déploiement est actif bool
deploymentSettings Paramètres de déploiement du déploiement DeploymentSettings
source Informations de source chargées du déploiement. UserSourceInfo

DeploymentSettings

Nom Description Valeur
addonConfigs Collection de modules complémentaires object
containerProbeSettings Paramètres de la sonde d’activité et de préparation du conteneur ContainerProbeSettings
environmentVariables Collection de variables d’environnement object
livenessProbe Sonde périodique de l’activité de l’instance d’application. L’instance d’application est redémarrée en cas d’échec de la sonde. Plus d’informations : https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Sonde
readinessProbe Sonde périodique de la préparation du service d’instance d’application. 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 Sonde
resourceRequests Quantité de ressources demandée pour le processeur et la mémoire requis. Il est recommandé d’utiliser ce champ pour représenter le processeur et la mémoire requis, l’ancien processeur de champ et memoryInGB seront dépréciés ultérieurement. ResourceRequests
scale Mise à l’échelle des propriétés de l’instance d’application Azure Spring Apps. Mettre à l'échelle
startupProbe StartupProbe indique que l’instance d’application a été initialisée avec succès. Si elle est spécifiée, aucune autre sonde n’est exécutée jusqu’à ce que cela se termine correctement. Si cette sonde échoue, le pod est redémarré, comme si livenessProbe avait é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, lorsque le chargement des données ou le réchauffement d’un cache peut prendre beaucoup de temps que pendant l’opération à l’état stable. Il ne peut pas être mis à jour. Plus d’informations : https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Sonde
terminationGracePeriodSeconds Durée facultative en secondes dont l’instance d’application doit se terminer normalement. Peut être réduit dans la demande de suppression. La valeur doit être un entier non négatif. La valeur zéro indique l’arrêt immédiat via le signal d’arrêt (aucune possibilité de s’arrêter). Si cette valeur est nulle, la période de grâce par défaut est utilisée à la place. La période de grâce correspond à la durée en secondes après l’envoi d’un signal d’arrêt aux processus en cours d’exécution dans l’instance d’application et au moment où les processus sont arrêtés de force avec un signal d’arrêt. Définissez cette valeur plus longtemps que le temps de nettoyage prévu pour votre processus. La valeur par défaut est 90 secondes. int

ContainerProbeSettings

Nom Description Valeur
disableProbe Indique si désactiver la sonde liveness et readiness bool

Sonde

Nom Description Valeur
disableProbe Indique si la sonde est désactivée. bool (obligatoire)
failureThreshold Nombre minimal d’échecs consécutifs pour la sonde à considérer 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 le lancement des sondes. 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 probe. 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 l’échec. Doit être 1 pour l’liveness 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

Nom Description Valeur
type Définir le type d’objet ExecAction
HTTPGetAction
TCPSocketAction (obligatoire)

ExecAction

Nom Description Valeur
type Type de l’action à entreprendre pour effectuer l’case activée d’intégrité. 'ExecAction' (obligatoire)
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’étant pas exécutée à l’intérieur d’un interpréteur de commandes, les instructions d’interpréteur de commandes traditionnelles (',', etc.) ne fonctionnent pas. Pour utiliser un interpréteur de commandes, vous devez appeler explicitement cet interpréteur de commandes. Quitter status de 0 est traité comme vivant/sain et non égal à zéro non sain. string[]

HttpGetAction

Nom Description Valeur
type Type de l’action à entreprendre pour effectuer l’case activée d’intégrité. 'HTTPGetAction' (obligatoire)
path Chemin d’accès 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'

TCPSocketAction

Nom Description Valeur
type Type de l’action à entreprendre pour effectuer l’case activée d’intégrité. 'TCPSocketAction' (obligatoire)

ResourceRequests

Nom Description Valeur
cpu Processeur requis. 1 cœur peut être représenté par 1 ou 1000m. Ce doit être 500m ou 1 pour le niveau De base et {500m, 1, 2, 3, 4} pour le niveau Standard. string
mémoire Mémoire requise. 1 Go peut être représenté 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

Scale

Nom Description Valeur
maxReplicas facultatif. Nombre maximal de réplicas de conteneur. La valeur par défaut est 10 si elle n’est pas définie. int
minReplicas facultatif. Nombre minimal de réplicas de conteneur. int
rules Règles de mise à l’échelle. ScaleRule[]

ScaleRule

Nom Description Valeur
azureQueue Mise à l’échelle basée sur la file d’attente Azure. QueueScaleRule
custom Règle de mise à l’échelle personnalisée. CustomScaleRule
http Mise à l’échelle basée sur les requêtes HTTP. HttpScaleRule
name Nom de la règle d’échelle string
tcp Mise à l’échelle basée sur les requêtes Tcp. TcpScaleRule

QueueScaleRule

Nom Description Valeur
auth Secrets d’authentification pour la règle de mise à l’échelle de la file d’attente. ScaleRuleAuth[]
queueLength Longueur de la file d’attente. int
queueName Nom de la file d’attente. string

ScaleRuleAuth

Nom Description Valeur
secretRef Nom du secret Azure Spring Apps App Instance à partir duquel extraire les paramètres d’authentification. string
triggerParameter Paramètre de déclencheur qui utilise le secret string

CustomScaleRule

Nom Description Valeur
auth Secrets d’authentification pour la règle de mise à l’échelle personnalisée. ScaleRuleAuth[]
metadata Propriétés de métadonnées pour décrire une règle de mise à l’échelle personnalisée. object
type Type de la règle de mise à l’échelle personnalisée
par exemple : azure-servicebus, redis, etc.
string

HttpScaleRule

Nom Description Valeur
auth Secrets d’authentification pour la règle de mise à l’échelle personnalisée. ScaleRuleAuth[]
metadata Propriétés de métadonnées pour décrire la règle de mise à l’échelle http. object

TcpScaleRule

Nom Description Valeur
auth Secrets d’authentification pour la règle de mise à l’échelle tcp. ScaleRuleAuth[]
metadata Propriétés de métadonnées pour décrire la règle de mise à l’échelle tcp. object

UserSourceInfo

Nom Description Valeur
version Version de la source string
type Définir le type d’objet BuildResult
Conteneur
Pot
NetCoreZip
Source (obligatoire)

BuildResultUserSourceInfo

Nom Description Valeur
type Type de la source chargée 'BuildResult' (obligatoire)
buildResultId ID de ressource d’un résultat de build réussi existant sous le même spring instance. string

CustomContainerUserSourceInfo

Nom Description Valeur
type Type de la source chargée 'Container' (obligatoire)
customContainer Charge utile de conteneur personnalisée CustomContainer

CustomContainer

Nom Description Valeur
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é si ce n’est pas fourni. string[]
containerImage Image conteneur du conteneur personnalisé. Cela doit être sous la forme {repository}:{tag} sans le nom de serveur du registre string
imageRegistryCredential Informations d’identification du registre d’images ImageRegistryCredential
languageFramework Framework de langage de l’image conteneur chargée string
server Nom du registre qui contient l’image conteneur string

ImageRegistryCredential

Nom Description Valeur
mot de passe 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

Nom Description Valeur
type Type de la source chargée 'Jar' (obligatoire)
jvmOptions Paramètre JVM string
relativePath Chemin relatif du stockage qui stocke la source string
runtimeVersion Version runtime du fichier Jar string

NetCoreZipUploadedUserSourceInfo

Nom Description Valeur
type Type de la source chargée 'NetCoreZip' (obligatoire)
netCoreMainEntryPath Chemin d’accès à l’exécutable .NET relatif à la racine zip string
relativePath Chemin relatif du stockage qui stocke la source string
runtimeVersion Version runtime du fichier .Net string

SourceUploadedUserSourceInfo

Nom Description Valeur
type Type de la source chargée 'Source' (obligatoire)
artifactSelector Sélecteur de l’artefact à utiliser pour le déploiement de projets multi-modules. Il doit s’agir de
chemin d’accès relatif au module/projet cible.
string
relativePath Chemin relatif du stockage qui stocke la source string
runtimeVersion Version runtime du fichier source string

Sku

Nom Description Valeur
capacité Capacité actuelle de la ressource cible int
name Nom de la référence SKU string
Niveau Niveau de la référence SKU string

Définition de ressources de modèle ARM

Le type de ressource Spring/apps/deployments peut être déployé avec des opérations qui ciblent :

Pour obtenir la liste des propriétés modifiées dans chaque version d’API, consultez journal des modifications.

Format des ressources

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-03-01-preview",
  "name": "string",
  "sku": {
    "capacity": "int",
    "name": "string",
    "tier": "string"
  },
  "properties": {
    "active": "bool",
    "deploymentSettings": {
      "addonConfigs": {},
      "containerProbeSettings": {
        "disableProbe": "bool"
      },
      "environmentVariables": {},
      "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"
      },
      "scale": {
        "maxReplicas": "int",
        "minReplicas": "int",
        "rules": [
          {
            "azureQueue": {
              "auth": [
                {
                  "secretRef": "string",
                  "triggerParameter": "string"
                }
              ],
              "queueLength": "int",
              "queueName": "string"
            },
            "custom": {
              "auth": [
                {
                  "secretRef": "string",
                  "triggerParameter": "string"
                }
              ],
              "metadata": {},
              "type": "string"
            },
            "http": {
              "auth": [
                {
                  "secretRef": "string",
                  "triggerParameter": "string"
                }
              ],
              "metadata": {}
            },
            "name": "string",
            "tcp": {
              "auth": [
                {
                  "secretRef": "string",
                  "triggerParameter": "string"
                }
              ],
              "metadata": {}
            }
          }
        ]
      },
      "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
    }
  }
}

Objets ProbeAction

Définissez la propriété type pour spécifier le type d’objet.

Pour ExecAction, utilisez :

  "type": "ExecAction",
  "command": [ "string" ]

Pour HTTPGetAction, utilisez :

  "type": "HTTPGetAction",
  "path": "string",
  "scheme": "string"

Pour TCPSocketAction, utilisez :

  "type": "TCPSocketAction"

Objets UserSourceInfo

Définissez la propriété type pour spécifier le type d’objet.

Pour BuildResult, utilisez :

  "type": "BuildResult",
  "buildResultId": "string"

Pour Conteneur, utilisez :

  "type": "Container",
  "customContainer": {
    "args": [ "string" ],
    "command": [ "string" ],
    "containerImage": "string",
    "imageRegistryCredential": {
      "password": "string",
      "username": "string"
    },
    "languageFramework": "string",
    "server": "string"
  }

Pour Jar, utilisez :

  "type": "Jar",
  "jvmOptions": "string",
  "relativePath": "string",
  "runtimeVersion": "string"

Pour NetCoreZip, utilisez :

  "type": "NetCoreZip",
  "netCoreMainEntryPath": "string",
  "relativePath": "string",
  "runtimeVersion": "string"

Pour Source, utilisez :

  "type": "Source",
  "artifactSelector": "string",
  "relativePath": "string",
  "runtimeVersion": "string"

Valeurs de propriétés

Spring/apps/deployments

Nom Description Valeur
type Type de ressource « Microsoft.AppPlatform/Spring/apps/deployments »
apiVersion Version de l’API de ressource '2023-03-01-preview'
name Nom de la ressource

Découvrez comment définir des noms et des types pour des ressources enfants dans des modèles ARM JSON.
string (obligatoire)
sku Référence SKU de la ressource de déploiement Sku
properties Propriétés de la ressource de déploiement DeploymentResourceProperties

DeploymentResourceProperties

Nom Description Valeur
active Indique si le déploiement est actif bool
deploymentSettings Paramètres de déploiement du déploiement DeploymentSettings
source Informations de source chargées du déploiement. UserSourceInfo

DeploymentSettings

Nom Description Valeur
addonConfigs Collection de modules complémentaires object
containerProbeSettings Paramètres de la sonde d’activité et de préparation du conteneur ContainerProbeSettings
environmentVariables Collection de variables d’environnement object
livenessProbe Sonde périodique de l’exactitude de l’instance d’application. App Instance est redémarré si la sonde échoue. Plus d’informations : https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Sonde
readinessProbe Sonde périodique de la préparation du service App Instance. L’instance d’application sera supprimée des points de terminaison de service si la sonde échoue. Plus d’informations : https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Sonde
resourceRequests Quantité de ressources demandée pour le processeur et la mémoire requis. Il est recommandé d’utiliser ce champ pour représenter le processeur et la mémoire requis, l’ancien processeur de champ et memoryInGB sera déprécié ultérieurement. ResourceRequests
scale Propriétés de mise à l’échelle pour l’instance d’application Azure Spring Apps. Mettre à l'échelle
startupProbe StartupProbe indique que l’instance d’application a été initialisée avec succès. Si elle est spécifiée, aucune autre sonde n’est exécutée tant que cela ne s’est pas terminé correctement. Si cette sonde échoue, le pod est redémarré, comme si livenessProbe a échoué. Cela peut être utilisé pour fournir des paramètres de sonde différents au début du cycle de vie d’une instance d’application, quand le chargement des données ou le réchauffement d’un cache peut prendre beaucoup de temps que pendant le fonctionnement à l’état stable. Il ne peut pas être mis à jour. Plus d’informations : https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Sonde
terminationGracePeriodSeconds Durée facultative en secondes que l’instance d’application doit se terminer correctement. Peut être réduit dans la demande de suppression. La valeur doit être un entier non négatif. La valeur zéro indique l’arrêt immédiat via le signal d’arrêt (aucune possibilité d’arrêt). Si cette valeur est nulle, la période de grâce par défaut est utilisée à la place. La période de grâce est la durée en secondes après l’envoi d’un signal d’arrêt aux processus en cours d’exécution dans l’instance d’application, ainsi que le moment où les processus sont arrêtés de force avec un signal d’arrêt. Définissez cette valeur plus longtemps que le temps de nettoyage prévu pour votre processus. La valeur par défaut est de 90 secondes. int

ContainerProbeSettings

Nom Description Valeur
disableProbe Indique si désactiver la sonde liveness et readiness bool

Sonde

Nom Description Valeur
disableProbe Indiquez si la sonde est désactivée. bool (obligatoire)
failureThreshold Échecs consécutifs minimaux 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 le lancement des sondes. 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 probe. La valeur minimale est 1. int
probeAction Action de la sonde. ProbeAction
successThreshold Réussites consécutives minimales pour que la sonde soit considérée comme ayant réussi après l’échec. Doit être 1 pour le liveness 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

Nom Description Valeur
type Définir le type d’objet ExecAction
HTTPGetAction
TCPSocketAction (obligatoire)

ExecAction

Nom Description Valeur
type Type de l’action à effectuer pour effectuer l’case activée d’intégrité. 'ExecAction' (obligatoire)
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’étant pas exécutée à l’intérieur d’un interpréteur de commandes, les instructions d’interpréteur de commandes traditionnelles (',', etc.) ne fonctionnent pas. Pour utiliser un interpréteur de commandes, vous devez appeler explicitement cet interpréteur de commandes. Exit status de 0 est traité comme vivant/sain et non-zéro n’est pas sain. string[]

HttpGetAction

Nom Description Valeur
type Type de l’action à effectuer pour effectuer l’case activée d’intégrité. 'HTTPGetAction' (obligatoire)
path Chemin d’accès 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'

TCPSocketAction

Nom Description Valeur
type Type de l’action à effectuer pour effectuer l’case activée d’intégrité. 'TCPSocketAction' (obligatoire)

ResourceRequests

Nom Description Valeur
cpu Processeur requis. 1 cœur peut être représenté par 1 ou 1000m. Ce doit être 500m ou 1 pour le niveau De base et {500m, 1, 2, 3, 4} pour le niveau Standard. string
mémoire Mémoire requise. 1 Go peut être représenté 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

Scale

Nom Description Valeur
maxReplicas facultatif. Nombre maximal de réplicas de conteneur. La valeur par défaut est 10 si elle n’est pas définie. int
minReplicas facultatif. Nombre minimal de réplicas de conteneur. int
rules Règles de mise à l’échelle. ScaleRule[]

ScaleRule

Nom Description Valeur
azureQueue Mise à l’échelle basée sur la file d’attente Azure. QueueScaleRule
custom Règle de mise à l’échelle personnalisée. CustomScaleRule
http Mise à l’échelle basée sur les requêtes HTTP. HttpScaleRule
name Nom de la règle d’échelle string
tcp Mise à l’échelle basée sur les requêtes Tcp. TcpScaleRule

QueueScaleRule

Nom Description Valeur
auth Secrets d’authentification pour la règle de mise à l’échelle de la file d’attente. ScaleRuleAuth[]
queueLength Longueur de la file d’attente. int
queueName Nom de la file d’attente. string

ScaleRuleAuth

Nom Description Valeur
secretRef Nom du secret Azure Spring Apps App Instance à partir duquel extraire les paramètres d’authentification. string
triggerParameter Paramètre de déclencheur qui utilise le secret string

CustomScaleRule

Nom Description Valeur
auth Secrets d’authentification pour la règle de mise à l’échelle personnalisée. ScaleRuleAuth[]
metadata Propriétés de métadonnées pour décrire une règle de mise à l’échelle personnalisée. object
type Type de la règle de mise à l’échelle personnalisée
par exemple : azure-servicebus, redis, etc.
string

HttpScaleRule

Nom Description Valeur
auth Secrets d’authentification pour la règle de mise à l’échelle personnalisée. ScaleRuleAuth[]
metadata Propriétés de métadonnées pour décrire la règle d’échelle HTTP. object

TcpScaleRule

Nom Description Valeur
auth Secrets d’authentification pour la règle de mise à l’échelle tcp. ScaleRuleAuth[]
metadata Propriétés de métadonnées pour décrire la règle de mise à l’échelle tcp. object

UserSourceInfo

Nom Description Valeur
version Version de la source string
type Définir le type d’objet BuildResult
Conteneur
Pot
NetCoreZip
Source (obligatoire)

BuildResultUserSourceInfo

Nom Description Valeur
type Type de la source chargée 'BuildResult' (obligatoire)
buildResultId ID de ressource d’un résultat de build réussi existant sous le même spring instance. string

CustomContainerUserSourceInfo

Nom Description Valeur
type Type de la source chargée 'Container' (obligatoire)
customContainer Charge utile de conteneur personnalisée CustomContainer

CustomContainer

Nom Description Valeur
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é si ce n’est pas fourni. string[]
containerImage Image conteneur du conteneur personnalisé. Cela doit être sous la forme {repository}:{tag} sans le nom de serveur du registre string
imageRegistryCredential Informations d’identification du registre d’images ImageRegistryCredential
languageFramework Framework de langage de l’image conteneur chargée string
server Nom du registre qui contient l’image conteneur string

ImageRegistryCredential

Nom Description Valeur
mot de passe 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

Nom Description Valeur
type Type de la source chargée 'Jar' (obligatoire)
jvmOptions Paramètre JVM string
relativePath Chemin relatif du stockage qui stocke la source string
runtimeVersion Version runtime du fichier Jar string

NetCoreZipUploadedUserSourceInfo

Nom Description Valeur
type Type de la source chargée 'NetCoreZip' (obligatoire)
netCoreMainEntryPath Chemin d’accès à l’exécutable .NET relatif à la racine zip string
relativePath Chemin relatif du stockage qui stocke la source string
runtimeVersion Version runtime du fichier .Net string

SourceUploadedUserSourceInfo

Nom Description Valeur
type Type de la source chargée 'Source' (obligatoire)
artifactSelector Sélecteur de l’artefact à utiliser pour le déploiement de projets multi-modules. Il doit s’agir de
chemin d’accès relatif au module/projet cible.
string
relativePath Chemin relatif du stockage qui stocke la source string
runtimeVersion Version runtime du fichier source string

Sku

Nom Description Valeur
capacité Capacité actuelle de la ressource cible int
name Nom de la référence SKU string
Niveau Niveau de la référence SKU string

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 d’API, consultez journal des modifications.

Format des ressources

Pour créer une ressource Microsoft.AppPlatform/Spring/apps/deployments, ajoutez le Terraform suivant à votre modèle.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.AppPlatform/Spring/apps/deployments@2023-03-01-preview"
  name = "string"
  parent_id = "string"
  body = jsonencode({
    properties = {
      active = bool
      deploymentSettings = {
        addonConfigs = {}
        containerProbeSettings = {
          disableProbe = bool
        }
        environmentVariables = {}
        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"
        }
        scale = {
          maxReplicas = int
          minReplicas = int
          rules = [
            {
              azureQueue = {
                auth = [
                  {
                    secretRef = "string"
                    triggerParameter = "string"
                  }
                ]
                queueLength = int
                queueName = "string"
              }
              custom = {
                auth = [
                  {
                    secretRef = "string"
                    triggerParameter = "string"
                  }
                ]
                metadata = {}
                type = "string"
              }
              http = {
                auth = [
                  {
                    secretRef = "string"
                    triggerParameter = "string"
                  }
                ]
                metadata = {}
              }
              name = "string"
              tcp = {
                auth = [
                  {
                    secretRef = "string"
                    triggerParameter = "string"
                  }
                ]
                metadata = {}
              }
            }
          ]
        }
        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 la propriété type pour spécifier le type d’objet.

Pour ExecAction, utilisez :

  type = "ExecAction"
  command = [
    "string"
  ]

Pour HTTPGetAction, utilisez :

  type = "HTTPGetAction"
  path = "string"
  scheme = "string"

Pour TCPSocketAction, utilisez :

  type = "TCPSocketAction"

Objets UserSourceInfo

Définissez la propriété type pour spécifier le type d’objet.

Pour BuildResult, utilisez :

  type = "BuildResult"
  buildResultId = "string"

Pour Conteneur, utilisez :

  type = "Container"
  customContainer = {
    args = [
      "string"
    ]
    command = [
      "string"
    ]
    containerImage = "string"
    imageRegistryCredential = {
      password = "string"
      username = "string"
    }
    languageFramework = "string"
    server = "string"
  }

Pour Jar, utilisez :

  type = "Jar"
  jvmOptions = "string"
  relativePath = "string"
  runtimeVersion = "string"

Pour NetCoreZip, utilisez :

  type = "NetCoreZip"
  netCoreMainEntryPath = "string"
  relativePath = "string"
  runtimeVersion = "string"

Pour Source, utilisez :

  type = "Source"
  artifactSelector = "string"
  relativePath = "string"
  runtimeVersion = "string"

Valeurs de propriétés

Spring/apps/deployments

Nom Description Valeur
type Type de ressource « Microsoft.AppPlatform/Spring/apps/deployments@2023-03-01-preview »
name Nom de la ressource string (obligatoire)
parent_id ID de la ressource qui est le parent de cette ressource. ID pour la ressource de type : applications
sku Référence SKU de la ressource de déploiement Sku
properties Propriétés de la ressource de déploiement DeploymentResourceProperties

DeploymentResourceProperties

Nom Description Valeur
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

Nom Description Valeur
addonConfigs Collection de modules complémentaires object
containerProbeSettings Paramètres de la sonde d’activité et de préparation du conteneur ContainerProbeSettings
environmentVariables Collection de variables d’environnement object
livenessProbe Sonde périodique de l’exactitude de l’instance d’application. App Instance est redémarré si la sonde échoue. Plus d’informations : https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Sonde
readinessProbe Sonde périodique de la préparation du service App Instance. L’instance d’application sera supprimée des points de terminaison de service si la sonde échoue. Plus d’informations : https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Sonde
resourceRequests Quantité de ressources demandée pour le processeur et la mémoire requis. Il est recommandé d’utiliser ce champ pour représenter le processeur et la mémoire requis, l’ancien processeur de champ et memoryInGB sera déprécié ultérieurement. ResourceRequests
scale Propriétés de mise à l’échelle pour l’instance d’application Azure Spring Apps. Mettre à l'échelle
startupProbe StartupProbe indique que l’instance d’application a été initialisée avec succès. Si elle est spécifiée, aucune autre sonde n’est exécutée tant que cela ne s’est pas terminé correctement. Si cette sonde échoue, le pod est redémarré, comme si livenessProbe a échoué. Cela peut être utilisé pour fournir des paramètres de sonde différents au début du cycle de vie d’une instance d’application, quand le chargement des données ou le réchauffement d’un cache peut prendre beaucoup de temps que pendant le fonctionnement à l’état stable. Il ne peut pas être mis à jour. Plus d’informations : https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Sonde
terminationGracePeriodSeconds Durée facultative en secondes que l’instance d’application doit se terminer correctement. Peut être réduit dans la demande de suppression. La valeur doit être un entier non négatif. La valeur zéro indique l’arrêt immédiat via le signal d’arrêt (aucune possibilité d’arrêt). Si cette valeur est nulle, la période de grâce par défaut est utilisée à la place. La période de grâce est la durée en secondes après l’envoi d’un signal d’arrêt aux processus en cours d’exécution dans l’instance d’application, ainsi que le moment où les processus sont arrêtés de force avec un signal d’arrêt. Définissez cette valeur plus longtemps que le temps de nettoyage prévu pour votre processus. La valeur par défaut est de 90 secondes. int

ContainerProbeSettings

Nom Description Valeur
disableProbe Indique si désactiver la sonde liveness et readiness bool

Sonde

Nom Description Valeur
disableProbe Indiquez si la sonde est désactivée. bool (obligatoire)
failureThreshold Échecs consécutifs minimaux 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 le lancement des sondes. 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 probe. La valeur minimale est 1. int
probeAction Action de la sonde. ProbeAction
successThreshold Réussites consécutives minimales pour que la sonde soit considérée comme ayant réussi après l’échec. Doit être 1 pour le liveness 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

Nom Description Valeur
type Définir le type d’objet ExecAction
HTTPGetAction
TCPSocketAction (obligatoire)

ExecAction

Nom Description Valeur
type Type de l’action à entreprendre pour effectuer l’case activée d’intégrité. « ExecAction » (obligatoire)
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’étant pas exécutée à l’intérieur d’un interpréteur de commandes, les instructions d’interpréteur de commandes traditionnelles (',', etc.) ne fonctionnent pas. Pour utiliser un interpréteur de commandes, vous devez appeler explicitement cet interpréteur de commandes. Quitter status de 0 est traité comme vivant/sain et non égal à zéro non sain. string[]

HttpGetAction

Nom Description Valeur
type Type de l’action à entreprendre pour effectuer l’case activée d’intégrité. « HTTPGetAction » (obligatoire)
path Chemin d’accès 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 »

TCPSocketAction

Nom Description Valeur
type Type de l’action à entreprendre pour effectuer l’case activée d’intégrité. « TCPSocketAction » (obligatoire)

ResourceRequests

Nom Description Valeur
cpu Processeur requis. 1 cœur peut être représenté par 1 ou 1000m. Il doit s’agir de 500 m ou de 1 pour le niveau De base et de {500m, 1, 2, 3, 4} pour le niveau Standard. string
mémoire Mémoire requise. 1 Go peut être représenté 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

Scale

Nom Description Valeur
maxReplicas facultatif. Nombre maximal de réplicas de conteneur. La valeur par défaut est 10 si elle n’est pas définie. int
minReplicas facultatif. Nombre minimal de réplicas de conteneur. int
rules Règles de mise à l’échelle. ScaleRule[]

ScaleRule

Nom Description Valeur
azureQueue Mise à l’échelle basée sur la file d’attente Azure. QueueScaleRule
custom Règle de mise à l’échelle personnalisée. CustomScaleRule
http Mise à l’échelle basée sur les requêtes HTTP. HttpScaleRule
name Nom de la règle d’échelle string
tcp Mise à l’échelle basée sur les requêtes Tcp. TcpScaleRule

QueueScaleRule

Nom Description Valeur
auth Secrets d’authentification pour la règle d’échelle de file d’attente. ScaleRuleAuth[]
queueLength Longueur de la file d’attente. int
queueName Nom de la file d’attente. string

ScaleRuleAuth

Nom Description Valeur
secretRef Nom du secret de l’instance d’application Azure Spring Apps à partir duquel extraire les paramètres d’authentification. string
triggerParameter Paramètre déclencheur qui utilise le secret string

CustomScaleRule

Nom Description Valeur
auth Secrets d’authentification pour la règle de mise à l’échelle personnalisée. ScaleRuleAuth[]
metadata Propriétés de métadonnées pour décrire une règle de mise à l’échelle personnalisée. object
type Type de la règle de mise à l’échelle personnalisée
par exemple : azure-servicebus, redis, etc.
string

HttpScaleRule

Nom Description Valeur
auth Secrets d’authentification pour la règle de mise à l’échelle personnalisée. ScaleRuleAuth[]
metadata Propriétés de métadonnées pour décrire la règle d’échelle HTTP. object

TcpScaleRule

Nom Description Valeur
auth Secrets d’authentification pour la règle de mise à l’échelle tcp. ScaleRuleAuth[]
metadata Propriétés de métadonnées pour décrire la règle de mise à l’échelle tcp. object

UserSourceInfo

Nom Description Valeur
version Version de la source string
type Définir le type d’objet BuildResult
Conteneur
Pot
NetCoreZip
Source (obligatoire)

BuildResultUserSourceInfo

Nom Description Valeur
type Type de la source chargée « BuildResult » (obligatoire)
buildResultId ID de ressource d’un résultat de build réussi existant sous le même spring instance. string

CustomContainerUserSourceInfo

Nom Description Valeur
type Type de la source chargée « Conteneur » (obligatoire)
customContainer Charge utile de conteneur personnalisée CustomContainer

CustomContainer

Nom Description Valeur
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é si ce n’est pas fourni. string[]
containerImage Image conteneur du conteneur personnalisé. Cela doit être sous la forme de {repository}:{tag} sans le nom de serveur du Registre string
imageRegistryCredential Informations d’identification du registre d’images ImageRegistryCredential
languageFramework Framework de langage de l’image conteneur chargée string
server Nom du registre qui contient l’image conteneur string

ImageRegistryCredential

Nom Description Valeur
mot de passe 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

Nom Description Valeur
type Type de la source chargée « Jar » (obligatoire)
jvmOptions Paramètre JVM string
relativePath Chemin relatif du stockage qui stocke la source string
runtimeVersion Version runtime du fichier Jar string

NetCoreZipUploadedUserSourceInfo

Nom Description Valeur
type Type de la source chargée « NetCoreZip » (obligatoire)
netCoreMainEntryPath Chemin d’accès à l’exécutable .NET relatif à la racine zip string
relativePath Chemin relatif du stockage qui stocke la source string
runtimeVersion Version runtime du fichier .Net string

SourceUploadedUserSourceInfo

Nom Description Valeur
type Type de la source chargée « Source » (obligatoire)
artifactSelector Sélecteur de l’artefact à utiliser pour le déploiement de projets multi-modules. Cela devrait être
chemin relatif du module/projet cible.
string
relativePath Chemin relatif du stockage qui stocke la source string
runtimeVersion Version runtime du fichier source string

Sku

Nom Description Valeur
capacité Capacité actuelle de la ressource cible int
name Nom de la référence SKU string
Niveau Niveau de la référence SKU string