Partager via


Microsoft.App containerApps

Définition de ressource Bicep

Le type de ressource containerApps peut être déployé avec des opérations qui ciblent :

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

Format de ressource

Pour créer une ressource Microsoft.App/containerApps, ajoutez le bicep suivant à votre modèle.

resource symbolicname 'Microsoft.App/containerApps@2024-10-02-preview' = {
  extendedLocation: {
    name: 'string'
    type: 'string'
  }
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  kind: 'string'
  location: 'string'
  managedBy: 'string'
  name: 'string'
  properties: {
    configuration: {
      activeRevisionsMode: 'string'
      dapr: {
        appId: 'string'
        appPort: int
        appProtocol: 'string'
        enableApiLogging: bool
        enabled: bool
        httpMaxRequestSize: int
        httpReadBufferSize: int
        logLevel: 'string'
      }
      identitySettings: [
        {
          identity: 'string'
          lifecycle: 'string'
        }
      ]
      ingress: {
        additionalPortMappings: [
          {
            exposedPort: int
            external: bool
            targetPort: int
          }
        ]
        allowInsecure: bool
        clientCertificateMode: 'string'
        corsPolicy: {
          allowCredentials: bool
          allowedHeaders: [
            'string'
          ]
          allowedMethods: [
            'string'
          ]
          allowedOrigins: [
            'string'
          ]
          exposeHeaders: [
            'string'
          ]
          maxAge: int
        }
        customDomains: [
          {
            bindingType: 'string'
            certificateId: 'string'
            name: 'string'
          }
        ]
        exposedPort: int
        external: bool
        ipSecurityRestrictions: [
          {
            action: 'string'
            description: 'string'
            ipAddressRange: 'string'
            name: 'string'
          }
        ]
        stickySessions: {
          affinity: 'string'
        }
        targetPort: int
        targetPortHttpScheme: 'string'
        traffic: [
          {
            label: 'string'
            latestRevision: bool
            revisionName: 'string'
            weight: int
          }
        ]
        transport: 'string'
      }
      maxInactiveRevisions: int
      registries: [
        {
          identity: 'string'
          passwordSecretRef: 'string'
          server: 'string'
          username: 'string'
        }
      ]
      revisionTransitionThreshold: int
      runtime: {
        dotnet: {
          autoConfigureDataProtection: bool
        }
        java: {
          enableMetrics: bool
          javaAgent: {
            enabled: bool
            logging: {
              loggerSettings: [
                {
                  level: 'string'
                  logger: 'string'
                }
              ]
            }
          }
        }
      }
      secrets: [
        {
          identity: 'string'
          keyVaultUrl: 'string'
          name: 'string'
          value: 'string'
        }
      ]
      service: {
        type: 'string'
      }
      targetLabel: 'string'
    }
    environmentId: 'string'
    managedEnvironmentId: 'string'
    patchingConfiguration: {
      patchingMode: 'string'
    }
    template: {
      containers: [
        {
          args: [
            'string'
          ]
          command: [
            'string'
          ]
          env: [
            {
              name: 'string'
              secretRef: 'string'
              value: 'string'
            }
          ]
          image: 'string'
          imageType: 'string'
          name: 'string'
          probes: [
            {
              failureThreshold: int
              httpGet: {
                host: 'string'
                httpHeaders: [
                  {
                    name: 'string'
                    value: 'string'
                  }
                ]
                path: 'string'
                port: int
                scheme: 'string'
              }
              initialDelaySeconds: int
              periodSeconds: int
              successThreshold: int
              tcpSocket: {
                host: 'string'
                port: int
              }
              terminationGracePeriodSeconds: int
              timeoutSeconds: int
              type: 'string'
            }
          ]
          resources: {
            cpu: int
            gpu: int
            memory: 'string'
          }
          volumeMounts: [
            {
              mountPath: 'string'
              subPath: 'string'
              volumeName: 'string'
            }
          ]
        }
      ]
      initContainers: [
        {
          args: [
            'string'
          ]
          command: [
            'string'
          ]
          env: [
            {
              name: 'string'
              secretRef: 'string'
              value: 'string'
            }
          ]
          image: 'string'
          imageType: 'string'
          name: 'string'
          resources: {
            cpu: int
            gpu: int
            memory: 'string'
          }
          volumeMounts: [
            {
              mountPath: 'string'
              subPath: 'string'
              volumeName: 'string'
            }
          ]
        }
      ]
      revisionSuffix: 'string'
      scale: {
        cooldownPeriod: int
        maxReplicas: int
        minReplicas: int
        pollingInterval: int
        rules: [
          {
            azureQueue: {
              accountName: 'string'
              auth: [
                {
                  secretRef: 'string'
                  triggerParameter: 'string'
                }
              ]
              identity: 'string'
              queueLength: int
              queueName: 'string'
            }
            custom: {
              auth: [
                {
                  secretRef: 'string'
                  triggerParameter: 'string'
                }
              ]
              identity: 'string'
              metadata: {
                {customized property}: 'string'
              }
              type: 'string'
            }
            http: {
              auth: [
                {
                  secretRef: 'string'
                  triggerParameter: 'string'
                }
              ]
              identity: 'string'
              metadata: {
                {customized property}: 'string'
              }
            }
            name: 'string'
            tcp: {
              auth: [
                {
                  secretRef: 'string'
                  triggerParameter: 'string'
                }
              ]
              identity: 'string'
              metadata: {
                {customized property}: 'string'
              }
            }
          }
        ]
      }
      serviceBinds: [
        {
          clientType: 'string'
          customizedKeys: {
            {customized property}: 'string'
          }
          name: 'string'
          serviceId: 'string'
        }
      ]
      terminationGracePeriodSeconds: int
      volumes: [
        {
          mountOptions: 'string'
          name: 'string'
          secrets: [
            {
              path: 'string'
              secretRef: 'string'
            }
          ]
          storageName: 'string'
          storageType: 'string'
        }
      ]
    }
    workloadProfileName: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

Valeurs de propriété

Configuration

Nom Description Valeur
activeRevisionsMode ActiveRevisionsMode contrôle la façon dont les révisions actives sont gérées pour l’application conteneur :
<liste><élément>Unique : une seule révision peut être active à la fois. Les poids du trafic ne peuvent pas être utilisés. Il s’agit de la valeur par défaut.</item><élément>Multiple : plusieurs révisions peuvent être actives, y compris les pondérations et étiquettes facultatives du trafic.</item><élément>Étiquettes : seules les révisions avec étiquettes sont actives. Les pondérations du trafic peuvent être appliquées aux étiquettes.</item></list>
'Étiquettes'
'Multiple'
'Single'
dapr Configuration dapr pour l’application conteneur. dapr
identitySettings Paramètres facultatifs pour les identités managées affectées à l’application conteneur. Si une identité managée n’est pas spécifiée ici, les paramètres par défaut sont utilisés. IdentitySettings[]
entrée Configurations d’entrée. d’entrée
maxInactiveRevisions Optionnel. Nombre maximal de révisions inactives qu’une application conteneur peut avoir. Int
Registres Collection d’informations d’identification de registre de conteneurs privés pour les conteneurs utilisés par l’application conteneur RegistryCredentials[]
revisionTransitionThreshold Optionnel. Pourcentage du nombre total de réplicas qui doivent être présentés avant la transition de révision. La valeur par défaut est 100 lorsqu’aucune donnée n’est donnée. La valeur doit être supérieure à 0 et inférieure ou égale à 100. Int

Contraintes:
Valeur minimale = 1
Valeur maximale = 100
Duree Configuration du runtime d’application pour l’application conteneur. runtime
Secrets Collection de secrets utilisés par une application conteneur secret[]
service Application conteneur pour être un dev Container App Service Service
targetLabel Obligatoire en mode révisions d’étiquettes. Étiquette à appliquer à la révision nouvellement créée. corde

Conteneur

Nom Description Valeur
args Arguments de commande de démarrage du conteneur. string[]
commander Commande de démarrage du conteneur. string[]
Env Variables d’environnement de conteneur. EnvironmentVar[]
image Balise d’image conteneur. corde
type d'image Type de l’image. Définissez sur CloudBuild pour permettre au système de gérer l’image, où l’utilisateur ne pourra pas mettre à jour l’image via le champ image. Définissez sur ContainerImage pour l’image fournie par l’utilisateur. 'CloudBuild'
'ContainerImage'
nom Nom du conteneur personnalisé. corde
Sondes Liste des sondes pour le conteneur. containerAppProbe[]
ressources Exigences en matière de ressources de conteneur. ContainerResources
volumeMounts Montages de volumes de conteneurs. VolumeMount[]

ContainerAppProbe

Nom Description Valeur
failureThreshold Échecs consécutifs minimum pour que la sonde soit considérée comme ayant échoué après avoir réussi. La valeur par défaut est 3. La valeur minimale est 1. La valeur maximale est 10. Int
httpGet HTTPGet spécifie la requête http à effectuer. ContainerAppProbeHttpGet
initialDelaySeconds Nombre de secondes après le démarrage du conteneur avant l’initialisation des sondes liveness. La valeur minimale est 1. La valeur maximale est 60. Int
periodSeconds Fréquence (en secondes) d’exécution de la sonde. La valeur par défaut est de 10 secondes. La valeur minimale est 1. La valeur maximale est 240. Int
successThreshold Nombre minimal de réussites consécutives pour que la sonde soit considérée comme réussie après avoir échoué. La valeur par défaut est 1. Doit être 1 pour la vie et le démarrage. La valeur minimale est 1. La valeur maximale est 10. Int
tcpSocket TCPSocket spécifie une action impliquant un port TCP. Les hooks TCP ne sont pas encore pris en charge. ContainerAppProbeTcpSocket
terminationGracePeriodSeconds Durée facultative en secondes, le pod doit se terminer correctement lors de l’échec de la sonde. La période de grâce est la durée en secondes après que les processus en cours d’exécution dans le pod soient envoyés un signal d’arrêt et le moment où 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. Si cette valeur est nulle, l’arrêt du podGracePeriodSeconds est utilisé. Dans le cas contraire, cette valeur remplace la valeur fournie par la spécification de pod. 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). Il s’agit d’un champ alpha et nécessite l’activation de la porte de fonctionnalité ProbeTerminationGracePeriod. La valeur maximale est de 3600 secondes (1 heure) Int
timeoutSeconds Nombre de secondes après lesquelles la sonde expire. La valeur par défaut est 1 seconde. La valeur minimale est 1. La valeur maximale est 240. Int
type Type de sonde. 'Liveness'
'Readiness'
'Startup'

ContainerAppProbeHttpGet

Nom Description Valeur
hôte Nom d’hôte à connecter, par défaut à l’adresse IP du pod. Vous souhaitez probablement définir « Host » dans httpHeaders à la place. corde
httpHeaders En-têtes personnalisés à définir dans la requête. HTTP autorise les en-têtes répétés. ContainerAppProbeHttpGetHttpHeadersItem[]
chemin Chemin d’accès au serveur HTTP. corde
port Nom ou numéro du port à accéder au conteneur. Le nombre doit être compris entre 1 et 65535. Le nom doit être un IANA_SVC_NAME. int (obligatoire)
schéma Schéma à utiliser pour la connexion à l’hôte. La valeur par défaut est HTTP. 'HTTP'
'HTTPS'

ContainerAppProbeHttpGetHttpHeadersItem

Nom Description Valeur
nom Nom du champ d’en-tête chaîne (obligatoire)
valeur Valeur du champ d’en-tête chaîne (obligatoire)

ContainerAppProbeTcpSocket

Nom Description Valeur
hôte Facultatif : nom d’hôte auquel se connecter, par défaut à l’adresse IP du pod. corde
port Numéro ou nom du port à accéder au conteneur. Le nombre doit être compris entre 1 et 65535. Le nom doit être un IANA_SVC_NAME. int (obligatoire)

ContainerAppProperties

Nom Description Valeur
configuration Propriétés de configuration d’application conteneur non versionnée. configuration
environmentId ID de ressource de l’environnement. corde
managedEnvironmentId Obsolescent. ID de ressource de l’environnement de l’application conteneur. corde
patchingConfiguration Configuration automatique des correctifs d’application conteneur. ContainerAppPropertiesPatchingConfiguration
modèle Définition de l’application avec version de l’application conteneur. modèle
workloadProfileName Nom du profil de charge de travail à épingler pour l’exécution de l’application conteneur. corde

ContainerAppPropertiesPatchingConfiguration

Nom Description Valeur
patchingMode Mode de mise à jour corrective pour l’application conteneur. La valeur Null ou la valeur par défaut dans ce champ est interprétée comme Automatique par rp. Le mode automatique applique automatiquement les correctifs disponibles. Le mode manuel oblige l’utilisateur à appliquer manuellement des correctifs. Le mode désactivé arrête la détection des correctifs et la mise à jour corrective automatique. 'Automatique'
'Désactivé'
'Manuel'

ContainerResources

Nom Description Valeur
CPU Processeur requis dans les cœurs, par exemple 0,5 Int
GPU GPU requis dans les cœurs pour l’application basée sur GPU, par exemple 1.0 Int
mémoire Mémoire requise, par exemple « 250 Mo » corde

CorsPolicy

Nom Description Valeur
allowCredentials Spécifie si la ressource autorise les informations d’identification Bool
allowedHeaders Spécifie le contenu de l’en-tête access-control-allow-headers string[]
allowedMethods Spécifie le contenu de l’en-tête access-control-allow-methods string[]
allowedOrigins Spécifie le contenu de l’en-tête access-control-allow-origins string[] (obligatoire)
exposeHeaders Spécifie le contenu de l’en-tête access-control-expose-headers string[]
maxAge Spécifie le contenu de l’en-tête access-control-max-age Int

CustomDomain

Nom Description Valeur
bindingType Type de liaison de domaine personnalisé. 'Auto'
'Désactivé'
'SniEnabled'
certificateId ID de ressource du certificat à lier à ce nom d’hôte. Doit exister dans l’environnement managé. corde
nom Nom d’hôte. chaîne (obligatoire)

CustomScaleRule

Nom Description Valeur
Auth Secrets d’authentification pour la règle de mise à l’échelle personnalisée. ScaleRuleAuth[]
identité ID de ressource d’une identité managée affectée par l’utilisateur qui est affectée à l’application conteneur ou « système » pour l’identité affectée par le système. corde
métadonnées Propriétés de métadonnées pour décrire une règle d’échelle personnalisée. CustomScaleRuleMetadata
type Type de la règle d’échelle personnalisée
par exemple : azure-servicebus, redis, etc.
corde

CustomScaleRuleMetadata

Nom Description Valeur

Dapr

Nom Description Valeur
appId Identificateur d’application Dapr corde
appPort Indique à Dapr le port sur lequel votre application écoute Int
appProtocol Indique à Dapr quel protocole votre application utilise. Les options valides sont http et grpc. La valeur par défaut est http 'grpc'
'http'
enableApiLogging Active la journalisation des API pour le side-car Dapr Bool
Activé Boolean indiquant si la voiture latérale Dapr est activée Bool
httpMaxRequestSize Augmentation de la taille maximale du corps de la requête http et du paramètre de serveurs grpc en Mo pour gérer le chargement de fichiers volumineux. La valeur par défaut est de 4 Mo. Int
httpReadBufferSize Taille maximale dapr de la mémoire tampon de lecture d’en-tête http en Ko à gérer lors de l’envoi d’en-têtes multi-Ko. La valeur par défaut est 65 Ko. Int
logLevel Définit le niveau de journal pour le side-car Dapr. Les valeurs autorisées sont de débogage, d’informations, d’avertissement, d’erreur. La valeur par défaut est les informations. 'debug'
'error'
'info'
'avertir'

EnvironmentVar

Nom Description Valeur
nom Nom de la variable d’environnement. corde
secretRef Nom du secret de l’application conteneur à partir duquel extraire la valeur de la variable d’environnement. corde
valeur Valeur de variable d’environnement non secrète. corde

ExtendedLocation

Nom Description Valeur
nom Nom de l’emplacement étendu. corde
type Type de l’emplacement étendu. 'CustomLocation'

HttpScaleRule

Nom Description Valeur
Auth Secrets d’authentification pour la règle de mise à l’échelle personnalisée. ScaleRuleAuth[]
identité ID de ressource d’une identité managée affectée par l’utilisateur qui est affectée à l’application conteneur ou « système » pour l’identité affectée par le système. corde
métadonnées Propriétés de métadonnées pour décrire la règle de mise à l’échelle http. HttpScaleRuleMetadata

HttpScaleRuleMetadata

Nom Description Valeur

IdentitySettings

Nom Description Valeur
identité ID de ressource d’une identité managée affectée par l’utilisateur qui est affectée à l’application conteneur ou « système » pour l’identité affectée par le système. chaîne (obligatoire)
cycle de vie Permet de sélectionner les étapes de cycle de vie d’une application conteneur pendant laquelle l’identité managée doit être disponible. 'All'
'Init'
'Main'
'None'

Entrée

Nom Description Valeur
additionalPortMappings Paramètres permettant d’exposer des ports supplémentaires sur l’application conteneur IngressPortMapping []
allowInsecure Bool indiquant si les connexions HTTP à sont autorisées. Si la valeur est false, les connexions HTTP sont automatiquement redirigées vers des connexions HTTPS Bool
clientCertificateMode Mode de certificat client pour l’authentification mTLS. Ignorer indique que le serveur supprime le certificat client lors du transfert. Accepter indique que le serveur transfère le certificat client, mais ne nécessite pas de certificat client. Exiger que le serveur requiert un certificat client. 'accepter'
'ignorer'
'exiger'
corsPolicy Stratégie CORS pour l’application conteneur CorsPolicy
customDomains liaisons de domaine personnalisées pour les noms d’hôte container Apps. CustomDomain[]
exposedPort Port exposé dans les conteneurs pour le trafic TCP à partir de l’entrée Int
externe Bool indiquant si l’application expose un point de terminaison http externe Bool
ipSecurityRestrictions Règles pour restreindre l’adresse IP entrante. ipSecurityRestrictionRule[]
stickySessions Sessions sticky pour le mode révision unique IngressStickySessions
targetPort Port cible dans les conteneurs pour le trafic à partir d’entrée Int
targetPortHttpScheme Indique si une application http écoute sur http ou https 'http'
'https'
trafic Pondérations du trafic pour les révisions de l’application TrafficWeight[]
transport Protocole de transport d’entrée 'auto'
'http'
'http2'
'tcp'

IngressPortMapping

Nom Description Valeur
exposedPort Spécifie le port exposé pour le port cible. S’il n’est pas spécifié, il est défini par défaut sur le port cible Int
externe Spécifie si le port de l’application est accessible en dehors de l’environnement bool (obligatoire)
targetPort Spécifie l’écoute du conteneur de l’utilisateur de port sur int (obligatoire)

IngressStickySessions

Nom Description Valeur
affinité Affinité de session sticky 'none'
'sticky'

InitContainer

Nom Description Valeur
args Arguments de commande de démarrage du conteneur. string[]
commander Commande de démarrage du conteneur. string[]
Env Variables d’environnement de conteneur. EnvironmentVar[]
image Balise d’image conteneur. corde
type d'image Type de l’image. Définissez sur CloudBuild pour permettre au système de gérer l’image, où l’utilisateur ne pourra pas mettre à jour l’image via le champ image. Définissez sur ContainerImage pour l’image fournie par l’utilisateur. 'CloudBuild'
'ContainerImage'
nom Nom du conteneur personnalisé. corde
ressources Exigences en matière de ressources de conteneur. ContainerResources
volumeMounts Montages de volumes de conteneurs. VolumeMount[]

IpSecurityRestrictionRule

Nom Description Valeur
action Autoriser ou refuser des règles à déterminer pour l’adresse IP entrante. Remarque : Les règles peuvent uniquement se composer de ALL Allow ou ALL Deny 'Autoriser'
'Deny' (obligatoire)
description Décrivez la règle de restriction IP envoyée à l’application conteneur. Il s’agit d’un champ facultatif. corde
ipAddressRange Notation CIDR pour correspondre à l’adresse IP entrante chaîne (obligatoire)
nom Nom de la règle de restriction IP. chaîne (obligatoire)

LoggerSetting

Nom Description Valeur
niveau Niveau de journal du journal spécifié. 'debug'
'error'
'info'
'off'
'trace'
'warn' (obligatoire)
bûcheron Nom de l’enregistreur d’événements. chaîne (obligatoire)

ManagedServiceIdentity

Nom Description Valeur
type Type d’identité de service managé (où les types SystemAssigned et UserAssigned sont autorisés). 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (obligatoire)
userAssignedIdentities Ensemble d’identités affectées par l’utilisateur associées à la ressource. Les clés de dictionnaire userAssignedIdentities seront des ID de ressource ARM sous la forme : « /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Les valeurs de dictionnaire peuvent être des objets vides ({}) dans les requêtes. UserAssignedIdentities

Microsoft.App/containerApps

Nom Description Valeur
extendedLocation Type complexe de l’emplacement étendu. ExtendedLocation
identité identités managées pour l’application conteneur afin d’interagir avec d’autres services Azure sans conserver de secrets ou d’informations d’identification dans le code. ManagedServiceIdentity
gentil Métadonnées utilisées pour afficher différentes expériences pour les ressources du même type ; Par exemple, WorkflowApp est un type de Microsoft.App/ContainerApps. Si elle est prise en charge, le fournisseur de ressources doit valider et conserver cette valeur. 'workflowapp'
emplacement Emplacement géographique où réside la ressource chaîne (obligatoire)
managedBy ID de ressource complet de la ressource qui gère cette ressource. Indique si cette ressource est gérée par une autre ressource Azure. S’il est présent, le déploiement en mode complet ne supprime pas la ressource si elle est supprimée du modèle, car elle est gérée par une autre ressource. corde
nom Nom de la ressource chaîne (obligatoire)
Propriétés Propriétés spécifiques à la ressource ContainerApp containerAppProperties
étiquettes Balises de ressource Dictionnaire de noms et de valeurs d’étiquettes. Consultez les balises dans les modèles

QueueScaleRule

Nom Description Valeur
accountName Nom du compte de stockage. obligatoire si vous utilisez l’identité managée pour authentifier corde
Auth Secrets d’authentification pour la règle d’échelle de file d’attente. ScaleRuleAuth[]
identité ID de ressource d’une identité managée affectée par l’utilisateur qui est affectée à l’application conteneur ou « système » pour l’identité affectée par le système. corde
queueLength Longueur de file d’attente. Int
queueName Nom de la file d’attente. corde

RegistryCredentials

Nom Description Valeur
identité Identité managée à utiliser pour s’authentifier auprès d’Azure Container Registry. Pour les identités affectées par l’utilisateur, utilisez l’ID complet de ressource d’identité affectée par l’utilisateur. Pour les identités affectées par le système, utilisez « système » corde
passwordSecretRef Nom du secret qui contient le mot de passe de connexion au Registre corde
serveur Container Registry Server corde
nom d’utilisateur Nom d’utilisateur du registre de conteneurs corde

Durée

Nom Description Valeur
dotnet Configuration de l’application .NET RuntimeDotnet
Java Configuration de l’application Java RuntimeJava

RuntimeDotnet

Nom Description Valeur
autoConfigureDataProtection Configurer automatiquement la fonctionnalité de protection des données de base ASP.NET Bool

RuntimeJava

Nom Description Valeur
enableMetrics Activer les métriques jmx core pour l’application Java Bool
javaAgent Fonctionnalités de diagnostic obtenues par l’agent Java runtimeJavaAgent

RuntimeJavaAgent

Nom Description Valeur
Activé Activez l’injection d’agent Java pour l’application Java. Bool
exploitation forestière Fonctionnalités du scénario de journalisation Java. RuntimeJavaAgentLogging

RuntimeJavaAgentLogging

Nom Description Valeur
loggerSettings Paramètres de l’enregistreur d’événements pour l’application Java. LoggerSetting[]

Écaille

Nom Description Valeur
cooldownPeriod Optionnel. Période de refroidissement KEDA. La valeur par défaut est de 300 secondes si elle n’est pas définie. Int
maxReplicas Optionnel. Nombre maximal de réplicas de conteneur. La valeur par défaut est 10 si elle n’est pas définie. Int
minReplicas Optionnel. Nombre minimal de réplicas de conteneur. Int
pollingInterval Optionnel. Intervalle d’interrogation KEDA. La valeur par défaut est de 30 secondes si elle n’est pas définie. Int
règlement Règles de mise à l’échelle. ScaleRule[]

ScaleRule

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

ScaleRuleAuth

Nom Description Valeur
secretRef Nom du secret à partir duquel extraire les params d’authentification. corde
triggerParameter Paramètre de déclencheur qui utilise le secret corde

Secret

Nom Description Valeur
identité ID de ressource d’une identité managée pour s’authentifier auprès d’Azure Key Vault ou système pour utiliser une identité affectée par le système. corde
keyVaultUrl URL Azure Key Vault pointant vers le secret référencé par l’application conteneur. corde
nom Nom du secret. corde
valeur Valeur secrète. corde

Contraintes:
Valeur sensible. Passez en tant que paramètre sécurisé.

SecretVolumeItem

Nom Description Valeur
chemin Chemin d’accès au secret de projet vers. Si aucun chemin d’accès n’est fourni, le chemin d’accès est défini par défaut sur le nom du secret répertorié dans secretRef. corde
secretRef Nom du secret de l’application conteneur à partir duquel extraire la valeur du secret. corde

Service

Nom Description Valeur
type Type de service Dev ContainerApp chaîne (obligatoire)

ServiceBind

Nom Description Valeur
clientType Type du client à utiliser pour se connecter au service corde
personnalisation des clés Clés personnalisées pour personnaliser les valeurs injectées dans l’application ServiceBind CustomKeys
nom Nom de la liaison de service corde
serviceId ID de ressource du service cible corde

ServiceBind CustomKeys

Nom Description Valeur

TcpScaleRule

Nom Description Valeur
Auth Secrets d’authentification pour la règle de mise à l’échelle tcp. ScaleRuleAuth[]
identité ID de ressource d’une identité managée affectée par l’utilisateur qui est affectée à l’application conteneur ou « système » pour l’identité affectée par le système. corde
métadonnées Propriétés de métadonnées pour décrire la règle de mise à l’échelle tcp. tcpScaleRuleMetadata

TcpScaleRuleMetadata

Nom Description Valeur

Modèle

Nom Description Valeur
Conteneurs Liste des définitions de conteneur pour l’application conteneur. conteneur[]
initContainers Liste des conteneurs spécialisés qui s’exécutent avant les conteneurs d’applications. InitContainer[]
revisionSuffix Suffixe convivial ajouté au nom de révision corde
écaille Propriétés de mise à l’échelle de l’application conteneur. Échelle
serviceBinds Liste des services d’application conteneur liés à l’application ServiceBind[]
terminationGracePeriodSeconds Durée facultative en secondes, l’instance d’application conteneur doit s’arrêter correctement. 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. Définissez cette valeur plus longtemps que l’heure de nettoyage attendue pour votre processus. La valeur par défaut est de 30 secondes. Int
Volumes Liste des définitions de volume pour l’application conteneur. de volume []

TrackedResourceTags

Nom Description Valeur

TrafficWeight

Nom Description Valeur
étiquette Associe une étiquette de trafic à une révision corde
latestRevision Indique que le poids du trafic appartient à une dernière révision stable Bool
revisionName Nom d’une révision corde
poids Poids du trafic affecté à une révision Int

UserAssignedIdentities

Nom Description Valeur

UserAssignedIdentity

Nom Description Valeur

Volume

Nom Description Valeur
mountOptions Options de montage utilisées lors du montage du partage de fichiers Azure ou du partage de fichiers NFS Azure. Doit être une chaîne séparée par des virgules. corde
nom Nom du volume. corde
Secrets Liste des secrets à ajouter en volume. Si aucun secret n’est fourni, tous les secrets de la collection sont ajoutés au volume. SecretVolumeItem[]
storageName Nom de la ressource de stockage. Il n’est pas nécessaire de fournir EmptyDir et Secret. corde
storageType Type de stockage pour le volume. Si ce n’est pas le cas, utilisez EmptyDir. 'AzureFile'
'EmptyDir'
'NfsAzureFile'
'Secret'
'Smb'

VolumeMount

Nom Description Valeur
mountPath Chemin d’accès au sein du conteneur auquel le volume doit être monté. Ne doit pas contenir ' :'. corde
subPath Chemin d’accès au sein du volume à partir duquel le volume du conteneur doit être monté. La valeur par défaut est « » (racine du volume). corde
volumeName Cela doit correspondre au nom d’un volume. corde

Exemples de démarrage rapide

Les exemples de démarrage rapide suivants déploient ce type de ressource.

Fichier Bicep Description
crée une application conteneur et un environnement avec le registre Créez un environnement d’application conteneur avec une application conteneur de base à partir d’azure Container Registry. Il déploie également un espace de travail log Analytique pour stocker les journaux.
Crée une application conteneur avec une règle de mise à l’échelle HTTP définie Créez un environnement d’application conteneur avec une application conteneur de base qui se met à l’échelle en fonction du trafic HTTP.
crée une application conteneur dans un environnement d’application conteneur Créez un environnement d’application conteneur avec une application conteneur de base. Il déploie également un espace de travail log Analytique pour stocker les journaux.
crée une application de microservices Dapr à l’aide de Container Apps Créez une application de microservices Dapr à l’aide de Container Apps.
Crée une application Dapr pub-sub servicebus à l’aide de Container Apps Créez une application Dapr pub-sub servicebus à l’aide de Container Apps.
Crée une application conteneur avec un environnement d’application conteneur Créez un environnement d’application conteneur avec une application conteneur de base. Il déploie également un espace de travail log Analytique pour stocker les journaux.
Crée un environnement d’application conteneur externe avec un de réseau virtuel Crée un environnement d’application conteneur externe avec un réseau virtuel.
Crée un environnement d’application conteneur interne avec un de réseau virtuel Crée un environnement d’application conteneur interne avec un réseau virtuel.

Définition de ressource de modèle ARM

Le type de ressource containerApps peut être déployé avec des opérations qui ciblent :

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

Format de ressource

Pour créer une ressource Microsoft.App/containerApps, ajoutez le code JSON suivant à votre modèle.

{
  "type": "Microsoft.App/containerApps",
  "apiVersion": "2024-10-02-preview",
  "name": "string",
  "extendedLocation": {
    "name": "string",
    "type": "string"
  },
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {
      }
    }
  },
  "kind": "string",
  "location": "string",
  "managedBy": "string",
  "properties": {
    "configuration": {
      "activeRevisionsMode": "string",
      "dapr": {
        "appId": "string",
        "appPort": "int",
        "appProtocol": "string",
        "enableApiLogging": "bool",
        "enabled": "bool",
        "httpMaxRequestSize": "int",
        "httpReadBufferSize": "int",
        "logLevel": "string"
      },
      "identitySettings": [
        {
          "identity": "string",
          "lifecycle": "string"
        }
      ],
      "ingress": {
        "additionalPortMappings": [
          {
            "exposedPort": "int",
            "external": "bool",
            "targetPort": "int"
          }
        ],
        "allowInsecure": "bool",
        "clientCertificateMode": "string",
        "corsPolicy": {
          "allowCredentials": "bool",
          "allowedHeaders": [ "string" ],
          "allowedMethods": [ "string" ],
          "allowedOrigins": [ "string" ],
          "exposeHeaders": [ "string" ],
          "maxAge": "int"
        },
        "customDomains": [
          {
            "bindingType": "string",
            "certificateId": "string",
            "name": "string"
          }
        ],
        "exposedPort": "int",
        "external": "bool",
        "ipSecurityRestrictions": [
          {
            "action": "string",
            "description": "string",
            "ipAddressRange": "string",
            "name": "string"
          }
        ],
        "stickySessions": {
          "affinity": "string"
        },
        "targetPort": "int",
        "targetPortHttpScheme": "string",
        "traffic": [
          {
            "label": "string",
            "latestRevision": "bool",
            "revisionName": "string",
            "weight": "int"
          }
        ],
        "transport": "string"
      },
      "maxInactiveRevisions": "int",
      "registries": [
        {
          "identity": "string",
          "passwordSecretRef": "string",
          "server": "string",
          "username": "string"
        }
      ],
      "revisionTransitionThreshold": "int",
      "runtime": {
        "dotnet": {
          "autoConfigureDataProtection": "bool"
        },
        "java": {
          "enableMetrics": "bool",
          "javaAgent": {
            "enabled": "bool",
            "logging": {
              "loggerSettings": [
                {
                  "level": "string",
                  "logger": "string"
                }
              ]
            }
          }
        }
      },
      "secrets": [
        {
          "identity": "string",
          "keyVaultUrl": "string",
          "name": "string",
          "value": "string"
        }
      ],
      "service": {
        "type": "string"
      },
      "targetLabel": "string"
    },
    "environmentId": "string",
    "managedEnvironmentId": "string",
    "patchingConfiguration": {
      "patchingMode": "string"
    },
    "template": {
      "containers": [
        {
          "args": [ "string" ],
          "command": [ "string" ],
          "env": [
            {
              "name": "string",
              "secretRef": "string",
              "value": "string"
            }
          ],
          "image": "string",
          "imageType": "string",
          "name": "string",
          "probes": [
            {
              "failureThreshold": "int",
              "httpGet": {
                "host": "string",
                "httpHeaders": [
                  {
                    "name": "string",
                    "value": "string"
                  }
                ],
                "path": "string",
                "port": "int",
                "scheme": "string"
              },
              "initialDelaySeconds": "int",
              "periodSeconds": "int",
              "successThreshold": "int",
              "tcpSocket": {
                "host": "string",
                "port": "int"
              },
              "terminationGracePeriodSeconds": "int",
              "timeoutSeconds": "int",
              "type": "string"
            }
          ],
          "resources": {
            "cpu": "int",
            "gpu": "int",
            "memory": "string"
          },
          "volumeMounts": [
            {
              "mountPath": "string",
              "subPath": "string",
              "volumeName": "string"
            }
          ]
        }
      ],
      "initContainers": [
        {
          "args": [ "string" ],
          "command": [ "string" ],
          "env": [
            {
              "name": "string",
              "secretRef": "string",
              "value": "string"
            }
          ],
          "image": "string",
          "imageType": "string",
          "name": "string",
          "resources": {
            "cpu": "int",
            "gpu": "int",
            "memory": "string"
          },
          "volumeMounts": [
            {
              "mountPath": "string",
              "subPath": "string",
              "volumeName": "string"
            }
          ]
        }
      ],
      "revisionSuffix": "string",
      "scale": {
        "cooldownPeriod": "int",
        "maxReplicas": "int",
        "minReplicas": "int",
        "pollingInterval": "int",
        "rules": [
          {
            "azureQueue": {
              "accountName": "string",
              "auth": [
                {
                  "secretRef": "string",
                  "triggerParameter": "string"
                }
              ],
              "identity": "string",
              "queueLength": "int",
              "queueName": "string"
            },
            "custom": {
              "auth": [
                {
                  "secretRef": "string",
                  "triggerParameter": "string"
                }
              ],
              "identity": "string",
              "metadata": {
                "{customized property}": "string"
              },
              "type": "string"
            },
            "http": {
              "auth": [
                {
                  "secretRef": "string",
                  "triggerParameter": "string"
                }
              ],
              "identity": "string",
              "metadata": {
                "{customized property}": "string"
              }
            },
            "name": "string",
            "tcp": {
              "auth": [
                {
                  "secretRef": "string",
                  "triggerParameter": "string"
                }
              ],
              "identity": "string",
              "metadata": {
                "{customized property}": "string"
              }
            }
          }
        ]
      },
      "serviceBinds": [
        {
          "clientType": "string",
          "customizedKeys": {
            "{customized property}": "string"
          },
          "name": "string",
          "serviceId": "string"
        }
      ],
      "terminationGracePeriodSeconds": "int",
      "volumes": [
        {
          "mountOptions": "string",
          "name": "string",
          "secrets": [
            {
              "path": "string",
              "secretRef": "string"
            }
          ],
          "storageName": "string",
          "storageType": "string"
        }
      ]
    },
    "workloadProfileName": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

Valeurs de propriété

Configuration

Nom Description Valeur
activeRevisionsMode ActiveRevisionsMode contrôle la façon dont les révisions actives sont gérées pour l’application conteneur :
<liste><élément>Unique : une seule révision peut être active à la fois. Les poids du trafic ne peuvent pas être utilisés. Il s’agit de la valeur par défaut.</item><élément>Multiple : plusieurs révisions peuvent être actives, y compris les pondérations et étiquettes facultatives du trafic.</item><élément>Étiquettes : seules les révisions avec étiquettes sont actives. Les pondérations du trafic peuvent être appliquées aux étiquettes.</item></list>
'Étiquettes'
'Multiple'
'Single'
dapr Configuration dapr pour l’application conteneur. dapr
identitySettings Paramètres facultatifs pour les identités managées affectées à l’application conteneur. Si une identité managée n’est pas spécifiée ici, les paramètres par défaut sont utilisés. IdentitySettings[]
entrée Configurations d’entrée. d’entrée
maxInactiveRevisions Optionnel. Nombre maximal de révisions inactives qu’une application conteneur peut avoir. Int
Registres Collection d’informations d’identification de registre de conteneurs privés pour les conteneurs utilisés par l’application conteneur RegistryCredentials[]
revisionTransitionThreshold Optionnel. Pourcentage du nombre total de réplicas qui doivent être présentés avant la transition de révision. La valeur par défaut est 100 lorsqu’aucune donnée n’est donnée. La valeur doit être supérieure à 0 et inférieure ou égale à 100. Int

Contraintes:
Valeur minimale = 1
Valeur maximale = 100
Duree Configuration du runtime d’application pour l’application conteneur. runtime
Secrets Collection de secrets utilisés par une application conteneur secret[]
service Application conteneur pour être un dev Container App Service Service
targetLabel Obligatoire en mode révisions d’étiquettes. Étiquette à appliquer à la révision nouvellement créée. corde

Conteneur

Nom Description Valeur
args Arguments de commande de démarrage du conteneur. string[]
commander Commande de démarrage du conteneur. string[]
Env Variables d’environnement de conteneur. EnvironmentVar[]
image Balise d’image conteneur. corde
type d'image Type de l’image. Définissez sur CloudBuild pour permettre au système de gérer l’image, où l’utilisateur ne pourra pas mettre à jour l’image via le champ image. Définissez sur ContainerImage pour l’image fournie par l’utilisateur. 'CloudBuild'
'ContainerImage'
nom Nom du conteneur personnalisé. corde
Sondes Liste des sondes pour le conteneur. containerAppProbe[]
ressources Exigences en matière de ressources de conteneur. ContainerResources
volumeMounts Montages de volumes de conteneurs. VolumeMount[]

ContainerAppProbe

Nom Description Valeur
failureThreshold Échecs consécutifs minimum pour que la sonde soit considérée comme ayant échoué après avoir réussi. La valeur par défaut est 3. La valeur minimale est 1. La valeur maximale est 10. Int
httpGet HTTPGet spécifie la requête http à effectuer. ContainerAppProbeHttpGet
initialDelaySeconds Nombre de secondes après le démarrage du conteneur avant l’initialisation des sondes liveness. La valeur minimale est 1. La valeur maximale est 60. Int
periodSeconds Fréquence (en secondes) d’exécution de la sonde. La valeur par défaut est de 10 secondes. La valeur minimale est 1. La valeur maximale est 240. Int
successThreshold Nombre minimal de réussites consécutives pour que la sonde soit considérée comme réussie après avoir échoué. La valeur par défaut est 1. Doit être 1 pour la vie et le démarrage. La valeur minimale est 1. La valeur maximale est 10. Int
tcpSocket TCPSocket spécifie une action impliquant un port TCP. Les hooks TCP ne sont pas encore pris en charge. ContainerAppProbeTcpSocket
terminationGracePeriodSeconds Durée facultative en secondes, le pod doit se terminer correctement lors de l’échec de la sonde. La période de grâce est la durée en secondes après que les processus en cours d’exécution dans le pod soient envoyés un signal d’arrêt et le moment où 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. Si cette valeur est nulle, l’arrêt du podGracePeriodSeconds est utilisé. Dans le cas contraire, cette valeur remplace la valeur fournie par la spécification de pod. 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). Il s’agit d’un champ alpha et nécessite l’activation de la porte de fonctionnalité ProbeTerminationGracePeriod. La valeur maximale est de 3600 secondes (1 heure) Int
timeoutSeconds Nombre de secondes après lesquelles la sonde expire. La valeur par défaut est 1 seconde. La valeur minimale est 1. La valeur maximale est 240. Int
type Type de sonde. 'Liveness'
'Readiness'
'Startup'

ContainerAppProbeHttpGet

Nom Description Valeur
hôte Nom d’hôte à connecter, par défaut à l’adresse IP du pod. Vous souhaitez probablement définir « Host » dans httpHeaders à la place. corde
httpHeaders En-têtes personnalisés à définir dans la requête. HTTP autorise les en-têtes répétés. ContainerAppProbeHttpGetHttpHeadersItem[]
chemin Chemin d’accès au serveur HTTP. corde
port Nom ou numéro du port à accéder au conteneur. Le nombre doit être compris entre 1 et 65535. Le nom doit être un IANA_SVC_NAME. int (obligatoire)
schéma Schéma à utiliser pour la connexion à l’hôte. La valeur par défaut est HTTP. 'HTTP'
'HTTPS'

ContainerAppProbeHttpGetHttpHeadersItem

Nom Description Valeur
nom Nom du champ d’en-tête chaîne (obligatoire)
valeur Valeur du champ d’en-tête chaîne (obligatoire)

ContainerAppProbeTcpSocket

Nom Description Valeur
hôte Facultatif : nom d’hôte auquel se connecter, par défaut à l’adresse IP du pod. corde
port Numéro ou nom du port à accéder au conteneur. Le nombre doit être compris entre 1 et 65535. Le nom doit être un IANA_SVC_NAME. int (obligatoire)

ContainerAppProperties

Nom Description Valeur
configuration Propriétés de configuration d’application conteneur non versionnée. configuration
environmentId ID de ressource de l’environnement. corde
managedEnvironmentId Obsolescent. ID de ressource de l’environnement de l’application conteneur. corde
patchingConfiguration Configuration automatique des correctifs d’application conteneur. ContainerAppPropertiesPatchingConfiguration
modèle Définition de l’application avec version de l’application conteneur. modèle
workloadProfileName Nom du profil de charge de travail à épingler pour l’exécution de l’application conteneur. corde

ContainerAppPropertiesPatchingConfiguration

Nom Description Valeur
patchingMode Mode de mise à jour corrective pour l’application conteneur. La valeur Null ou la valeur par défaut dans ce champ est interprétée comme Automatique par rp. Le mode automatique applique automatiquement les correctifs disponibles. Le mode manuel oblige l’utilisateur à appliquer manuellement des correctifs. Le mode désactivé arrête la détection des correctifs et la mise à jour corrective automatique. 'Automatique'
'Désactivé'
'Manuel'

ContainerResources

Nom Description Valeur
CPU Processeur requis dans les cœurs, par exemple 0,5 Int
GPU GPU requis dans les cœurs pour l’application basée sur GPU, par exemple 1.0 Int
mémoire Mémoire requise, par exemple « 250 Mo » corde

CorsPolicy

Nom Description Valeur
allowCredentials Spécifie si la ressource autorise les informations d’identification Bool
allowedHeaders Spécifie le contenu de l’en-tête access-control-allow-headers string[]
allowedMethods Spécifie le contenu de l’en-tête access-control-allow-methods string[]
allowedOrigins Spécifie le contenu de l’en-tête access-control-allow-origins string[] (obligatoire)
exposeHeaders Spécifie le contenu de l’en-tête access-control-expose-headers string[]
maxAge Spécifie le contenu de l’en-tête access-control-max-age Int

CustomDomain

Nom Description Valeur
bindingType Type de liaison de domaine personnalisé. 'Auto'
'Désactivé'
'SniEnabled'
certificateId ID de ressource du certificat à lier à ce nom d’hôte. Doit exister dans l’environnement managé. corde
nom Nom d’hôte. chaîne (obligatoire)

CustomScaleRule

Nom Description Valeur
Auth Secrets d’authentification pour la règle de mise à l’échelle personnalisée. ScaleRuleAuth[]
identité ID de ressource d’une identité managée affectée par l’utilisateur qui est affectée à l’application conteneur ou « système » pour l’identité affectée par le système. corde
métadonnées Propriétés de métadonnées pour décrire une règle d’échelle personnalisée. CustomScaleRuleMetadata
type Type de la règle d’échelle personnalisée
par exemple : azure-servicebus, redis, etc.
corde

CustomScaleRuleMetadata

Nom Description Valeur

Dapr

Nom Description Valeur
appId Identificateur d’application Dapr corde
appPort Indique à Dapr le port sur lequel votre application écoute Int
appProtocol Indique à Dapr quel protocole votre application utilise. Les options valides sont http et grpc. La valeur par défaut est http 'grpc'
'http'
enableApiLogging Active la journalisation des API pour le side-car Dapr Bool
Activé Boolean indiquant si la voiture latérale Dapr est activée Bool
httpMaxRequestSize Augmentation de la taille maximale du corps de la requête http et du paramètre de serveurs grpc en Mo pour gérer le chargement de fichiers volumineux. La valeur par défaut est de 4 Mo. Int
httpReadBufferSize Taille maximale dapr de la mémoire tampon de lecture d’en-tête http en Ko à gérer lors de l’envoi d’en-têtes multi-Ko. La valeur par défaut est 65 Ko. Int
logLevel Définit le niveau de journal pour le side-car Dapr. Les valeurs autorisées sont de débogage, d’informations, d’avertissement, d’erreur. La valeur par défaut est les informations. 'debug'
'error'
'info'
'avertir'

EnvironmentVar

Nom Description Valeur
nom Nom de la variable d’environnement. corde
secretRef Nom du secret de l’application conteneur à partir duquel extraire la valeur de la variable d’environnement. corde
valeur Valeur de variable d’environnement non secrète. corde

ExtendedLocation

Nom Description Valeur
nom Nom de l’emplacement étendu. corde
type Type de l’emplacement étendu. 'CustomLocation'

HttpScaleRule

Nom Description Valeur
Auth Secrets d’authentification pour la règle de mise à l’échelle personnalisée. ScaleRuleAuth[]
identité ID de ressource d’une identité managée affectée par l’utilisateur qui est affectée à l’application conteneur ou « système » pour l’identité affectée par le système. corde
métadonnées Propriétés de métadonnées pour décrire la règle de mise à l’échelle http. HttpScaleRuleMetadata

HttpScaleRuleMetadata

Nom Description Valeur

IdentitySettings

Nom Description Valeur
identité ID de ressource d’une identité managée affectée par l’utilisateur qui est affectée à l’application conteneur ou « système » pour l’identité affectée par le système. chaîne (obligatoire)
cycle de vie Permet de sélectionner les étapes de cycle de vie d’une application conteneur pendant laquelle l’identité managée doit être disponible. 'All'
'Init'
'Main'
'None'

Entrée

Nom Description Valeur
additionalPortMappings Paramètres permettant d’exposer des ports supplémentaires sur l’application conteneur IngressPortMapping []
allowInsecure Bool indiquant si les connexions HTTP à sont autorisées. Si la valeur est false, les connexions HTTP sont automatiquement redirigées vers des connexions HTTPS Bool
clientCertificateMode Mode de certificat client pour l’authentification mTLS. Ignorer indique que le serveur supprime le certificat client lors du transfert. Accepter indique que le serveur transfère le certificat client, mais ne nécessite pas de certificat client. Exiger que le serveur requiert un certificat client. 'accepter'
'ignorer'
'exiger'
corsPolicy Stratégie CORS pour l’application conteneur CorsPolicy
customDomains liaisons de domaine personnalisées pour les noms d’hôte container Apps. CustomDomain[]
exposedPort Port exposé dans les conteneurs pour le trafic TCP à partir de l’entrée Int
externe Bool indiquant si l’application expose un point de terminaison http externe Bool
ipSecurityRestrictions Règles pour restreindre l’adresse IP entrante. ipSecurityRestrictionRule[]
stickySessions Sessions sticky pour le mode révision unique IngressStickySessions
targetPort Port cible dans les conteneurs pour le trafic à partir d’entrée Int
targetPortHttpScheme Indique si une application http écoute sur http ou https 'http'
'https'
trafic Pondérations du trafic pour les révisions de l’application TrafficWeight[]
transport Protocole de transport d’entrée 'auto'
'http'
'http2'
'tcp'

IngressPortMapping

Nom Description Valeur
exposedPort Spécifie le port exposé pour le port cible. S’il n’est pas spécifié, il est défini par défaut sur le port cible Int
externe Spécifie si le port de l’application est accessible en dehors de l’environnement bool (obligatoire)
targetPort Spécifie l’écoute du conteneur de l’utilisateur de port sur int (obligatoire)

IngressStickySessions

Nom Description Valeur
affinité Affinité de session sticky 'none'
'sticky'

InitContainer

Nom Description Valeur
args Arguments de commande de démarrage du conteneur. string[]
commander Commande de démarrage du conteneur. string[]
Env Variables d’environnement de conteneur. EnvironmentVar[]
image Balise d’image conteneur. corde
type d'image Type de l’image. Définissez sur CloudBuild pour permettre au système de gérer l’image, où l’utilisateur ne pourra pas mettre à jour l’image via le champ image. Définissez sur ContainerImage pour l’image fournie par l’utilisateur. 'CloudBuild'
'ContainerImage'
nom Nom du conteneur personnalisé. corde
ressources Exigences en matière de ressources de conteneur. ContainerResources
volumeMounts Montages de volumes de conteneurs. VolumeMount[]

IpSecurityRestrictionRule

Nom Description Valeur
action Autoriser ou refuser des règles à déterminer pour l’adresse IP entrante. Remarque : Les règles peuvent uniquement se composer de ALL Allow ou ALL Deny 'Autoriser'
'Deny' (obligatoire)
description Décrivez la règle de restriction IP envoyée à l’application conteneur. Il s’agit d’un champ facultatif. corde
ipAddressRange Notation CIDR pour correspondre à l’adresse IP entrante chaîne (obligatoire)
nom Nom de la règle de restriction IP. chaîne (obligatoire)

LoggerSetting

Nom Description Valeur
niveau Niveau de journal du journal spécifié. 'debug'
'error'
'info'
'off'
'trace'
'warn' (obligatoire)
bûcheron Nom de l’enregistreur d’événements. chaîne (obligatoire)

ManagedServiceIdentity

Nom Description Valeur
type Type d’identité de service managé (où les types SystemAssigned et UserAssigned sont autorisés). 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (obligatoire)
userAssignedIdentities Ensemble d’identités affectées par l’utilisateur associées à la ressource. Les clés de dictionnaire userAssignedIdentities seront des ID de ressource ARM sous la forme : « /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Les valeurs de dictionnaire peuvent être des objets vides ({}) dans les requêtes. UserAssignedIdentities

Microsoft.App/containerApps

Nom Description Valeur
apiVersion Version de l’API '2024-10-02-preview'
extendedLocation Type complexe de l’emplacement étendu. ExtendedLocation
identité identités managées pour l’application conteneur afin d’interagir avec d’autres services Azure sans conserver de secrets ou d’informations d’identification dans le code. ManagedServiceIdentity
gentil Métadonnées utilisées pour afficher différentes expériences pour les ressources du même type ; Par exemple, WorkflowApp est un type de Microsoft.App/ContainerApps. Si elle est prise en charge, le fournisseur de ressources doit valider et conserver cette valeur. 'workflowapp'
emplacement Emplacement géographique où réside la ressource chaîne (obligatoire)
managedBy ID de ressource complet de la ressource qui gère cette ressource. Indique si cette ressource est gérée par une autre ressource Azure. S’il est présent, le déploiement en mode complet ne supprime pas la ressource si elle est supprimée du modèle, car elle est gérée par une autre ressource. corde
nom Nom de la ressource chaîne (obligatoire)
Propriétés Propriétés spécifiques à la ressource ContainerApp containerAppProperties
étiquettes Balises de ressource Dictionnaire de noms et de valeurs d’étiquettes. Consultez les balises dans les modèles
type Type de ressource 'Microsoft.App/containerApps'

QueueScaleRule

Nom Description Valeur
accountName Nom du compte de stockage. obligatoire si vous utilisez l’identité managée pour authentifier corde
Auth Secrets d’authentification pour la règle d’échelle de file d’attente. ScaleRuleAuth[]
identité ID de ressource d’une identité managée affectée par l’utilisateur qui est affectée à l’application conteneur ou « système » pour l’identité affectée par le système. corde
queueLength Longueur de file d’attente. Int
queueName Nom de la file d’attente. corde

RegistryCredentials

Nom Description Valeur
identité Identité managée à utiliser pour s’authentifier auprès d’Azure Container Registry. Pour les identités affectées par l’utilisateur, utilisez l’ID complet de ressource d’identité affectée par l’utilisateur. Pour les identités affectées par le système, utilisez « système » corde
passwordSecretRef Nom du secret qui contient le mot de passe de connexion au Registre corde
serveur Container Registry Server corde
nom d’utilisateur Nom d’utilisateur du registre de conteneurs corde

Durée

Nom Description Valeur
dotnet Configuration de l’application .NET RuntimeDotnet
Java Configuration de l’application Java RuntimeJava

RuntimeDotnet

Nom Description Valeur
autoConfigureDataProtection Configurer automatiquement la fonctionnalité de protection des données de base ASP.NET Bool

RuntimeJava

Nom Description Valeur
enableMetrics Activer les métriques jmx core pour l’application Java Bool
javaAgent Fonctionnalités de diagnostic obtenues par l’agent Java runtimeJavaAgent

RuntimeJavaAgent

Nom Description Valeur
Activé Activez l’injection d’agent Java pour l’application Java. Bool
exploitation forestière Fonctionnalités du scénario de journalisation Java. RuntimeJavaAgentLogging

RuntimeJavaAgentLogging

Nom Description Valeur
loggerSettings Paramètres de l’enregistreur d’événements pour l’application Java. LoggerSetting[]

Écaille

Nom Description Valeur
cooldownPeriod Optionnel. Période de refroidissement KEDA. La valeur par défaut est de 300 secondes si elle n’est pas définie. Int
maxReplicas Optionnel. Nombre maximal de réplicas de conteneur. La valeur par défaut est 10 si elle n’est pas définie. Int
minReplicas Optionnel. Nombre minimal de réplicas de conteneur. Int
pollingInterval Optionnel. Intervalle d’interrogation KEDA. La valeur par défaut est de 30 secondes si elle n’est pas définie. Int
règlement Règles de mise à l’échelle. ScaleRule[]

ScaleRule

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

ScaleRuleAuth

Nom Description Valeur
secretRef Nom du secret à partir duquel extraire les params d’authentification. corde
triggerParameter Paramètre de déclencheur qui utilise le secret corde

Secret

Nom Description Valeur
identité ID de ressource d’une identité managée pour s’authentifier auprès d’Azure Key Vault ou système pour utiliser une identité affectée par le système. corde
keyVaultUrl URL Azure Key Vault pointant vers le secret référencé par l’application conteneur. corde
nom Nom du secret. corde
valeur Valeur secrète. corde

Contraintes:
Valeur sensible. Passez en tant que paramètre sécurisé.

SecretVolumeItem

Nom Description Valeur
chemin Chemin d’accès au secret de projet vers. Si aucun chemin d’accès n’est fourni, le chemin d’accès est défini par défaut sur le nom du secret répertorié dans secretRef. corde
secretRef Nom du secret de l’application conteneur à partir duquel extraire la valeur du secret. corde

Service

Nom Description Valeur
type Type de service Dev ContainerApp chaîne (obligatoire)

ServiceBind

Nom Description Valeur
clientType Type du client à utiliser pour se connecter au service corde
personnalisation des clés Clés personnalisées pour personnaliser les valeurs injectées dans l’application ServiceBind CustomKeys
nom Nom de la liaison de service corde
serviceId ID de ressource du service cible corde

ServiceBind CustomKeys

Nom Description Valeur

TcpScaleRule

Nom Description Valeur
Auth Secrets d’authentification pour la règle de mise à l’échelle tcp. ScaleRuleAuth[]
identité ID de ressource d’une identité managée affectée par l’utilisateur qui est affectée à l’application conteneur ou « système » pour l’identité affectée par le système. corde
métadonnées Propriétés de métadonnées pour décrire la règle de mise à l’échelle tcp. tcpScaleRuleMetadata

TcpScaleRuleMetadata

Nom Description Valeur

Modèle

Nom Description Valeur
Conteneurs Liste des définitions de conteneur pour l’application conteneur. conteneur[]
initContainers Liste des conteneurs spécialisés qui s’exécutent avant les conteneurs d’applications. InitContainer[]
revisionSuffix Suffixe convivial ajouté au nom de révision corde
écaille Propriétés de mise à l’échelle de l’application conteneur. Échelle
serviceBinds Liste des services d’application conteneur liés à l’application ServiceBind[]
terminationGracePeriodSeconds Durée facultative en secondes, l’instance d’application conteneur doit s’arrêter correctement. 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. Définissez cette valeur plus longtemps que l’heure de nettoyage attendue pour votre processus. La valeur par défaut est de 30 secondes. Int
Volumes Liste des définitions de volume pour l’application conteneur. de volume []

TrackedResourceTags

Nom Description Valeur

TrafficWeight

Nom Description Valeur
étiquette Associe une étiquette de trafic à une révision corde
latestRevision Indique que le poids du trafic appartient à une dernière révision stable Bool
revisionName Nom d’une révision corde
poids Poids du trafic affecté à une révision Int

UserAssignedIdentities

Nom Description Valeur

UserAssignedIdentity

Nom Description Valeur

Volume

Nom Description Valeur
mountOptions Options de montage utilisées lors du montage du partage de fichiers Azure ou du partage de fichiers NFS Azure. Doit être une chaîne séparée par des virgules. corde
nom Nom du volume. corde
Secrets Liste des secrets à ajouter en volume. Si aucun secret n’est fourni, tous les secrets de la collection sont ajoutés au volume. SecretVolumeItem[]
storageName Nom de la ressource de stockage. Il n’est pas nécessaire de fournir EmptyDir et Secret. corde
storageType Type de stockage pour le volume. Si ce n’est pas le cas, utilisez EmptyDir. 'AzureFile'
'EmptyDir'
'NfsAzureFile'
'Secret'
'Smb'

VolumeMount

Nom Description Valeur
mountPath Chemin d’accès au sein du conteneur auquel le volume doit être monté. Ne doit pas contenir ' :'. corde
subPath Chemin d’accès au sein du volume à partir duquel le volume du conteneur doit être monté. La valeur par défaut est « » (racine du volume). corde
volumeName Cela doit correspondre au nom d’un volume. corde

Modèles de démarrage rapide

Les modèles de démarrage rapide suivants déploient ce type de ressource.

Modèle Description
crée une application conteneur et un environnement avec le registre

Déployer sur Azure
Créez un environnement d’application conteneur avec une application conteneur de base à partir d’azure Container Registry. Il déploie également un espace de travail log Analytique pour stocker les journaux.
Crée une application conteneur avec une règle de mise à l’échelle HTTP définie

Déployer sur Azure
Créez un environnement d’application conteneur avec une application conteneur de base qui se met à l’échelle en fonction du trafic HTTP.
crée une application conteneur dans un environnement d’application conteneur

Déployer sur Azure
Créez un environnement d’application conteneur avec une application conteneur de base. Il déploie également un espace de travail log Analytique pour stocker les journaux.
crée une application de microservices Dapr à l’aide de Container Apps

Déployer sur Azure
Créez une application de microservices Dapr à l’aide de Container Apps.
Crée une application Dapr pub-sub servicebus à l’aide de Container Apps

Déployer sur Azure
Créez une application Dapr pub-sub servicebus à l’aide de Container Apps.
Crée une application conteneur avec un environnement d’application conteneur

Déployer sur Azure
Créez un environnement d’application conteneur avec une application conteneur de base. Il déploie également un espace de travail log Analytique pour stocker les journaux.
Crée un environnement d’application conteneur externe avec un de réseau virtuel

Déployer sur Azure
Crée un environnement d’application conteneur externe avec un réseau virtuel.
Crée un environnement d’application conteneur interne avec un de réseau virtuel

Déployer sur Azure
Crée un environnement d’application conteneur interne avec un réseau virtuel.

Définition de ressource Terraform (fournisseur AzAPI)

Le type de ressource containerApps 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 ressource

Pour créer une ressource Microsoft.App/containerApps, ajoutez la terraform suivante à votre modèle.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.App/containerApps@2024-10-02-preview"
  name = "string"
  identity = {
    type = "string"
    userAssignedIdentities = {
      {customized property} = {
      }
    }
  }
  kind = "string"
  location = "string"
  managedBy = "string"
  tags = {
    {customized property} = "string"
  }
  body = jsonencode({
    extendedLocation = {
      name = "string"
      type = "string"
    }
    properties = {
      configuration = {
        activeRevisionsMode = "string"
        dapr = {
          appId = "string"
          appPort = int
          appProtocol = "string"
          enableApiLogging = bool
          enabled = bool
          httpMaxRequestSize = int
          httpReadBufferSize = int
          logLevel = "string"
        }
        identitySettings = [
          {
            identity = "string"
            lifecycle = "string"
          }
        ]
        ingress = {
          additionalPortMappings = [
            {
              exposedPort = int
              external = bool
              targetPort = int
            }
          ]
          allowInsecure = bool
          clientCertificateMode = "string"
          corsPolicy = {
            allowCredentials = bool
            allowedHeaders = [
              "string"
            ]
            allowedMethods = [
              "string"
            ]
            allowedOrigins = [
              "string"
            ]
            exposeHeaders = [
              "string"
            ]
            maxAge = int
          }
          customDomains = [
            {
              bindingType = "string"
              certificateId = "string"
              name = "string"
            }
          ]
          exposedPort = int
          external = bool
          ipSecurityRestrictions = [
            {
              action = "string"
              description = "string"
              ipAddressRange = "string"
              name = "string"
            }
          ]
          stickySessions = {
            affinity = "string"
          }
          targetPort = int
          targetPortHttpScheme = "string"
          traffic = [
            {
              label = "string"
              latestRevision = bool
              revisionName = "string"
              weight = int
            }
          ]
          transport = "string"
        }
        maxInactiveRevisions = int
        registries = [
          {
            identity = "string"
            passwordSecretRef = "string"
            server = "string"
            username = "string"
          }
        ]
        revisionTransitionThreshold = int
        runtime = {
          dotnet = {
            autoConfigureDataProtection = bool
          }
          java = {
            enableMetrics = bool
            javaAgent = {
              enabled = bool
              logging = {
                loggerSettings = [
                  {
                    level = "string"
                    logger = "string"
                  }
                ]
              }
            }
          }
        }
        secrets = [
          {
            identity = "string"
            keyVaultUrl = "string"
            name = "string"
            value = "string"
          }
        ]
        service = {
          type = "string"
        }
        targetLabel = "string"
      }
      environmentId = "string"
      managedEnvironmentId = "string"
      patchingConfiguration = {
        patchingMode = "string"
      }
      template = {
        containers = [
          {
            args = [
              "string"
            ]
            command = [
              "string"
            ]
            env = [
              {
                name = "string"
                secretRef = "string"
                value = "string"
              }
            ]
            image = "string"
            imageType = "string"
            name = "string"
            probes = [
              {
                failureThreshold = int
                httpGet = {
                  host = "string"
                  httpHeaders = [
                    {
                      name = "string"
                      value = "string"
                    }
                  ]
                  path = "string"
                  port = int
                  scheme = "string"
                }
                initialDelaySeconds = int
                periodSeconds = int
                successThreshold = int
                tcpSocket = {
                  host = "string"
                  port = int
                }
                terminationGracePeriodSeconds = int
                timeoutSeconds = int
                type = "string"
              }
            ]
            resources = {
              cpu = int
              gpu = int
              memory = "string"
            }
            volumeMounts = [
              {
                mountPath = "string"
                subPath = "string"
                volumeName = "string"
              }
            ]
          }
        ]
        initContainers = [
          {
            args = [
              "string"
            ]
            command = [
              "string"
            ]
            env = [
              {
                name = "string"
                secretRef = "string"
                value = "string"
              }
            ]
            image = "string"
            imageType = "string"
            name = "string"
            resources = {
              cpu = int
              gpu = int
              memory = "string"
            }
            volumeMounts = [
              {
                mountPath = "string"
                subPath = "string"
                volumeName = "string"
              }
            ]
          }
        ]
        revisionSuffix = "string"
        scale = {
          cooldownPeriod = int
          maxReplicas = int
          minReplicas = int
          pollingInterval = int
          rules = [
            {
              azureQueue = {
                accountName = "string"
                auth = [
                  {
                    secretRef = "string"
                    triggerParameter = "string"
                  }
                ]
                identity = "string"
                queueLength = int
                queueName = "string"
              }
              custom = {
                auth = [
                  {
                    secretRef = "string"
                    triggerParameter = "string"
                  }
                ]
                identity = "string"
                metadata = {
                  {customized property} = "string"
                }
                type = "string"
              }
              http = {
                auth = [
                  {
                    secretRef = "string"
                    triggerParameter = "string"
                  }
                ]
                identity = "string"
                metadata = {
                  {customized property} = "string"
                }
              }
              name = "string"
              tcp = {
                auth = [
                  {
                    secretRef = "string"
                    triggerParameter = "string"
                  }
                ]
                identity = "string"
                metadata = {
                  {customized property} = "string"
                }
              }
            }
          ]
        }
        serviceBinds = [
          {
            clientType = "string"
            customizedKeys = {
              {customized property} = "string"
            }
            name = "string"
            serviceId = "string"
          }
        ]
        terminationGracePeriodSeconds = int
        volumes = [
          {
            mountOptions = "string"
            name = "string"
            secrets = [
              {
                path = "string"
                secretRef = "string"
              }
            ]
            storageName = "string"
            storageType = "string"
          }
        ]
      }
      workloadProfileName = "string"
    }
  })
}

Valeurs de propriété

Configuration

Nom Description Valeur
activeRevisionsMode ActiveRevisionsMode contrôle la façon dont les révisions actives sont gérées pour l’application conteneur :
<liste><élément>Unique : une seule révision peut être active à la fois. Les poids du trafic ne peuvent pas être utilisés. Il s’agit de la valeur par défaut.</item><élément>Multiple : plusieurs révisions peuvent être actives, y compris les pondérations et étiquettes facultatives du trafic.</item><élément>Étiquettes : seules les révisions avec étiquettes sont actives. Les pondérations du trafic peuvent être appliquées aux étiquettes.</item></list>
'Étiquettes'
'Multiple'
'Single'
dapr Configuration dapr pour l’application conteneur. dapr
identitySettings Paramètres facultatifs pour les identités managées affectées à l’application conteneur. Si une identité managée n’est pas spécifiée ici, les paramètres par défaut sont utilisés. IdentitySettings[]
entrée Configurations d’entrée. d’entrée
maxInactiveRevisions Optionnel. Nombre maximal de révisions inactives qu’une application conteneur peut avoir. Int
Registres Collection d’informations d’identification de registre de conteneurs privés pour les conteneurs utilisés par l’application conteneur RegistryCredentials[]
revisionTransitionThreshold Optionnel. Pourcentage du nombre total de réplicas qui doivent être présentés avant la transition de révision. La valeur par défaut est 100 lorsqu’aucune donnée n’est donnée. La valeur doit être supérieure à 0 et inférieure ou égale à 100. Int

Contraintes:
Valeur minimale = 1
Valeur maximale = 100
Duree Configuration du runtime d’application pour l’application conteneur. runtime
Secrets Collection de secrets utilisés par une application conteneur secret[]
service Application conteneur pour être un dev Container App Service Service
targetLabel Obligatoire en mode révisions d’étiquettes. Étiquette à appliquer à la révision nouvellement créée. corde

Conteneur

Nom Description Valeur
args Arguments de commande de démarrage du conteneur. string[]
commander Commande de démarrage du conteneur. string[]
Env Variables d’environnement de conteneur. EnvironmentVar[]
image Balise d’image conteneur. corde
type d'image Type de l’image. Définissez sur CloudBuild pour permettre au système de gérer l’image, où l’utilisateur ne pourra pas mettre à jour l’image via le champ image. Définissez sur ContainerImage pour l’image fournie par l’utilisateur. 'CloudBuild'
'ContainerImage'
nom Nom du conteneur personnalisé. corde
Sondes Liste des sondes pour le conteneur. containerAppProbe[]
ressources Exigences en matière de ressources de conteneur. ContainerResources
volumeMounts Montages de volumes de conteneurs. VolumeMount[]

ContainerAppProbe

Nom Description Valeur
failureThreshold Échecs consécutifs minimum pour que la sonde soit considérée comme ayant échoué après avoir réussi. La valeur par défaut est 3. La valeur minimale est 1. La valeur maximale est 10. Int
httpGet HTTPGet spécifie la requête http à effectuer. ContainerAppProbeHttpGet
initialDelaySeconds Nombre de secondes après le démarrage du conteneur avant l’initialisation des sondes liveness. La valeur minimale est 1. La valeur maximale est 60. Int
periodSeconds Fréquence (en secondes) d’exécution de la sonde. La valeur par défaut est de 10 secondes. La valeur minimale est 1. La valeur maximale est 240. Int
successThreshold Nombre minimal de réussites consécutives pour que la sonde soit considérée comme réussie après avoir échoué. La valeur par défaut est 1. Doit être 1 pour la vie et le démarrage. La valeur minimale est 1. La valeur maximale est 10. Int
tcpSocket TCPSocket spécifie une action impliquant un port TCP. Les hooks TCP ne sont pas encore pris en charge. ContainerAppProbeTcpSocket
terminationGracePeriodSeconds Durée facultative en secondes, le pod doit se terminer correctement lors de l’échec de la sonde. La période de grâce est la durée en secondes après que les processus en cours d’exécution dans le pod soient envoyés un signal d’arrêt et le moment où 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. Si cette valeur est nulle, l’arrêt du podGracePeriodSeconds est utilisé. Dans le cas contraire, cette valeur remplace la valeur fournie par la spécification de pod. 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). Il s’agit d’un champ alpha et nécessite l’activation de la porte de fonctionnalité ProbeTerminationGracePeriod. La valeur maximale est de 3600 secondes (1 heure) Int
timeoutSeconds Nombre de secondes après lesquelles la sonde expire. La valeur par défaut est 1 seconde. La valeur minimale est 1. La valeur maximale est 240. Int
type Type de sonde. 'Liveness'
'Readiness'
'Startup'

ContainerAppProbeHttpGet

Nom Description Valeur
hôte Nom d’hôte à connecter, par défaut à l’adresse IP du pod. Vous souhaitez probablement définir « Host » dans httpHeaders à la place. corde
httpHeaders En-têtes personnalisés à définir dans la requête. HTTP autorise les en-têtes répétés. ContainerAppProbeHttpGetHttpHeadersItem[]
chemin Chemin d’accès au serveur HTTP. corde
port Nom ou numéro du port à accéder au conteneur. Le nombre doit être compris entre 1 et 65535. Le nom doit être un IANA_SVC_NAME. int (obligatoire)
schéma Schéma à utiliser pour la connexion à l’hôte. La valeur par défaut est HTTP. 'HTTP'
'HTTPS'

ContainerAppProbeHttpGetHttpHeadersItem

Nom Description Valeur
nom Nom du champ d’en-tête chaîne (obligatoire)
valeur Valeur du champ d’en-tête chaîne (obligatoire)

ContainerAppProbeTcpSocket

Nom Description Valeur
hôte Facultatif : nom d’hôte auquel se connecter, par défaut à l’adresse IP du pod. corde
port Numéro ou nom du port à accéder au conteneur. Le nombre doit être compris entre 1 et 65535. Le nom doit être un IANA_SVC_NAME. int (obligatoire)

ContainerAppProperties

Nom Description Valeur
configuration Propriétés de configuration d’application conteneur non versionnée. configuration
environmentId ID de ressource de l’environnement. corde
managedEnvironmentId Obsolescent. ID de ressource de l’environnement de l’application conteneur. corde
patchingConfiguration Configuration automatique des correctifs d’application conteneur. ContainerAppPropertiesPatchingConfiguration
modèle Définition de l’application avec version de l’application conteneur. modèle
workloadProfileName Nom du profil de charge de travail à épingler pour l’exécution de l’application conteneur. corde

ContainerAppPropertiesPatchingConfiguration

Nom Description Valeur
patchingMode Mode de mise à jour corrective pour l’application conteneur. La valeur Null ou la valeur par défaut dans ce champ est interprétée comme Automatique par rp. Le mode automatique applique automatiquement les correctifs disponibles. Le mode manuel oblige l’utilisateur à appliquer manuellement des correctifs. Le mode désactivé arrête la détection des correctifs et la mise à jour corrective automatique. 'Automatique'
'Désactivé'
'Manuel'

ContainerResources

Nom Description Valeur
CPU Processeur requis dans les cœurs, par exemple 0,5 Int
GPU GPU requis dans les cœurs pour l’application basée sur GPU, par exemple 1.0 Int
mémoire Mémoire requise, par exemple « 250 Mo » corde

CorsPolicy

Nom Description Valeur
allowCredentials Spécifie si la ressource autorise les informations d’identification Bool
allowedHeaders Spécifie le contenu de l’en-tête access-control-allow-headers string[]
allowedMethods Spécifie le contenu de l’en-tête access-control-allow-methods string[]
allowedOrigins Spécifie le contenu de l’en-tête access-control-allow-origins string[] (obligatoire)
exposeHeaders Spécifie le contenu de l’en-tête access-control-expose-headers string[]
maxAge Spécifie le contenu de l’en-tête access-control-max-age Int

CustomDomain

Nom Description Valeur
bindingType Type de liaison de domaine personnalisé. 'Auto'
'Désactivé'
'SniEnabled'
certificateId ID de ressource du certificat à lier à ce nom d’hôte. Doit exister dans l’environnement managé. corde
nom Nom d’hôte. chaîne (obligatoire)

CustomScaleRule

Nom Description Valeur
Auth Secrets d’authentification pour la règle de mise à l’échelle personnalisée. ScaleRuleAuth[]
identité ID de ressource d’une identité managée affectée par l’utilisateur qui est affectée à l’application conteneur ou « système » pour l’identité affectée par le système. corde
métadonnées Propriétés de métadonnées pour décrire une règle d’échelle personnalisée. CustomScaleRuleMetadata
type Type de la règle d’échelle personnalisée
par exemple : azure-servicebus, redis, etc.
corde

CustomScaleRuleMetadata

Nom Description Valeur

Dapr

Nom Description Valeur
appId Identificateur d’application Dapr corde
appPort Indique à Dapr le port sur lequel votre application écoute Int
appProtocol Indique à Dapr quel protocole votre application utilise. Les options valides sont http et grpc. La valeur par défaut est http 'grpc'
'http'
enableApiLogging Active la journalisation des API pour le side-car Dapr Bool
Activé Boolean indiquant si la voiture latérale Dapr est activée Bool
httpMaxRequestSize Augmentation de la taille maximale du corps de la requête http et du paramètre de serveurs grpc en Mo pour gérer le chargement de fichiers volumineux. La valeur par défaut est de 4 Mo. Int
httpReadBufferSize Taille maximale dapr de la mémoire tampon de lecture d’en-tête http en Ko à gérer lors de l’envoi d’en-têtes multi-Ko. La valeur par défaut est 65 Ko. Int
logLevel Définit le niveau de journal pour le side-car Dapr. Les valeurs autorisées sont de débogage, d’informations, d’avertissement, d’erreur. La valeur par défaut est les informations. 'debug'
'error'
'info'
'avertir'

EnvironmentVar

Nom Description Valeur
nom Nom de la variable d’environnement. corde
secretRef Nom du secret de l’application conteneur à partir duquel extraire la valeur de la variable d’environnement. corde
valeur Valeur de variable d’environnement non secrète. corde

ExtendedLocation

Nom Description Valeur
nom Nom de l’emplacement étendu. corde
type Type de l’emplacement étendu. 'CustomLocation'

HttpScaleRule

Nom Description Valeur
Auth Secrets d’authentification pour la règle de mise à l’échelle personnalisée. ScaleRuleAuth[]
identité ID de ressource d’une identité managée affectée par l’utilisateur qui est affectée à l’application conteneur ou « système » pour l’identité affectée par le système. corde
métadonnées Propriétés de métadonnées pour décrire la règle de mise à l’échelle http. HttpScaleRuleMetadata

HttpScaleRuleMetadata

Nom Description Valeur

IdentitySettings

Nom Description Valeur
identité ID de ressource d’une identité managée affectée par l’utilisateur qui est affectée à l’application conteneur ou « système » pour l’identité affectée par le système. chaîne (obligatoire)
cycle de vie Permet de sélectionner les étapes de cycle de vie d’une application conteneur pendant laquelle l’identité managée doit être disponible. 'All'
'Init'
'Main'
'None'

Entrée

Nom Description Valeur
additionalPortMappings Paramètres permettant d’exposer des ports supplémentaires sur l’application conteneur IngressPortMapping []
allowInsecure Bool indiquant si les connexions HTTP à sont autorisées. Si la valeur est false, les connexions HTTP sont automatiquement redirigées vers des connexions HTTPS Bool
clientCertificateMode Mode de certificat client pour l’authentification mTLS. Ignorer indique que le serveur supprime le certificat client lors du transfert. Accepter indique que le serveur transfère le certificat client, mais ne nécessite pas de certificat client. Exiger que le serveur requiert un certificat client. 'accepter'
'ignorer'
'exiger'
corsPolicy Stratégie CORS pour l’application conteneur CorsPolicy
customDomains liaisons de domaine personnalisées pour les noms d’hôte container Apps. CustomDomain[]
exposedPort Port exposé dans les conteneurs pour le trafic TCP à partir de l’entrée Int
externe Bool indiquant si l’application expose un point de terminaison http externe Bool
ipSecurityRestrictions Règles pour restreindre l’adresse IP entrante. ipSecurityRestrictionRule[]
stickySessions Sessions sticky pour le mode révision unique IngressStickySessions
targetPort Port cible dans les conteneurs pour le trafic à partir d’entrée Int
targetPortHttpScheme Indique si une application http écoute sur http ou https 'http'
'https'
trafic Pondérations du trafic pour les révisions de l’application TrafficWeight[]
transport Protocole de transport d’entrée 'auto'
'http'
'http2'
'tcp'

IngressPortMapping

Nom Description Valeur
exposedPort Spécifie le port exposé pour le port cible. S’il n’est pas spécifié, il est défini par défaut sur le port cible Int
externe Spécifie si le port de l’application est accessible en dehors de l’environnement bool (obligatoire)
targetPort Spécifie l’écoute du conteneur de l’utilisateur de port sur int (obligatoire)

IngressStickySessions

Nom Description Valeur
affinité Affinité de session sticky 'none'
'sticky'

InitContainer

Nom Description Valeur
args Arguments de commande de démarrage du conteneur. string[]
commander Commande de démarrage du conteneur. string[]
Env Variables d’environnement de conteneur. EnvironmentVar[]
image Balise d’image conteneur. corde
type d'image Type de l’image. Définissez sur CloudBuild pour permettre au système de gérer l’image, où l’utilisateur ne pourra pas mettre à jour l’image via le champ image. Définissez sur ContainerImage pour l’image fournie par l’utilisateur. 'CloudBuild'
'ContainerImage'
nom Nom du conteneur personnalisé. corde
ressources Exigences en matière de ressources de conteneur. ContainerResources
volumeMounts Montages de volumes de conteneurs. VolumeMount[]

IpSecurityRestrictionRule

Nom Description Valeur
action Autoriser ou refuser des règles à déterminer pour l’adresse IP entrante. Remarque : Les règles peuvent uniquement se composer de ALL Allow ou ALL Deny 'Autoriser'
'Deny' (obligatoire)
description Décrivez la règle de restriction IP envoyée à l’application conteneur. Il s’agit d’un champ facultatif. corde
ipAddressRange Notation CIDR pour correspondre à l’adresse IP entrante chaîne (obligatoire)
nom Nom de la règle de restriction IP. chaîne (obligatoire)

LoggerSetting

Nom Description Valeur
niveau Niveau de journal du journal spécifié. 'debug'
'error'
'info'
'off'
'trace'
'warn' (obligatoire)
bûcheron Nom de l’enregistreur d’événements. chaîne (obligatoire)

ManagedServiceIdentity

Nom Description Valeur
type Type d’identité de service managé (où les types SystemAssigned et UserAssigned sont autorisés). 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (obligatoire)
userAssignedIdentities Ensemble d’identités affectées par l’utilisateur associées à la ressource. Les clés de dictionnaire userAssignedIdentities seront des ID de ressource ARM sous la forme : « /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Les valeurs de dictionnaire peuvent être des objets vides ({}) dans les requêtes. UserAssignedIdentities

Microsoft.App/containerApps

Nom Description Valeur
extendedLocation Type complexe de l’emplacement étendu. ExtendedLocation
identité identités managées pour l’application conteneur afin d’interagir avec d’autres services Azure sans conserver de secrets ou d’informations d’identification dans le code. ManagedServiceIdentity
gentil Métadonnées utilisées pour afficher différentes expériences pour les ressources du même type ; Par exemple, WorkflowApp est un type de Microsoft.App/ContainerApps. Si elle est prise en charge, le fournisseur de ressources doit valider et conserver cette valeur. 'workflowapp'
emplacement Emplacement géographique où réside la ressource chaîne (obligatoire)
managedBy ID de ressource complet de la ressource qui gère cette ressource. Indique si cette ressource est gérée par une autre ressource Azure. S’il est présent, le déploiement en mode complet ne supprime pas la ressource si elle est supprimée du modèle, car elle est gérée par une autre ressource. corde
nom Nom de la ressource chaîne (obligatoire)
Propriétés Propriétés spécifiques à la ressource ContainerApp containerAppProperties
étiquettes Balises de ressource Dictionnaire de noms et de valeurs d’étiquettes.
type Type de ressource « Microsoft.App/containerApps@2024-10-02-preview »

QueueScaleRule

Nom Description Valeur
accountName Nom du compte de stockage. obligatoire si vous utilisez l’identité managée pour authentifier corde
Auth Secrets d’authentification pour la règle d’échelle de file d’attente. ScaleRuleAuth[]
identité ID de ressource d’une identité managée affectée par l’utilisateur qui est affectée à l’application conteneur ou « système » pour l’identité affectée par le système. corde
queueLength Longueur de file d’attente. Int
queueName Nom de la file d’attente. corde

RegistryCredentials

Nom Description Valeur
identité Identité managée à utiliser pour s’authentifier auprès d’Azure Container Registry. Pour les identités affectées par l’utilisateur, utilisez l’ID complet de ressource d’identité affectée par l’utilisateur. Pour les identités affectées par le système, utilisez « système » corde
passwordSecretRef Nom du secret qui contient le mot de passe de connexion au Registre corde
serveur Container Registry Server corde
nom d’utilisateur Nom d’utilisateur du registre de conteneurs corde

Durée

Nom Description Valeur
dotnet Configuration de l’application .NET RuntimeDotnet
Java Configuration de l’application Java RuntimeJava

RuntimeDotnet

Nom Description Valeur
autoConfigureDataProtection Configurer automatiquement la fonctionnalité de protection des données de base ASP.NET Bool

RuntimeJava

Nom Description Valeur
enableMetrics Activer les métriques jmx core pour l’application Java Bool
javaAgent Fonctionnalités de diagnostic obtenues par l’agent Java runtimeJavaAgent

RuntimeJavaAgent

Nom Description Valeur
Activé Activez l’injection d’agent Java pour l’application Java. Bool
exploitation forestière Fonctionnalités du scénario de journalisation Java. RuntimeJavaAgentLogging

RuntimeJavaAgentLogging

Nom Description Valeur
loggerSettings Paramètres de l’enregistreur d’événements pour l’application Java. LoggerSetting[]

Écaille

Nom Description Valeur
cooldownPeriod Optionnel. Période de refroidissement KEDA. La valeur par défaut est de 300 secondes si elle n’est pas définie. Int
maxReplicas Optionnel. Nombre maximal de réplicas de conteneur. La valeur par défaut est 10 si elle n’est pas définie. Int
minReplicas Optionnel. Nombre minimal de réplicas de conteneur. Int
pollingInterval Optionnel. Intervalle d’interrogation KEDA. La valeur par défaut est de 30 secondes si elle n’est pas définie. Int
règlement Règles de mise à l’échelle. ScaleRule[]

ScaleRule

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

ScaleRuleAuth

Nom Description Valeur
secretRef Nom du secret à partir duquel extraire les params d’authentification. corde
triggerParameter Paramètre de déclencheur qui utilise le secret corde

Secret

Nom Description Valeur
identité ID de ressource d’une identité managée pour s’authentifier auprès d’Azure Key Vault ou système pour utiliser une identité affectée par le système. corde
keyVaultUrl URL Azure Key Vault pointant vers le secret référencé par l’application conteneur. corde
nom Nom du secret. corde
valeur Valeur secrète. corde

Contraintes:
Valeur sensible. Passez en tant que paramètre sécurisé.

SecretVolumeItem

Nom Description Valeur
chemin Chemin d’accès au secret de projet vers. Si aucun chemin d’accès n’est fourni, le chemin d’accès est défini par défaut sur le nom du secret répertorié dans secretRef. corde
secretRef Nom du secret de l’application conteneur à partir duquel extraire la valeur du secret. corde

Service

Nom Description Valeur
type Type de service Dev ContainerApp chaîne (obligatoire)

ServiceBind

Nom Description Valeur
clientType Type du client à utiliser pour se connecter au service corde
personnalisation des clés Clés personnalisées pour personnaliser les valeurs injectées dans l’application ServiceBind CustomKeys
nom Nom de la liaison de service corde
serviceId ID de ressource du service cible corde

ServiceBind CustomKeys

Nom Description Valeur

TcpScaleRule

Nom Description Valeur
Auth Secrets d’authentification pour la règle de mise à l’échelle tcp. ScaleRuleAuth[]
identité ID de ressource d’une identité managée affectée par l’utilisateur qui est affectée à l’application conteneur ou « système » pour l’identité affectée par le système. corde
métadonnées Propriétés de métadonnées pour décrire la règle de mise à l’échelle tcp. tcpScaleRuleMetadata

TcpScaleRuleMetadata

Nom Description Valeur

Modèle

Nom Description Valeur
Conteneurs Liste des définitions de conteneur pour l’application conteneur. conteneur[]
initContainers Liste des conteneurs spécialisés qui s’exécutent avant les conteneurs d’applications. InitContainer[]
revisionSuffix Suffixe convivial ajouté au nom de révision corde
écaille Propriétés de mise à l’échelle de l’application conteneur. Échelle
serviceBinds Liste des services d’application conteneur liés à l’application ServiceBind[]
terminationGracePeriodSeconds Durée facultative en secondes, l’instance d’application conteneur doit s’arrêter correctement. 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. Définissez cette valeur plus longtemps que l’heure de nettoyage attendue pour votre processus. La valeur par défaut est de 30 secondes. Int
Volumes Liste des définitions de volume pour l’application conteneur. de volume []

TrackedResourceTags

Nom Description Valeur

TrafficWeight

Nom Description Valeur
étiquette Associe une étiquette de trafic à une révision corde
latestRevision Indique que le poids du trafic appartient à une dernière révision stable Bool
revisionName Nom d’une révision corde
poids Poids du trafic affecté à une révision Int

UserAssignedIdentities

Nom Description Valeur

UserAssignedIdentity

Nom Description Valeur

Volume

Nom Description Valeur
mountOptions Options de montage utilisées lors du montage du partage de fichiers Azure ou du partage de fichiers NFS Azure. Doit être une chaîne séparée par des virgules. corde
nom Nom du volume. corde
Secrets Liste des secrets à ajouter en volume. Si aucun secret n’est fourni, tous les secrets de la collection sont ajoutés au volume. SecretVolumeItem[]
storageName Nom de la ressource de stockage. Il n’est pas nécessaire de fournir EmptyDir et Secret. corde
storageType Type de stockage pour le volume. Si ce n’est pas le cas, utilisez EmptyDir. 'AzureFile'
'EmptyDir'
'NfsAzureFile'
'Secret'
'Smb'

VolumeMount

Nom Description Valeur
mountPath Chemin d’accès au sein du conteneur auquel le volume doit être monté. Ne doit pas contenir ' :'. corde
subPath Chemin d’accès au sein du volume à partir duquel le volume du conteneur doit être monté. La valeur par défaut est « » (racine du volume). corde
volumeName Cela doit correspondre au nom d’un volume. corde