Microsoft.App containerAppar

Bicep-resursdefinition

Resurstypen containerApps kan distribueras med åtgärder som mål:

En lista över ändrade egenskaper i varje API-version finns i ändringsloggen.

Resursformat

Om du vill skapa en Microsoft.App/containerApps resurs lägger du till följande Bicep i mallen.

resource symbolicname 'Microsoft.App/containerApps@2023-11-02-preview' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  extendedLocation: {
    name: 'string'
    type: 'CustomLocation'
  }
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  managedBy: 'string'
  properties: {
    configuration: {
      activeRevisionsMode: 'string'
      dapr: {
        appId: 'string'
        appPort: int
        appProtocol: 'string'
        enableApiLogging: bool
        enabled: bool
        httpMaxRequestSize: int
        httpReadBufferSize: int
        logLevel: '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'
        }
      ]
      secrets: [
        {
          identity: 'string'
          keyVaultUrl: 'string'
          name: 'string'
          value: 'string'
        }
      ]
      service: {
        type: 'string'
      }
    }
    environmentId: 'string'
    managedEnvironmentId: 'string'
    template: {
      containers: [
        {
          args: [
            'string'
          ]
          command: [
            'string'
          ]
          env: [
            {
              name: 'string'
              secretRef: 'string'
              value: 'string'
            }
          ]
          image: '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: json('decimal-as-string')
            memory: 'string'
          }
          volumeMounts: [
            {
              mountPath: 'string'
              subPath: 'string'
              volumeName: 'string'
            }
          ]
        }
      ]
      initContainers: [
        {
          args: [
            'string'
          ]
          command: [
            'string'
          ]
          env: [
            {
              name: 'string'
              secretRef: 'string'
              value: 'string'
            }
          ]
          image: 'string'
          name: 'string'
          resources: {
            cpu: json('decimal-as-string')
            memory: 'string'
          }
          volumeMounts: [
            {
              mountPath: 'string'
              subPath: 'string'
              volumeName: 'string'
            }
          ]
        }
      ]
      revisionSuffix: 'string'
      scale: {
        maxReplicas: int
        minReplicas: int
        rules: [
          {
            azureQueue: {
              auth: [
                {
                  secretRef: 'string'
                  triggerParameter: 'string'
                }
              ]
              queueLength: int
              queueName: 'string'
            }
            custom: {
              auth: [
                {
                  secretRef: 'string'
                  triggerParameter: 'string'
                }
              ]
              metadata: {
                {customized property}: 'string'
              }
              type: 'string'
            }
            http: {
              auth: [
                {
                  secretRef: 'string'
                  triggerParameter: 'string'
                }
              ]
              metadata: {
                {customized property}: 'string'
              }
            }
            name: 'string'
            tcp: {
              auth: [
                {
                  secretRef: 'string'
                  triggerParameter: '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'
  }
}

Egenskapsvärden

containerApps

Name Beskrivning Värde
name Resursnamnet sträng (krävs)

Teckengräns: 2–32

Giltiga tecken:
Gemener, siffror och bindestreck..

Börja med bokstav och slut med alfanumeriskt.
location Den geo-plats där resursen finns sträng (krävs)
tags Resurstaggar. Ordlista med taggnamn och värden. Se Taggar i mallar
extendedLocation Den komplexa typen av utökad plats. ExtendedLocation
identity hanterade identiteter som containerappen kan interagera med andra Azure-tjänster utan att ha några hemligheter eller autentiseringsuppgifter i koden. ManagedServiceIdentity
managedBy Det fullständigt kvalificerade resurs-ID:t för resursen som hanterar den här resursen. Anger om den här resursen hanteras av en annan Azure-resurs. Om det finns tar distributionen i fullständigt läge inte bort resursen om den tas bort från mallen eftersom den hanteras av en annan resurs. sträng
properties Egenskaper för ContainerApp-resurs ContainerAppProperties

ExtendedLocation

Name Beskrivning Värde
name Namnet på den utökade platsen. sträng
typ Typen av utökad plats. "CustomLocation"

ManagedServiceIdentity

Name Beskrivning Värde
typ Typ av hanterad tjänstidentitet (där både SystemAssigned- och UserAssigned-typer tillåts). "Ingen"
"SystemTilldelade"
"SystemAssigned,UserAssigned"
"UserAssigned" (krävs)
userAssignedIdentities Den uppsättning användartilldelade identiteter som är associerade med resursen. Ordlistenycklarna userAssignedIdentities är ARM-resurs-ID:er i formuläret: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Ordlistevärdena kan vara tomma objekt ({}) i begäranden. UserAssignedIdentities

UserAssignedIdentities

Name Beskrivning Värde
{anpassad egenskap} UserAssignedIdentity

UserAssignedIdentity

Det här objektet innehåller inga egenskaper som ska anges under distributionen. Alla egenskaper är ReadOnly.

ContainerAppProperties

Name Beskrivning Värde
konfiguration Konfigurationsegenskaper för containerappar som inte har en version. Konfiguration
environmentId Resurs-ID för miljön. sträng
managedEnvironmentId Inaktuellt. Resurs-ID för containerappens miljö. sträng
mall Programdefinition med version av containerapp. Mall
workloadProfileName Namn på arbetsbelastningsprofil som ska fästas för körning av containerappar. sträng

Konfiguration

Name Beskrivning Värde
activeRevisionsMode ActiveRevisionsMode styr hur aktiva revisioner hanteras för containerappen:
{list} {item} Flera: flera revisioner kan vara aktiva. {/item} {item} Enskild: Endast en revision kan vara aktiv i taget. Revisionsvikter kan inte användas i det här läget. Om inget värde anges är detta standardvärdet. {/item} {/list}
"Flera"
"Enkel"
dapr Dapr-konfiguration för containerappen. Dapr
Inträngning Ingresskonfigurationer. Ingress
maxInactiveRevisions Valfritt. Maximalt antal inaktiva revisioner som en containerapp kan ha. int
Register Samling autentiseringsuppgifter för privata containerregister för containrar som används av containerappen RegistryCredentials[]
secrets Samling hemligheter som används av en containerapp Hemlighet[]
tjänst Containerapp som ska vara en utvecklingscontainer App Service Tjänst

Dapr

Name Beskrivning Värde
appId Dapr-programidentifierare sträng
appPort Talar om för Dapr vilken port programmet lyssnar på int
appProtocol Talar om för Dapr vilket protokoll programmet använder. Giltiga alternativ är http och grpc. Standardvärdet är http "grpc"
"http"
enableApiLogging Aktiverar API-loggning för Dapr-sidovagnen boolesk
enabled Booleskt värde som anger om Dapr-sidobilen är aktiverad boolesk
httpMaxRequestSize Öka maxstorleken för http- och grpc-serverparametern för begärandetext i MB för att hantera uppladdning av stora filer. Standardvärdet är 4 MB. int
httpReadBufferSize Dapr maxstorlek för http-sidhuvudläsningsbuffert i KB som ska hanteras när flera KB-huvuden skickas. Standardvärdet är 65 kB. int
logLevel Anger loggnivån för Dapr-sidovagnen. Tillåtna värden är felsökning, information, varning, fel. Standardvärdet är info. "felsöka"
"fel"
"info"
"varna"

Ingress

Name Beskrivning Värde
additionalPortMappings Inställningar för att exponera ytterligare portar i containerappen IngressPortMapping[]
allowInsecure Bool som anger om HTTP-anslutningar till tillåts. Om värdet är inställt på falska HTTP-anslutningar omdirigeras automatiskt till HTTPS-anslutningar boolesk
clientCertificateMode Klientcertifikatläge för mTLS-autentisering. Ignorera anger att servern tar bort klientcertifikatet vid vidarebefordran. Acceptera anger att servern vidarebefordrar klientcertifikatet men kräver inget klientcertifikat. Kräv anger att servern kräver ett klientcertifikat. "acceptera"
"ignorera"
"require"
corsPolicy CORS-princip för containerapp CorsPolicy
customDomains anpassade domänbindningar för Container Apps värdnamn. CustomDomain[]
exposedPort Exponerad port i containrar för TCP-trafik från ingång int
extern Bool som anger om appen exponerar en extern http-slutpunkt boolesk
ipSecurityRestrictions Regler för att begränsa inkommande IP-adress. IpSecurityRestrictionRule[]
stickySessions Sticky-sessioner för enkelt revisionsläge IngressStickySessions
targetPort Målport i containrar för trafik från ingress int
targetPortHttpScheme Om en http-app lyssnar på http eller https "http"
"https"
Trafik Trafikvikter för appens revisioner TrafficWeight[]
Transport Ingående transportprotokoll "auto"
"http"
"http2"
"tcp"

IngressPortMapping

Name Beskrivning Värde
exposedPort Anger den exponerade porten för målporten. Om det inte anges är målporten som standard int
extern Anger om appporten är tillgänglig utanför miljön bool (krävs)
targetPort Anger att portanvändarens container lyssnar på int (krävs)

CorsPolicy

Name Beskrivning Värde
allowCredentials Anger om resursen tillåter autentiseringsuppgifter boolesk
allowedHeaders Anger innehållet för rubriken access-control-allow-headers string[]
allowedMethods Anger innehållet för huvudet access-control-allow-methods string[]
allowedOrigins Anger innehållet för rubriken access-control-allow-origins string[] (krävs)
exposeHeaders Anger innehållet för rubriken access-control-expose-headers string[]
maxAge Anger innehållet för rubriken access-control-max-age int

CustomDomain

Name Beskrivning Värde
bindingType Custom Domain bindningstyp. "Inaktiverad"
"SniEnabled"
certificateId Resurs-ID för certifikatet som ska bindas till det här värdnamnet. Måste finnas i den hanterade miljön. sträng
name Värdnamn. sträng (krävs)

IpSecurityRestrictionRule

Name Beskrivning Värde
åtgärd Tillåt eller neka regler för att fastställa för inkommande IP-adress. Obs! Regler kan bara bestå av ALLA tillåtna eller ALLA neka "Tillåt"
"Neka" (krävs)
beskrivning Beskriv ip-begränsningsregeln som skickas till containerappen. Detta är ett valfritt fält. sträng
ipAddressRange CIDR-notation för att matcha inkommande IP-adress sträng (krävs)
name Namn på IP-begränsningsregeln. sträng (krävs)

IngressStickySessions

Name Beskrivning Värde
tillhörighet Fäst sessionstillhörighet "ingen"
"klibbigt"

TrafficWeight

Name Beskrivning Värde
etikett Associerar en trafiketikett med en revision sträng
latestRevision Anger att trafikvikten tillhör en senaste stabil revision boolesk
revisionName Namn på en revision sträng
vikt Trafikviktning tilldelad till en revision int

RegistryCredentials

Name Beskrivning Värde
identity En hanterad identitet som ska användas för att autentisera med Azure Container Registry. För användartilldelade identiteter använder du det fullständiga användartilldelade identitetsresurs-ID:t. För systemtilldelade identiteter använder du "system" sträng
passwordSecretRef Namnet på hemligheten som innehåller lösenordet för registerinloggning sträng
server Container Registry Server sträng
användarnamn Användarnamn för containerregister sträng

Hemlighet

Name Beskrivning Värde
identity Resurs-ID för en hanterad identitet för autentisering med Azure Key Vault eller System för att använda en systemtilldelad identitet. sträng
keyVaultUrl Azure Key Vault-URL som pekar på hemligheten som refereras av containerappen. sträng
name Hemligt namn. sträng
värde Hemligt värde. sträng

Begränsningar:
Känsligt värde. Skicka in som en säker parameter.

Tjänst

Name Beskrivning Värde
typ Dev ContainerApp-tjänsttyp sträng (krävs)

Mall

Name Beskrivning Värde
containrar Lista över containerdefinitioner för containerappen. Container[]
initContainers Lista över specialiserade containrar som körs före appcontainrar. InitContainer[]
revisionSuffix Användarvänligt suffix som läggs till i revisionsnamnet sträng
scale Skalningsegenskaper för containerappen. Skalning
serviceBinds Lista över containerapptjänster som är bundna till appen ServiceBind[]
terminationGracePeriodSeconds Valfri varaktighet i sekunder containerappinstansen måste avslutas korrekt. Värdet måste vara ett heltal som inte är negativt. Värdet noll anger stopp direkt via kill-signalen (ingen möjlighet att stänga av). Om det här värdet är noll används standardrespitperioden i stället. Ange det här värdet längre än den förväntade rensningstiden för processen. Standardvärdet är 30 sekunder. int
volumes Lista över volymdefinitioner för containerappen. Volym[]

Container

Name Beskrivning Värde
args Kommandoargument för containerstart. string[]
command Startkommando för container. string[]
Env Miljövariabler för containrar. EnvironmentVar[]
image Containeravbildningstagg. sträng
name Anpassat containernamn. sträng
Sonder Lista över avsökningar för containern. ContainerAppProbe[]
resources Krav för containerresurser. ContainerResources
volumeMounts Containervolymmonteringar. VolumeMount[]

EnvironmentVar

Name Beskrivning Värde
name Miljövariabelnamn. sträng
secretRef Namnet på containerappens hemlighet som miljövariabelvärdet ska hämtas från. sträng
värde Variabelvärde för icke-hemlig miljö. sträng

ContainerAppProbe

Name Beskrivning Värde
failureThreshold Minsta efterföljande fel för avsökningen som ska betraktas som misslyckad efter att ha lyckats. Standardvärdet är 3. Minsta värde är 1. Maximalt värde är 10. int
httpGet HTTPGet anger http-begäran som ska utföras. ContainerAppProbeHttpGet
initialDelaySeconds Antal sekunder efter att containern har startats innan live-avsökningar initieras. Minsta värde är 1. Maximalt värde är 60. int
periodSeconds Hur ofta (i sekunder) avsökningen ska utföras. Standardvärdet är 10 sekunder. Minsta värde är 1. Maximalt värde är 240. int
successThreshold Minsta lyckade resultat i följd för att avsökningen ska anses vara lyckad efter att ha misslyckats. Standardvärdet är 1. Måste vara 1 för liveness och start. Minsta värde är 1. Maximalt värde är 10. int
tcpSocket TCPSocket anger en åtgärd som involverar en TCP-port. TCP-krokar stöds inte ännu. ContainerAppProbeTcpSocket
terminationGracePeriodSeconds Valfri varaktighet i sekunder podden måste avslutas på ett smidigt sätt vid avsökningsfel. Respitperioden är varaktigheten i sekunder efter att processerna som körs i podden har skickats en avslutssignal och den tid då processerna med två skäl stoppas med en killsignal. Ange det här värdet längre än den förväntade rensningstiden för processen. Om det här värdet är noll används poddens avslutningGracePeriodSeconds. Annars åsidosätter det här värdet värdet som tillhandahålls av poddspecifikationen. Värdet måste vara ett icke-negativt heltal. Värdet noll anger stopp omedelbart via avlivningssignalen (ingen möjlighet att stänga av). Det här är ett alfafält och kräver att funktionen ProbeTerminationGracePeriod aktiveras. Maximalt värde är 3 600 sekunder (1 timme) int
timeoutSeconds Antal sekunder som avsökningen överskrider tidsgränsen. Standardvärdet är 1 sekund. Minsta värde är 1. Maximalt värde är 240. int
typ Typ av avsökning. "Livskraft"
"Beredskap"
"Start"

ContainerAppProbeHttpGet

Name Beskrivning Värde
värd Värdnamn att ansluta till, standardvärdet för poddens IP-adress. Du vill förmodligen ange "Värd" i httpHeaders i stället. sträng
httpHeaders Anpassade rubriker som ska anges i begäran. HTTP tillåter upprepade rubriker. ContainerAppProbeHttpGetHttpHeadersItem[]
path Sökväg till åtkomst på HTTP-servern. sträng
port Namn eller nummer på porten som ska kommas åt i containern. Talet måste ligga i intervallet 1 till 65535. Namnet måste vara en IANA_SVC_NAME. int (krävs)
System Schema som ska användas för att ansluta till värden. Standardvärdet är HTTP. "HTTP"
"HTTPS"

ContainerAppProbeHttpGetHttpHeadersItem

Name Beskrivning Värde
name Namn på rubrikfält sträng (krävs)
värde Sidhuvudfältsvärdet sträng (krävs)

ContainerAppProbeTcpSocket

Name Beskrivning Värde
värd Valfritt: Värdnamn att ansluta till, standardvärdet för podd-IP-adressen. sträng
port Nummer eller namn på porten som ska kommas åt i containern. Talet måste ligga i intervallet 1 till 65535. Namnet måste vara en IANA_SVC_NAME. int (krävs)

ContainerResources

Name Beskrivning Värde
Cpu Nödvändig cpu i kärnor, t.ex. 0,5 Om du vill ange ett decimalvärde använder du funktionen json(). int- eller json-decimal
minne Nödvändigt minne, t.ex. "250 Mb" sträng

VolumeMount

Name Beskrivning Värde
mountPath Sökväg i containern där volymen ska monteras. Får inte innehålla :. sträng
subPath Sökväg inom volymen som containerns volym ska monteras från. Standardvärdet är "" (volymens rot). sträng
Volymnamn Detta måste matcha namnet på en volym. sträng

InitContainer

Name Beskrivning Värde
args Kommandoargument för containerstart. string[]
command Startkommando för container. string[]
Env Miljövariabler för containrar. EnvironmentVar[]
image Containeravbildningstagg. sträng
name Anpassat containernamn. sträng
resources Krav för containerresurser. ContainerResources
volumeMounts Containervolymmonteringar. VolumeMount[]

Skala

Name Beskrivning Värde
maxReplicas Valfritt. Maximalt antal containerrepliker. Standardvärdet är 10 om det inte har angetts. int
minReplicas Valfritt. Minsta antal containerrepliker. int
regler Skalningsregler. ScaleRule[]

ScaleRule

Name Beskrivning Värde
azureQueue Azure Queue-baserad skalning. QueueScaleRule
anpassad Anpassad skalningsregel. CustomScaleRule
http HTTP-begärandensbaserad skalning. HttpScaleRule
name Namn på skalningsregel sträng
Tcp Tcp-begärandensbaserad skalning. TcpScaleRule

QueueScaleRule

Name Beskrivning Värde
Auth Autentiseringshemligheter för köskalningsregeln. ScaleRuleAuth[]
queueLength Kölängd. int
queueName Könamn. sträng

ScaleRuleAuth

Name Beskrivning Värde
secretRef Namnet på hemligheten som autentiseringsparamerna ska hämtas från. sträng
triggerParameter Utlösarparameter som använder hemligheten sträng

CustomScaleRule

Name Beskrivning Värde
Auth Autentiseringshemligheter för den anpassade skalningsregeln. ScaleRuleAuth[]
metadata Metadataegenskaper för att beskriva en anpassad skalningsregel. CustomScaleRuleMetadata
typ Typ av anpassad skalningsregel
t.ex. azure-servicebus, redis osv.
sträng

CustomScaleRuleMetadata

Name Beskrivning Värde
{anpassad egenskap} sträng

HttpScaleRule

Name Beskrivning Värde
Auth Autentiseringshemligheter för den anpassade skalningsregeln. ScaleRuleAuth[]
metadata Metadataegenskaper för att beskriva http-skalningsregel. HttpScaleRuleMetadata

HttpScaleRuleMetadata

Name Beskrivning Värde
{anpassad egenskap} sträng

TcpScaleRule

Name Beskrivning Värde
Auth Autentiseringshemligheter för tcp-skalningsregeln. ScaleRuleAuth[]
metadata Metadataegenskaper för att beskriva tcp-skalningsregeln. TcpScaleRuleMetadata

TcpScaleRuleMetadata

Name Beskrivning Värde
{anpassad egenskap} sträng

ServiceBind

Name Beskrivning Värde
clientType Typ av klient som ska användas för att ansluta till tjänsten sträng
customizedKeys Anpassade nycklar för att anpassa inmatade värden i appen ServiceBindCustomizedKeys
name Namn på tjänstbindningen sträng
serviceId Resurs-ID för måltjänsten sträng

ServiceBindCustomizedKeys

Name Beskrivning Värde
{anpassad egenskap} sträng

Volym

Name Beskrivning Värde
mountOptions Monteringsalternativ som används vid montering av Azure-filresursen eller NFS Azure-filresursen. Måste vara en kommaavgränsad sträng. sträng
name Volymnamn. sträng
secrets Lista över hemligheter som ska läggas till i volymen. Om inga hemligheter anges läggs alla hemligheter i samlingen till i volymen. SecretVolumeItem[]
storageName Namnet på lagringsresursen. Du behöver inte ange EmptyDir och Secret. sträng
storageType Lagringstyp för volymen. Om inget anges använder du EmptyDir. "AzureFile"
"EmptyDir"
"NfsAzureFile"
"Hemligt"

SecretVolumeItem

Name Beskrivning Värde
path Sökväg till projekthemlighet till. Om ingen sökväg anges anges standardsökvägen till namnet på hemligheten som anges i secretRef. sträng
secretRef Namnet på containerappens hemlighet som det hemliga värdet ska hämtas från. sträng

Snabbstartsmallar

Följande snabbstartsmallar distribuerar den här resurstypen.

Mall Description
Skapar en containerapp och miljö med registret

Distribuera till Azure
Skapa en containerappmiljö med en grundläggande containerapp från en Azure Container Registry. Den distribuerar också en Log Analytics-arbetsyta för att lagra loggar.
Skapar en två containerapp med en containerappmiljö

Distribuera till Azure
Skapa en två containerappmiljö med en grundläggande containerapp. Den distribuerar också en Log Analytics-arbetsyta för att lagra loggar.
Skapar en containerapp i en containerappmiljö

Distribuera till Azure
Skapa en containerappmiljö med en grundläggande containerapp. Den distribuerar också en Log Analytics-arbetsyta för att lagra loggar.
Skapar en containerapp med en definierad HTTP-skalningsregel

Distribuera till Azure
Skapa en containerappmiljö med en grundläggande containerapp som skalar baserat på HTTP-trafik.
Skapar en extern containerappmiljö med ett virtuellt nätverk

Distribuera till Azure
Skapar en extern containerappmiljö med ett virtuellt nätverk.
Skapar en intern containerappmiljö med ett virtuellt nätverk

Distribuera till Azure
Skapar en intern containerappmiljö med ett virtuellt nätverk.

Resursdefinition för ARM-mall

Resurstypen containerApps kan distribueras med åtgärder som mål:

En lista över ändrade egenskaper i varje API-version finns i ändringsloggen.

Resursformat

Om du vill skapa en Microsoft.App/containerApps resurs lägger du till följande JSON i mallen.

{
  "type": "Microsoft.App/containerApps",
  "apiVersion": "2023-11-02-preview",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "extendedLocation": {
    "name": "string",
    "type": "CustomLocation"
  },
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {}
    }
  },
  "managedBy": "string",
  "properties": {
    "configuration": {
      "activeRevisionsMode": "string",
      "dapr": {
        "appId": "string",
        "appPort": "int",
        "appProtocol": "string",
        "enableApiLogging": "bool",
        "enabled": "bool",
        "httpMaxRequestSize": "int",
        "httpReadBufferSize": "int",
        "logLevel": "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"
        }
      ],
      "secrets": [
        {
          "identity": "string",
          "keyVaultUrl": "string",
          "name": "string",
          "value": "string"
        }
      ],
      "service": {
        "type": "string"
      }
    },
    "environmentId": "string",
    "managedEnvironmentId": "string",
    "template": {
      "containers": [
        {
          "args": [ "string" ],
          "command": [ "string" ],
          "env": [
            {
              "name": "string",
              "secretRef": "string",
              "value": "string"
            }
          ],
          "image": "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": "[json('decimal-as-string')]",
            "memory": "string"
          },
          "volumeMounts": [
            {
              "mountPath": "string",
              "subPath": "string",
              "volumeName": "string"
            }
          ]
        }
      ],
      "initContainers": [
        {
          "args": [ "string" ],
          "command": [ "string" ],
          "env": [
            {
              "name": "string",
              "secretRef": "string",
              "value": "string"
            }
          ],
          "image": "string",
          "name": "string",
          "resources": {
            "cpu": "[json('decimal-as-string')]",
            "memory": "string"
          },
          "volumeMounts": [
            {
              "mountPath": "string",
              "subPath": "string",
              "volumeName": "string"
            }
          ]
        }
      ],
      "revisionSuffix": "string",
      "scale": {
        "maxReplicas": "int",
        "minReplicas": "int",
        "rules": [
          {
            "azureQueue": {
              "auth": [
                {
                  "secretRef": "string",
                  "triggerParameter": "string"
                }
              ],
              "queueLength": "int",
              "queueName": "string"
            },
            "custom": {
              "auth": [
                {
                  "secretRef": "string",
                  "triggerParameter": "string"
                }
              ],
              "metadata": {
                "{customized property}": "string"
              },
              "type": "string"
            },
            "http": {
              "auth": [
                {
                  "secretRef": "string",
                  "triggerParameter": "string"
                }
              ],
              "metadata": {
                "{customized property}": "string"
              }
            },
            "name": "string",
            "tcp": {
              "auth": [
                {
                  "secretRef": "string",
                  "triggerParameter": "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"
  }
}

Egenskapsvärden

containerApps

Name Beskrivning Värde
typ Resurstypen "Microsoft.App/containerApps"
apiVersion Resurs-API-versionen "2023-11-02-preview"
name Resursnamnet sträng (krävs)

Teckengräns: 2–32

Giltiga tecken:
Gemener, siffror och bindestreck..

Börja med bokstav och slut med alfanumeriskt.
location Den geo-plats där resursen finns sträng (krävs)
tags Resurstaggar. Ordlista med taggnamn och värden. Se Taggar i mallar
extendedLocation Den komplexa typen av utökad plats. ExtendedLocation
identity hanterade identiteter som containerappen kan interagera med andra Azure-tjänster utan att ha några hemligheter eller autentiseringsuppgifter i koden. ManagedServiceIdentity
managedBy Det fullständigt kvalificerade resurs-ID:t för resursen som hanterar den här resursen. Anger om den här resursen hanteras av en annan Azure-resurs. Om det finns tar distributionen i fullständigt läge inte bort resursen om den tas bort från mallen eftersom den hanteras av en annan resurs. sträng
properties Egenskaper för ContainerApp-resurs ContainerAppProperties

ExtendedLocation

Name Beskrivning Värde
name Namnet på den utökade platsen. sträng
typ Typen av utökad plats. "CustomLocation"

ManagedServiceIdentity

Name Beskrivning Värde
typ Typ av hanterad tjänstidentitet (där både SystemAssigned- och UserAssigned-typer tillåts). "Ingen"
"SystemTilldelade"
"SystemAssigned,UserAssigned"
"UserAssigned" (krävs)
userAssignedIdentities Den uppsättning användartilldelade identiteter som är associerade med resursen. Ordlistenycklarna userAssignedIdentities är ARM-resurs-ID:er i formuläret: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Ordlistevärdena kan vara tomma objekt ({}) i begäranden. UserAssignedIdentities

UserAssignedIdentities

Name Beskrivning Värde
{anpassad egenskap} UserAssignedIdentity

UserAssignedIdentity

Det här objektet innehåller inga egenskaper som ska anges under distributionen. Alla egenskaper är ReadOnly.

ContainerAppProperties

Name Beskrivning Värde
konfiguration Konfigurationsegenskaper för containerappar som inte har en version. Konfiguration
environmentId Resurs-ID för miljön. sträng
managedEnvironmentId Inaktuellt. Resurs-ID för containerappens miljö. sträng
mall Programdefinition med version av containerappen. Mall
workloadProfileName Namnet på arbetsbelastningsprofilen som ska fästas för körning av containerappar. sträng

Konfiguration

Name Beskrivning Värde
activeRevisionsMode ActiveRevisionsMode styr hur aktiva revisioner hanteras för containerappen:
{list} {item} Flera: flera revisioner kan vara aktiva. {/item} {item} Enkel: Endast en revision kan vara aktiv i taget. Revisionsvikter kan inte användas i det här läget. Om inget värde anges är detta standardvärdet. {/item} {/list}
"Flera"
"Enkel"
dapr Dapr-konfiguration för containerappen. Dapr
Inträngning Ingresskonfigurationer. Ingress
maxInactiveRevisions Valfritt. Maximalt antal inaktiva revisioner som en containerapp kan ha. int
Register Samling autentiseringsuppgifter för privata containerregister för containrar som används av containerappen RegistryCredentials[]
secrets Samling hemligheter som används av en containerapp Hemlighet[]
tjänst Containerapp som ska vara en utvecklingscontainer App Service Tjänst

Dapr

Name Beskrivning Värde
appId Dapr-programidentifierare sträng
appPort Talar om för Dapr vilken port programmet lyssnar på int
appProtocol Talar om för Dapr vilket protokoll programmet använder. Giltiga alternativ är http och grpc. Standardvärdet är http "grpc"
"http"
enableApiLogging Aktiverar API-loggning för Dapr-sidovagnen boolesk
enabled Booleskt värde som anger om Dapr-sidobilen är aktiverad boolesk
httpMaxRequestSize Öka maxstorleken för http- och grpc-serverparametern för begärandetext i MB för att hantera uppladdning av stora filer. Standardvärdet är 4 MB. int
httpReadBufferSize Dapr maxstorlek för http-sidhuvudläsningsbuffert i KB som ska hanteras när flera KB-huvuden skickas. Standardvärdet är 65 kB. int
logLevel Anger loggnivån för Dapr-sidovagnen. Tillåtna värden är felsökning, information, varning, fel. Standardvärdet är info. "felsöka"
"fel"
"info"
"varna"

Ingress

Name Beskrivning Värde
additionalPortMappings Inställningar för att exponera ytterligare portar i containerappen IngressPortMapping[]
allowInsecure Bool som anger om HTTP-anslutningar till tillåts. Om värdet är inställt på falska HTTP-anslutningar omdirigeras automatiskt till HTTPS-anslutningar boolesk
clientCertificateMode Klientcertifikatläge för mTLS-autentisering. Ignorera anger att servern tar bort klientcertifikatet vid vidarebefordran. Acceptera anger att servern vidarebefordrar klientcertifikatet men kräver inget klientcertifikat. Kräv anger att servern kräver ett klientcertifikat. "acceptera"
"ignorera"
"require"
corsPolicy CORS-princip för containerapp CorsPolicy
customDomains anpassade domänbindningar för Container Apps värdnamn. CustomDomain[]
exposedPort Exponerad port i containrar för TCP-trafik från ingress int
extern Bool som anger om appen exponerar en extern http-slutpunkt boolesk
ipSecurityRestrictions Regler för att begränsa inkommande IP-adress. IpSecurityRestrictionRule[]
stickySessioner Sticky-sessioner för enkelt revisionsläge IngressStickySessioner
targetPort Målport i containrar för trafik från ingress int
targetPortHttpScheme Om en http-app lyssnar på http eller https "http"
"https"
Trafik Trafikvikter för appens revisioner TrafficWeight[]
Transport Ingående transportprotokoll "auto"
"http"
"http2"
"tcp"

IngressPortMapping

Name Beskrivning Värde
exposedPort Anger den exponerade porten för målporten. Om det inte anges är målporten som standard int
extern Anger om appporten är tillgänglig utanför miljön bool (krävs)
targetPort Anger att portanvändarens container lyssnar på int (krävs)

CorsPolicy

Name Beskrivning Värde
allowCredentials Anger om resursen tillåter autentiseringsuppgifter boolesk
allowedHeaders Anger innehållet för rubriken access-control-allow-headers string[]
allowedMethods Anger innehållet för huvudet access-control-allow-methods string[]
allowedOrigins Anger innehållet för rubriken access-control-allow-origins string[] (krävs)
exposeHeaders Anger innehållet för rubriken access-control-expose-headers string[]
maxAge Anger innehållet för rubriken access-control-max-age int

CustomDomain

Name Beskrivning Värde
bindingType Custom Domain bindningstyp. "Inaktiverad"
"SniEnabled"
certificateId Resurs-ID för certifikatet som ska bindas till det här värdnamnet. Måste finnas i den hanterade miljön. sträng
name Värdnamn. sträng (krävs)

IpSecurityRestrictionRule

Name Beskrivning Värde
åtgärd Tillåt eller neka regler för att fastställa för inkommande IP-adress. Obs! Regler kan bara bestå av ALLA tillåtna eller ALLA neka "Tillåt"
"Neka" (krävs)
beskrivning Beskriv ip-begränsningsregeln som skickas till containerappen. Detta är ett valfritt fält. sträng
ipAddressRange CIDR-notation för att matcha inkommande IP-adress sträng (krävs)
name Namn på IP-begränsningsregeln. sträng (krävs)

IngressStickySessions

Name Beskrivning Värde
tillhörighet Fäst sessionstillhörighet "ingen"
"klibbig"

TrafficWeight

Name Beskrivning Värde
etikett Associerar en trafiketikett med en revision sträng
latestRevision Anger att trafikvikten tillhör en senaste stabil revision boolesk
revisionName Namnet på en revision sträng
vikt Trafikvikt tilldelad till en revision int

RegistryCredentials

Name Beskrivning Värde
identity En hanterad identitet som ska användas för att autentisera med Azure Container Registry. Använd det fullständiga användartilldelade identitetsresurs-ID:t för användartilldelade identiteter. För systemtilldelade identiteter använder du "system" sträng
passwordSecretRef Namnet på hemligheten som innehåller lösenordet för registerinloggning sträng
server Container Registry Server sträng
användarnamn Användarnamn för containerregistret sträng

Hemlighet

Name Beskrivning Värde
identity Resurs-ID för en hanterad identitet för autentisering med Azure Key Vault eller System för att använda en systemtilldelad identitet. sträng
keyVaultUrl Azure Key Vault URL som pekar på hemligheten som refereras av containerappen. sträng
name Hemligt namn. sträng
värde Hemligt värde. sträng

Begränsningar:
Känsligt värde. Skicka som en säker parameter.

Tjänst

Name Beskrivning Värde
typ Dev ContainerApp-tjänsttyp sträng (krävs)

Mall

Name Beskrivning Värde
containrar Lista över containerdefinitioner för containerappen. Container[]
initContainers Lista över specialiserade containrar som körs före appcontainrar. InitContainer[]
revisionSuffix Användarvänligt suffix som läggs till i revisionsnamnet sträng
scale Skalningsegenskaper för containerappen. Skalning
serviceBinds Lista över containerapptjänster som är bundna till appen ServiceBind[]
terminationGracePeriodSeconds Valfri varaktighet i sekunder containerappinstansen måste avslutas korrekt. Värdet måste vara ett icke-negativt heltal. Värdet noll anger stopp omedelbart via avlivningssignalen (ingen möjlighet att stänga av). Om det här värdet är noll används standard respitperioden i stället. Ange det här värdet längre än den förväntade rensningstiden för processen. Standardvärdet är 30 sekunder. int
volumes Lista över volymdefinitioner för containerappen. Volym[]

Container

Name Beskrivning Värde
args Kommandoargument för containerstart. string[]
command Startkommando för container. string[]
Env Miljövariabler för containrar. EnvironmentVar[]
image Containeravbildningstagg. sträng
name Anpassat containernamn. sträng
Sonder Lista över avsökningar för containern. ContainerAppProbe[]
resources Krav för containerresurser. ContainerResources
volumeMounts Containervolymmonteringar. VolumeMount[]

EnvironmentVar

Name Beskrivning Värde
name Miljövariabelnamn. sträng
secretRef Namnet på containerappens hemlighet som miljövariabelvärdet ska hämtas från. sträng
värde Variabelvärde för icke-hemlig miljö. sträng

ContainerAppProbe

Name Beskrivning Värde
failureThreshold Minsta efterföljande fel för avsökningen som ska betraktas som misslyckad efter att ha lyckats. Standardvärdet är 3. Minsta värde är 1. Maximalt värde är 10. int
httpGet HTTPGet anger http-begäran som ska utföras. ContainerAppProbeHttpGet
initialDelaySeconds Antal sekunder efter att containern har startats innan live-avsökningar initieras. Minsta värde är 1. Maximalt värde är 60. int
periodSeconds Hur ofta (i sekunder) avsökningen ska utföras. Standardvärdet är 10 sekunder. Minsta värde är 1. Maximalt värde är 240. int
successThreshold Minsta lyckade resultat i följd för att avsökningen ska anses vara lyckad efter att ha misslyckats. Standardvärdet är 1. Måste vara 1 för liveness och start. Minsta värde är 1. Maximalt värde är 10. int
tcpSocket TCPSocket anger en åtgärd som involverar en TCP-port. TCP-krokar stöds inte ännu. ContainerAppProbeTcpSocket
terminationGracePeriodSeconds Valfri varaktighet i sekunder podden måste avslutas på ett smidigt sätt vid avsökningsfel. Respitperioden är varaktigheten i sekunder efter att processerna som körs i podden har skickats en avslutssignal och den tid då processerna med två skäl stoppas med en killsignal. Ange det här värdet längre än den förväntade rensningstiden för processen. Om det här värdet är noll används poddens avslutningGracePeriodSeconds. Annars åsidosätter det här värdet värdet som tillhandahålls av poddspecifikationen. Värdet måste vara ett icke-negativt heltal. Värdet noll anger stopp omedelbart via avlivningssignalen (ingen möjlighet att stänga av). Det här är ett alfafält och kräver att funktionen ProbeTerminationGracePeriod aktiveras. Maximalt värde är 3 600 sekunder (1 timme) int
timeoutSeconds Antal sekunder som avsökningen överskrider tidsgränsen. Standardvärdet är 1 sekund. Minsta värde är 1. Maximalt värde är 240. int
typ Typ av avsökning. "Livskraft"
"Beredskap"
"Start"

ContainerAppProbeHttpGet

Name Beskrivning Värde
värd Värdnamn att ansluta till, standardvärdet för poddens IP-adress. Du vill förmodligen ange "Värd" i httpHeaders i stället. sträng
httpHeaders Anpassade rubriker som ska anges i begäran. HTTP tillåter upprepade rubriker. ContainerAppProbeHttpGetHttpHeadersItem[]
path Sökväg till åtkomst på HTTP-servern. sträng
port Namn eller nummer på porten som ska kommas åt i containern. Talet måste ligga i intervallet 1 till 65535. Namnet måste vara en IANA_SVC_NAME. int (krävs)
System Schema som ska användas för att ansluta till värden. Standardvärdet är HTTP. "HTTP"
"HTTPS"

ContainerAppProbeHttpGetHttpHeadersItem

Name Beskrivning Värde
name Namn på rubrikfält sträng (krävs)
värde Värdet för rubrikfält sträng (krävs)

ContainerAppProbeTcpSocket

Name Beskrivning Värde
värd Valfritt: Värdnamn att ansluta till, standardvärdet är poddens IP-adress. sträng
port Nummer eller namn på porten för åtkomst till containern. Talet måste vara mellan 1 och 65535. Namnet måste vara ett IANA_SVC_NAME. int (obligatoriskt)

ContainerResources

Name Beskrivning Värde
Cpu Nödvändig PROCESSOR i kärnor, t.ex. 0,5 Om du vill ange ett decimalvärde använder du funktionen json( ). int- eller json-decimal
minne Nödvändigt minne, t.ex. "250 Mb" sträng

VolumeMount

Name Beskrivning Värde
mountPath Sökväg i containern där volymen ska monteras. Får inte innehålla :. sträng
subPath Sökväg inom volymen som containerns volym ska monteras från. Standardvärdet är "" (volymens rot). sträng
Volymnamn Detta måste matcha namnet på en volym. sträng

InitContainer

Name Beskrivning Värde
args Kommandoargument för containerstart. string[]
command Startkommando för container. string[]
Env Miljövariabler för containrar. EnvironmentVar[]
image Containeravbildningstagg. sträng
name Anpassat containernamn. sträng
resources Krav för containerresurser. ContainerResources
volumeMounts Containervolymmonteringar. VolumeMount[]

Skala

Name Beskrivning Värde
maxReplicas Valfritt. Maximalt antal containerrepliker. Standardvärdet är 10 om det inte anges. int
minReplicas Valfritt. Minsta antal containerrepliker. int
regler Skalningsregler. ScaleRule[]

ScaleRule

Name Beskrivning Värde
azureQueue Azure Queue-baserad skalning. QueueScaleRule
anpassad Anpassad skalningsregel. CustomScaleRule
http HTTP-begärandensbaserad skalning. HttpScaleRule
name Namn på skalningsregel sträng
Tcp Tcp-begärandensbaserad skalning. TcpScaleRule

QueueScaleRule

Name Beskrivning Värde
Auth Autentiseringshemligheter för köskalningsregeln. ScaleRuleAuth[]
queueLength Kölängd. int
queueName Könamn. sträng

ScaleRuleAuth

Name Beskrivning Värde
secretRef Namnet på hemligheten som autentiseringsparamerna ska hämtas från. sträng
triggerParameter Utlösarparameter som använder hemligheten sträng

CustomScaleRule

Name Beskrivning Värde
Auth Autentiseringshemligheter för den anpassade skalningsregeln. ScaleRuleAuth[]
metadata Metadataegenskaper för att beskriva en anpassad skalningsregel. CustomScaleRuleMetadata
typ Typ av anpassad skalningsregel
t.ex. azure-servicebus, redis osv.
sträng

CustomScaleRuleMetadata

Name Beskrivning Värde
{anpassad egenskap} sträng

HttpScaleRule

Name Beskrivning Värde
Auth Autentiseringshemligheter för den anpassade skalningsregeln. ScaleRuleAuth[]
metadata Metadataegenskaper för att beskriva http-skalningsregel. HttpScaleRuleMetadata

HttpScaleRuleMetadata

Name Beskrivning Värde
{anpassad egenskap} sträng

TcpScaleRule

Name Beskrivning Värde
Auth Autentiseringshemligheter för tcp-skalningsregeln. ScaleRuleAuth[]
metadata Metadataegenskaper för att beskriva tcp-skalningsregeln. TcpScaleRuleMetadata

TcpScaleRuleMetadata

Name Beskrivning Värde
{anpassad egenskap} sträng

ServiceBind

Name Beskrivning Värde
clientType Typ av klient som ska användas för att ansluta till tjänsten sträng
customizedKeys Anpassade nycklar för att anpassa inmatade värden i appen ServiceBindCustomizedKeys
name Namn på tjänstbindningen sträng
serviceId Resurs-ID för måltjänsten sträng

ServiceBindCustomizedKeys

Name Beskrivning Värde
{anpassad egenskap} sträng

Volym

Name Beskrivning Värde
mountOptions Monteringsalternativ som används vid montering av Azure-filresursen eller NFS Azure-filresursen. Måste vara en kommaavgränsad sträng. sträng
name Volymnamn. sträng
secrets Lista över hemligheter som ska läggas till i volym. Om inga hemligheter anges läggs alla hemligheter i samlingen till i volymen. SecretVolumeItem[]
storageName Namnet på lagringsresursen. Du behöver inte ange EmptyDir och Secret. sträng
storageType Lagringstyp för volymen. Om inget anges använder du EmptyDir. "AzureFile"
"EmptyDir"
"NfsAzureFile"
"Hemlighet"

SecretVolumeItem

Name Beskrivning Värde
path Sökväg till projekthemlighet till. Om ingen sökväg anges är sökvägen som standard namnet på hemligheten som anges i secretRef. sträng
secretRef Namnet på containerappens hemlighet som det hemliga värdet ska hämtas från. sträng

Snabbstartsmallar

Följande snabbstartsmallar distribuerar den här resurstypen.

Mall Description
Skapar en containerapp och en miljö med registret

Distribuera till Azure
Skapa en containerappmiljö med en grundläggande containerapp från en Azure Container Registry. Den distribuerar också en Log Analytics-arbetsyta för att lagra loggar.
Skapar en två containerapp med en containerappmiljö

Distribuera till Azure
Skapa en två containerappmiljö med en grundläggande containerapp. Den distribuerar också en Log Analytics-arbetsyta för att lagra loggar.
Skapar en containerapp i en containerappmiljö

Distribuera till Azure
Skapa en containerappmiljö med en grundläggande containerapp. Den distribuerar också en Log Analytics-arbetsyta för att lagra loggar.
Skapar en containerapp med en definierad HTTP-skalningsregel

Distribuera till Azure
Skapa en containerappmiljö med en grundläggande containerapp som skalar baserat på HTTP-trafik.
Skapar en extern containerappmiljö med ett virtuellt nätverk

Distribuera till Azure
Skapar en extern containerappmiljö med ett virtuellt nätverk.
Skapar en intern containerappmiljö med ett virtuellt nätverk

Distribuera till Azure
Skapar en intern containerappmiljö med ett virtuellt nätverk.

Resursdefinition för Terraform (AzAPI-provider)

Resurstypen containerApps kan distribueras med åtgärder som är mål:

  • Resursgrupper

En lista över ändrade egenskaper i varje API-version finns i ändringsloggen.

Resursformat

Om du vill skapa en Microsoft.App/containerApps resurs lägger du till följande Terraform i mallen.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.App/containerApps@2023-11-02-preview"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  identity {
    type = "string"
    identity_ids = []
  }
  body = jsonencode({
    properties = {
      configuration = {
        activeRevisionsMode = "string"
        dapr = {
          appId = "string"
          appPort = int
          appProtocol = "string"
          enableApiLogging = bool
          enabled = bool
          httpMaxRequestSize = int
          httpReadBufferSize = int
          logLevel = "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"
          }
        ]
        secrets = [
          {
            identity = "string"
            keyVaultUrl = "string"
            name = "string"
            value = "string"
          }
        ]
        service = {
          type = "string"
        }
      }
      environmentId = "string"
      managedEnvironmentId = "string"
      template = {
        containers = [
          {
            args = [
              "string"
            ]
            command = [
              "string"
            ]
            env = [
              {
                name = "string"
                secretRef = "string"
                value = "string"
              }
            ]
            image = "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 = "decimal-as-string"
              memory = "string"
            }
            volumeMounts = [
              {
                mountPath = "string"
                subPath = "string"
                volumeName = "string"
              }
            ]
          }
        ]
        initContainers = [
          {
            args = [
              "string"
            ]
            command = [
              "string"
            ]
            env = [
              {
                name = "string"
                secretRef = "string"
                value = "string"
              }
            ]
            image = "string"
            name = "string"
            resources = {
              cpu = "decimal-as-string"
              memory = "string"
            }
            volumeMounts = [
              {
                mountPath = "string"
                subPath = "string"
                volumeName = "string"
              }
            ]
          }
        ]
        revisionSuffix = "string"
        scale = {
          maxReplicas = int
          minReplicas = int
          rules = [
            {
              azureQueue = {
                auth = [
                  {
                    secretRef = "string"
                    triggerParameter = "string"
                  }
                ]
                queueLength = int
                queueName = "string"
              }
              custom = {
                auth = [
                  {
                    secretRef = "string"
                    triggerParameter = "string"
                  }
                ]
                metadata = {
                  {customized property} = "string"
                }
                type = "string"
              }
              http = {
                auth = [
                  {
                    secretRef = "string"
                    triggerParameter = "string"
                  }
                ]
                metadata = {
                  {customized property} = "string"
                }
              }
              name = "string"
              tcp = {
                auth = [
                  {
                    secretRef = "string"
                    triggerParameter = "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"
    }
    extendedLocation = {
      name = "string"
      type = "CustomLocation"
    }
    managedBy = "string"
  })
}

Egenskapsvärden

containerApps

Name Beskrivning Värde
typ Resurstypen "Microsoft.App/containerApps@2023-11-02-preview"
name Resursnamnet sträng (krävs)

Teckengräns: 2–32

Giltiga tecken:
Gemener, siffror och bindestreck.

Börja med bokstav och slut med alfanumeriskt.
location Den geo-plats där resursen finns sträng (krävs)
parent_id Om du vill distribuera till en resursgrupp använder du ID:t för den resursgruppen. sträng (krävs)
tags Resurstaggar. Ordlista med taggnamn och värden.
extendedLocation Den komplexa typen av utökad plats. ExtendedLocation
identity hanterade identiteter för containerappen för att interagera med andra Azure-tjänster utan att ha några hemligheter eller autentiseringsuppgifter i koden. ManagedServiceIdentity
managedBy Det fullständigt kvalificerade resurs-ID:t för resursen som hanterar den här resursen. Anger om den här resursen hanteras av en annan Azure-resurs. Om det finns tar distributionen i fullständigt läge inte bort resursen om den tas bort från mallen eftersom den hanteras av en annan resurs. sträng
properties Resursspecifika egenskaper för ContainerApp ContainerAppProperties

ExtendedLocation

Name Beskrivning Värde
name Namnet på den utökade platsen. sträng
typ Typen av utökad plats. "CustomLocation"

ManagedServiceIdentity

Name Beskrivning Värde
typ Typ av hanterad tjänstidentitet (där både SystemAssigned- och UserAssigned-typer tillåts). "SystemTilldelade"
"SystemAssigned,UserAssigned"
"UserAssigned" (krävs)
identity_ids Den uppsättning användartilldelade identiteter som är associerade med resursen. Ordlistenycklarna userAssignedIdentities är ARM-resurs-ID:er i formuläret: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Ordlistevärdena kan vara tomma objekt ({}) i begäranden. Matris med användaridentitets-ID:t.

UserAssignedIdentities

Name Beskrivning Värde
{anpassad egenskap} UserAssignedIdentity

UserAssignedIdentity

Det här objektet innehåller inga egenskaper som ska anges under distributionen. Alla egenskaper är ReadOnly.

ContainerAppProperties

Name Beskrivning Värde
konfiguration Konfigurationsegenskaper för containerappar som inte har en version. Konfiguration
environmentId Resurs-ID för miljön. sträng
managedEnvironmentId Inaktuellt. Resurs-ID för containerappens miljö. sträng
mall Programdefinition med version av containerappen. Mall
workloadProfileName Namnet på arbetsbelastningsprofilen som ska fästas för körning av containerappar. sträng

Konfiguration

Name Beskrivning Värde
activeRevisionsMode ActiveRevisionsMode styr hur aktiva revisioner hanteras för containerappen:
{list} {item} Flera: flera revisioner kan vara aktiva. {/item} {item} Enkel: Endast en revision kan vara aktiv i taget. Revisionsvikter kan inte användas i det här läget. Om inget värde anges är detta standardvärdet. {/item} {/list}
"Flera"
"Enkel"
dapr Dapr-konfiguration för containerappen. Dapr
Inträngning Ingresskonfigurationer. Ingress
maxInactiveRevisions Valfritt. Maximalt antal inaktiva revisioner som en containerapp kan ha. int
Register Insamling av autentiseringsuppgifter för privata containerregister för containrar som används av containerappen RegistryCredentials[]
secrets Insamling av hemligheter som används av en containerapp Hemlighet[]
tjänst Containerapp som en utvecklingscontainer App Service Tjänst

Dapr

Name Beskrivning Värde
appId Dapr-programidentifierare sträng
appPort Talar om för Dapr vilken port programmet lyssnar på int
appProtocol Talar om för Dapr vilket protokoll programmet använder. Giltiga alternativ är http och grpc. Standard är http "grpc"
"http"
enableApiLogging Aktiverar API-loggning för Dapr-sidovagnen boolesk
enabled Booleskt värde som anger om Dapr-sidobilen är aktiverad boolesk
httpMaxRequestSize Öka maxstorleken för http- och grpc-serverparametern för begärandetext i MB för att hantera uppladdning av stora filer. Standardvärdet är 4 MB. int
httpReadBufferSize Dapr-maxstorleken för http-sidhuvudläsningsbuffert i KB som ska hanteras när flera KB-huvuden skickas. Standardvärdet är 65 KB. int
logLevel Anger loggnivån för Dapr-sidovagnen. Tillåtna värden är felsökning, information, varning, fel. Standard är information. "felsök"
"fel"
"info"
"varna"

Ingress

Name Beskrivning Värde
additionalPortMappings Inställningar för att exponera ytterligare portar i containerappen IngressPortMapping[]
allowInsecure Bool som anger om HTTP-anslutningar till tillåts. Om värdet är false HTTP-anslutningar omdirigeras automatiskt till HTTPS-anslutningar boolesk
clientCertificateMode Klientcertifikatläge för mTLS-autentisering. Ignorera anger att servern släpper klientcertifikatet vid vidarebefordring. Acceptera anger att servern vidarebefordrar klientcertifikatet, men kräver inget klientcertifikat. Kräv anger att servern kräver ett klientcertifikat. "acceptera"
"ignorera"
"kräv"
corsPolicy CORS-princip för containerapp CorsPolicy
customDomains anpassade domänbindningar för Container Apps värdnamn. CustomDomain[]
exposedPort Exponerad port i containrar för TCP-trafik från ingång int
extern Bool som anger om appen exponerar en extern http-slutpunkt boolesk
ipSecurityRestrictions Regler för att begränsa inkommande IP-adress. IpSecurityRestrictionRule[]
stickySessions Sticky-sessioner för enkelt revisionsläge IngressStickySessions
targetPort Målport i containrar för trafik från ingress int
targetPortHttpScheme Om en http-app lyssnar på http eller https "http"
"https"
Trafik Trafikvikter för appens revisioner TrafficWeight[]
Transport Ingående transportprotokoll "auto"
"http"
"http2"
"tcp"

IngressPortMapping

Name Beskrivning Värde
exposedPort Anger den exponerade porten för målporten. Om det inte anges är målporten som standard int
extern Anger om appporten är tillgänglig utanför miljön bool (krävs)
targetPort Anger att portanvändarens container lyssnar på int (krävs)

CorsPolicy

Name Beskrivning Värde
allowCredentials Anger om resursen tillåter autentiseringsuppgifter boolesk
allowedHeaders Anger innehållet för rubriken access-control-allow-headers string[]
allowedMethods Anger innehållet för huvudet access-control-allow-methods string[]
allowedOrigins Anger innehållet för rubriken access-control-allow-origins string[] (krävs)
exposeHeaders Anger innehållet för rubriken access-control-expose-headers string[]
maxAge Anger innehållet för rubriken access-control-max-age int

CustomDomain

Name Beskrivning Värde
bindingType Custom Domain bindningstyp. "Inaktiverad"
"SniEnabled"
certificateId Resurs-ID för certifikatet som ska bindas till det här värdnamnet. Måste finnas i den hanterade miljön. sträng
name Värdnamn. sträng (krävs)

IpSecurityRestrictionRule

Name Beskrivning Värde
åtgärd Tillåt eller neka regler för att fastställa för inkommande IP-adress. Obs! Regler kan bara bestå av ALLA tillåtna eller ALLA neka "Tillåt"
"Neka" (krävs)
beskrivning Beskriv ip-begränsningsregeln som skickas till containerappen. Detta är ett valfritt fält. sträng
ipAddressRange CIDR-notation för att matcha inkommande IP-adress sträng (krävs)
name Namn på IP-begränsningsregeln. sträng (krävs)

IngressStickySessions

Name Beskrivning Värde
tillhörighet Fäst sessionstillhörighet "ingen"
"klibbig"

TrafficWeight

Name Beskrivning Värde
etikett Associerar en trafiketikett med en revision sträng
latestRevision Anger att trafikvikten tillhör en senaste stabil revision boolesk
revisionName Namnet på en revision sträng
vikt Trafikvikt tilldelad till en revision int

RegistryCredentials

Name Beskrivning Värde
identity En hanterad identitet som ska användas för att autentisera med Azure Container Registry. Använd det fullständiga användartilldelade identitetsresurs-ID:t för användartilldelade identiteter. För systemtilldelade identiteter använder du "system" sträng
passwordSecretRef Namnet på hemligheten som innehåller lösenordet för registerinloggning sträng
server Container Registry Server sträng
användarnamn Användarnamn för containerregistret sträng

Hemlighet

Name Beskrivning Värde
identity Resurs-ID för en hanterad identitet för autentisering med Azure Key Vault eller System för att använda en systemtilldelad identitet. sträng
keyVaultUrl Azure Key Vault URL som pekar på hemligheten som refereras av containerappen. sträng
name Hemligt namn. sträng
värde Hemligt värde. sträng

Begränsningar:
Känsligt värde. Skicka som en säker parameter.

Tjänst

Name Beskrivning Värde
typ Dev ContainerApp-tjänsttyp sträng (krävs)

Mall

Name Beskrivning Värde
containrar Lista över containerdefinitioner för containerappen. Container[]
initContainers Lista över specialiserade containrar som körs före appcontainrar. InitContainer[]
revisionSuffix Användarvänligt suffix som läggs till i revisionsnamnet sträng
scale Skalningsegenskaper för containerappen. Skalning
serviceBinds Lista över containerapptjänster som är bundna till appen ServiceBind[]
terminationGracePeriodSeconds Valfri varaktighet i sekunder containerappinstansen måste avslutas korrekt. Värdet måste vara ett icke-negativt heltal. Värdet noll anger stopp omedelbart via avlivningssignalen (ingen möjlighet att stänga av). Om det här värdet är noll används standard respitperioden i stället. Ange det här värdet längre än den förväntade rensningstiden för processen. Standardvärdet är 30 sekunder. int
volumes Lista över volymdefinitioner för containerappen. Volym[]

Container

Name Beskrivning Värde
args Kommandoargument för containerstart. string[]
command Startkommando för container. string[]
Env Miljövariabler för containrar. EnvironmentVar[]
image Containeravbildningstagg. sträng
name Anpassat containernamn. sträng
Sonder Lista över avsökningar för containern. ContainerAppProbe[]
resources Krav för containerresurser. ContainerResources
volumeMounts Containervolymmonteringar. VolumeMount[]

EnvironmentVar

Name Beskrivning Värde
name Miljövariabelnamn. sträng
secretRef Namnet på containerappens hemlighet som miljövariabelvärdet ska hämtas från. sträng
värde Variabelvärde för icke-hemlig miljö. sträng

ContainerAppProbe

Name Beskrivning Värde
failureThreshold Minsta efterföljande fel för avsökningen som ska betraktas som misslyckad efter att ha lyckats. Standardvärdet är 3. Minsta värde är 1. Maximalt värde är 10. int
httpGet HTTPGet anger http-begäran som ska utföras. ContainerAppProbeHttpGet
initialDelaySeconds Antal sekunder efter att containern har startats innan live-avsökningar initieras. Minsta värde är 1. Maximalt värde är 60. int
periodSeconds Hur ofta (i sekunder) avsökningen ska utföras. Standardvärdet är 10 sekunder. Minsta värde är 1. Maximalt värde är 240. int
successThreshold Minsta lyckade resultat i följd för att avsökningen ska anses vara lyckad efter att ha misslyckats. Standardvärdet är 1. Måste vara 1 för liveness och start. Minsta värde är 1. Maximalt värde är 10. int
tcpSocket TCPSocket anger en åtgärd som involverar en TCP-port. TCP-krokar stöds inte ännu. ContainerAppProbeTcpSocket
terminationGracePeriodSeconds Valfri varaktighet i sekunder podden måste avslutas på ett smidigt sätt vid avsökningsfel. Respitperioden är varaktigheten i sekunder efter att processerna som körs i podden har skickats en avslutssignal och den tid då processerna med två skäl stoppas med en killsignal. Ange det här värdet längre än den förväntade rensningstiden för processen. Om det här värdet är noll används poddens avslutningGracePeriodSeconds. Annars åsidosätter det här värdet värdet som tillhandahålls av poddspecifikationen. Värdet måste vara ett icke-negativt heltal. Värdet noll anger stopp omedelbart via avlivningssignalen (ingen möjlighet att stänga av). Det här är ett alfafält och kräver att funktionen ProbeTerminationGracePeriod aktiveras. Maximalt värde är 3 600 sekunder (1 timme) int
timeoutSeconds Antal sekunder som avsökningen överskrider tidsgränsen. Standardvärdet är 1 sekund. Minsta värde är 1. Maximalt värde är 240. int
typ Typ av avsökning. "Liveness"
"Beredskap"
"Start"

ContainerAppProbeHttpGet

Name Beskrivning Värde
värd Värdnamn att ansluta till, standardvärdet för poddens IP-adress. Du vill förmodligen ange "Värd" i httpHeaders i stället. sträng
httpHeaders Anpassade rubriker som ska anges i begäran. HTTP tillåter upprepade rubriker. ContainerAppProbeHttpGetHttpHeadersItem[]
path Sökväg till åtkomst på HTTP-servern. sträng
port Namn eller nummer på porten som ska kommas åt i containern. Talet måste ligga i intervallet 1 till 65535. Namnet måste vara en IANA_SVC_NAME. int (krävs)
System Schema som ska användas för att ansluta till värden. Standardvärdet är HTTP. "HTTP"
"HTTPS"

ContainerAppProbeHttpGetHttpHeadersItem

Name Beskrivning Värde
name Namn på rubrikfält sträng (krävs)
värde Sidhuvudfältsvärdet sträng (krävs)

ContainerAppProbeTcpSocket

Name Beskrivning Värde
värd Valfritt: Värdnamn att ansluta till, standardvärdet för podd-IP-adressen. sträng
port Nummer eller namn på porten som ska kommas åt i containern. Talet måste ligga i intervallet 1 till 65535. Namnet måste vara en IANA_SVC_NAME. int (krävs)

ContainerResources

Name Beskrivning Värde
Cpu Nödvändig processor i kärnor, t.ex. 0,5 Ange ett decimalvärde som en sträng. int- eller json-decimal
minne Nödvändigt minne, t.ex. "250 Mb" sträng

VolumeMount

Name Beskrivning Värde
mountPath Sökväg i containern där volymen ska monteras. Får inte innehålla :. sträng
subPath Sökväg inom volymen som containerns volym ska monteras från. Standardvärdet är "" (volymens rot). sträng
Volymnamn Detta måste matcha namnet på en volym. sträng

InitContainer

Name Beskrivning Värde
args Kommandoargument för containerstart. string[]
command Startkommando för container. string[]
Env Miljövariabler för containrar. EnvironmentVar[]
image Containeravbildningstagg. sträng
name Anpassat containernamn. sträng
resources Krav för containerresurser. ContainerResources
volumeMounts Containervolymmonteringar. VolumeMount[]

Skala

Name Beskrivning Värde
maxReplicas Valfritt. Maximalt antal containerrepliker. Standardvärdet är 10 om det inte har angetts. int
minReplicas Valfritt. Minsta antal containerrepliker. int
regler Skalningsregler. ScaleRule[]

ScaleRule

Name Beskrivning Värde
azureQueue Azure Queue-baserad skalning. QueueScaleRule
anpassad Anpassad skalningsregel. CustomScaleRule
http HTTP-begäranden baserad skalning. HttpScaleRule
name Skalningsregelnamn sträng
Tcp Tcp begär baserad skalning. TcpScaleRule

QueueScaleRule

Name Beskrivning Värde
Auth Autentiseringshemligheter för köskalningsregeln. ScaleRuleAuth[]
queueLength Kölängd. int
queueName Könamn. sträng

ScaleRuleAuth

Name Beskrivning Värde
secretRef Namnet på hemligheten som autentiseringsparamerna ska hämtas från. sträng
triggerParameter Utlösarparameter som använder hemligheten sträng

CustomScaleRule

Name Beskrivning Värde
Auth Autentiseringshemligheter för den anpassade skalningsregeln. ScaleRuleAuth[]
metadata Metadataegenskaper för att beskriva en anpassad skalningsregel. CustomScaleRuleMetadata
typ Typ av anpassad skalningsregel
t.ex. azure-servicebus, redis osv.
sträng

CustomScaleRuleMetadata

Name Beskrivning Värde
{anpassad egenskap} sträng

HttpScaleRule

Name Beskrivning Värde
Auth Autentiseringshemligheter för den anpassade skalningsregeln. ScaleRuleAuth[]
metadata Metadataegenskaper för att beskriva http-skalningsregel. HttpScaleRuleMetadata

HttpScaleRuleMetadata

Name Beskrivning Värde
{anpassad egenskap} sträng

TcpScaleRule

Name Beskrivning Värde
Auth Autentiseringshemligheter för tcp-skalningsregeln. ScaleRuleAuth[]
metadata Metadataegenskaper för att beskriva tcp-skalningsregeln. TcpScaleRuleMetadata

TcpScaleRuleMetadata

Name Beskrivning Värde
{anpassad egenskap} sträng

ServiceBind

Name Beskrivning Värde
clientType Typ av klient som ska användas för att ansluta till tjänsten sträng
customizedKeys Anpassade nycklar för att anpassa inmatade värden i appen ServiceBindCustomizedKeys
name Namn på tjänstbindningen sträng
serviceId Resurs-ID för måltjänsten sträng

ServiceBindCustomizedKeys

Name Beskrivning Värde
{anpassad egenskap} sträng

Volym

Name Beskrivning Värde
mountOptions Monteringsalternativ som används vid montering av Azure-filresursen eller NFS Azure-filresursen. Måste vara en kommaavgränsad sträng. sträng
name Volymnamn. sträng
secrets Lista över hemligheter som ska läggas till i volymen. Om inga hemligheter anges läggs alla hemligheter i samlingen till i volymen. SecretVolumeItem[]
storageName Namnet på lagringsresursen. Du behöver inte ange EmptyDir och Secret. sträng
storageType Lagringstyp för volymen. Om inget anges använder du EmptyDir. "AzureFile"
"EmptyDir"
"NfsAzureFile"
"Hemlig"

SecretVolumeItem

Name Beskrivning Värde
path Sökväg till projekthemlighet till. Om ingen sökväg anges anges standardsökvägen till namnet på hemligheten som anges i secretRef. sträng
secretRef Namnet på containerappens hemlighet som det hemliga värdet ska hämtas från. sträng