Microsoft.App containerApps 2024-08-02-preview
Définition de ressource Bicep
Le type de ressource containerApps peut être déployé avec des opérations qui ciblent :
- groupes de ressources - Consultez commandes de déploiement de 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 le bicep suivant à votre modèle.
resource symbolicname 'Microsoft.App/containerApps@2024-08-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'
}
]
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'
}
}
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
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
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>Multiple : plusieurs révisions peuvent être actives.</item><élément>Unique : une seule révision peut être active à la fois. Les pondérations de révision ne peuvent pas être utilisées dans ce mode. Si aucune valeur n’est fournie, il s’agit de la valeur par défaut.</item></list> |
'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[] |
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 |
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 |
imageType | 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 |
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é. | '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 |
imageType | 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 |
Duree
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. | mettre à l’é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 Analytics 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 Analytics 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 Analytics 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 :
- groupes de ressources - Consultez commandes de déploiement de 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 le code JSON suivant à votre modèle.
{
"type": "Microsoft.App/containerApps",
"apiVersion": "2024-08-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"
}
],
"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"
}
},
"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",
"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",
"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>Multiple : plusieurs révisions peuvent être actives.</item><élément>Unique : une seule révision peut être active à la fois. Les pondérations de révision ne peuvent pas être utilisées dans ce mode. Si aucune valeur n’est fournie, il s’agit de la valeur par défaut.</item></list> |
'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[] |
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 |
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 |
imageType | 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 |
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é. | '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 |
imageType | 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-08-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 |
Duree
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. | mettre à l’é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 |
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 Analytics 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 Analytics 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 Analytics 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 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-08-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"
}
]
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"
}
}
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
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
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>Multiple : plusieurs révisions peuvent être actives.</item><élément>Unique : une seule révision peut être active à la fois. Les pondérations de révision ne peuvent pas être utilisées dans ce mode. Si aucune valeur n’est fournie, il s’agit de la valeur par défaut.</item></list> |
'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[] |
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 |
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 |
imageType | 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 |
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é. | '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 |
imageType | 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-08-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 |
Duree
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. | mettre à l’é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 |