Condividi tramite


Microsoft.App contenitoreApps 2022-03-01

Definizione di risorsa Bicep

Il tipo di risorsa containerApps può essere distribuito con le operazioni di destinazione:

Per un elenco delle proprietà modificate in ogni versione dell'API, vedere log delle modifiche.

Formato di risorsa

Per creare una risorsa Microsoft.App/containerApps, aggiungere il modello Bicep seguente.

resource symbolicname 'Microsoft.App/containerApps@2022-03-01' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  properties: {
    configuration: {
      activeRevisionsMode: 'string'
      dapr: {
        appId: 'string'
        appPort: int
        appProtocol: 'string'
        enabled: bool
      }
      ingress: {
        allowInsecure: bool
        customDomains: [
          {
            bindingType: 'string'
            certificateId: 'string'
            name: 'string'
          }
        ]
        external: bool
        targetPort: int
        traffic: [
          {
            label: 'string'
            latestRevision: bool
            revisionName: 'string'
            weight: int
          }
        ]
        transport: 'string'
      }
      registries: [
        {
          identity: 'string'
          passwordSecretRef: 'string'
          server: 'string'
          username: 'string'
        }
      ]
      secrets: [
        {
          name: 'string'
          value: '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'
              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'
          }
        ]
      }
      volumes: [
        {
          name: 'string'
          storageName: 'string'
          storageType: 'string'
        }
      ]
    }
  }
}

Valori delle proprietà

containerApps

Nome Descrizione valore
name Nome della risorsa stringa (obbligatoria)

Limite di caratteri: 2-32

Caratteri validi:
Lettere minuscole, numeri e trattini..

Inizia con la lettera e termina con alfanumerico.
posizione Posizione geografica in cui vive la risorsa stringa (obbligatoria)
tags Tag di risorse. Dizionario dei nomi e dei valori dei tag. Vedere Tag nei modelli
identity identità gestite per l'interazione con altri servizi di Azure senza mantenere segreti o credenziali nel codice. ManagedServiceIdentity
properties Proprietà specifiche della risorsa ContainerApp ContainerAppProperties

ManagedServiceIdentity

Nome Descrizione Valore
tipo Tipo di identità del servizio gestito (in cui sono consentiti sia i tipi SystemAssigned che UserAssigned). 'Nessuno'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (obbligatorio)
userAssignedIdentities Set di identità assegnate dall'utente associate alla risorsa. Le chiavi del dizionario userAssignedIdentities saranno id risorsa ARM nel formato : '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. I valori del dizionario possono essere oggetti vuoti ({}) nelle richieste. UserAssignedIdentities

UserAssignedIdentities

Nome Descrizione Valore
{proprietà personalizzata} UserAssignedIdentity

UserAssignedIdentity

Questo oggetto non contiene proprietà da impostare durante la distribuzione. Tutte le proprietà sono ReadOnly.

ContainerAppProperties

Nome Descrizione Valore
configurazione Proprietà di configurazione dell'app contenitore non con versioni. Configuration
managedEnvironmentId ID risorsa dell'ambiente dell'app contenitore. string
template Definizione dell'applicazione con versione del contenitore. Modello

Configurazione

Nome Descrizione Valore
activeRevisionsMode ActiveRevisionsMode controlla la modalità di gestione delle revisioni attive per l'app Container:
{list} {item} Multiplo: è possibile attivare più revisioni. {/item} {item} Single: una sola revisione può essere attiva alla volta. I pesi delle revisioni non possono essere usati in questa modalità. Se non viene specificato alcun valore, si tratta dell'impostazione predefinita. {/item} {/list}
'Multiple'
'Single'
dapr Configurazione dapr per l'app contenitore. Dapr
Ingresso Configurazioni in ingresso. Dati in ingresso
registries Raccolta di credenziali del registro contenitori privato per i contenitori usati dall'app Contenitore RegistryCredentials[]
chiavi private Raccolta di segreti usati da un'app Contenitore Segreto[]

Dapr

Nome Descrizione valore
appId Identificatore dell'applicazione Dapr string
appPort Indica a Dapr la porta su cui l'applicazione è in ascolto INT
appProtocol Indica a Dapr quale protocollo sta usando l'applicazione. Le opzioni valide sono http e grpc. Il valore predefinito è http 'grpc'
'http'
Enabled Valore booleano che indica se l'auto laterale Dapr è abilitata bool

Dati in ingresso

Nome Descrizione Valore
allowInsecure Bool che indica se sono consentite connessioni HTTP a. Se impostato su false connessioni HTTP vengono reindirizzate automaticamente alle connessioni HTTPS bool
customDomains associazioni di dominio personalizzate per i nomi host di App contenitore. CustomDomain[]
external Bool che indica se l'app espone un endpoint HTTP esterno bool
targetPort Porta di destinazione nei contenitori per il traffico da ingresso INT
Traffico Pesi del traffico per le revisioni dell'app TrafficWeight[]
transport Protocollo di trasporto in ingresso 'auto'
'http'
'http2'

CustomDomain

Nome Descrizione Valore
bindingType Custom Domain tipo di associazione. 'Disabilitato'
'SniEnabled'
certificateId ID risorsa del certificato da associare a questo nome host. string
name Nome host. stringa (obbligatorio)

TrafficWeight

Nome Descrizione Valore
label Associa un'etichetta di traffico a una revisione string
latestRevision Indica che il peso del traffico appartiene a una revisione stabile più recente bool
revisionName Nome di una revisione string
peso Peso del traffico assegnato a una revisione INT

RegistryCredentials

Nome Descrizione Valore
identity Identità gestita da usare per l'autenticazione con Registro Azure Container. Per le identità assegnate dall'utente, usare l'ID risorsa di identità assegnato dall'utente completo. Per le identità assegnate dal sistema, usare "system" string
passwordSecretRef Nome del segreto che contiene la password di accesso del Registro di sistema string
server Server registro contenitori string
username Nome utente registro contenitori string

Segreto

Nome Descrizione valore
name Nome segreto. string
Valore Valore segreto. string

Vincoli:
Valore sensibile. Passare come parametro sicuro.

Modello

Nome Descrizione Valore
containers Elenco di definizioni di contenitore per l'app contenitore. Contenitore[]
revisionSuffix Suffisso descrittivo aggiunto al nome della revisione string
scala Proprietà di ridimensionamento per l'app contenitore. Scalabilità
volumes Elenco di definizioni di volume per l'app contenitore. Volume[]

Contenitore

Nome Descrizione Valore
args Argomenti del comando di avvio del contenitore. string[]
. Comando start del contenitore. string[]
env Variabili di ambiente del contenitore. EnvironmentVar[]
image Tag immagine contenitore. string
name Nome del contenitore personalizzato. string
probes Elenco di probe per il contenitore. ContainerAppProbe[]
resources Requisiti delle risorse del contenitore. ContainerResources
volumeMounts Montaggi del volume del contenitore. VolumeMount[]

EnvironmentVar

Nome Descrizione valore
name Nome della variabile di ambiente. string
secretRef Nome del segreto dell'app contenitore da cui eseguire il pull del valore della variabile di ambiente. string
Valore Valore della variabile di ambiente non segreto. string

ContainerAppProbe

Nome Descrizione Valore
failureThreshold Errori consecutivi minimi che il probe deve essere considerato non riuscito dopo l'esito positivo. Il valore predefinito è 3. Il valore minimo è 1. Il valore massimo è 10. INT
httpGet HTTPGet specifica la richiesta HTTP da eseguire. ContainerAppProbeHttpGet
initialDelaySeconds Il numero di secondi dopo l'avvio del contenitore prima che vengano avviati i probe di attività. Il valore minimo è 1. Il valore massimo è 60. INT
periodSeconds Frequenza (in secondi) per eseguire il probe. Il valore predefinito è 10 secondi. Il valore minimo è 1. Il valore massimo è 240. INT
successThreshold Numero minimo di successi consecutivi per il probe da considerare riuscito dopo l'esito negativo. Assume il valore predefinito 1. Deve essere 1 per la vita e l'avvio. Il valore minimo è 1. Il valore massimo è 10. INT
tcpSocket TCPSocket specifica un'azione che coinvolge una porta TCP. Hook TCP non ancora supportati. ContainerAppProbeTcpSocket
terminationGracePeriodSeconds La durata facoltativa in secondi del pod deve terminare normalmente in caso di errore del probe. Il periodo di tolleranza è la durata in secondi dopo che i processi in esecuzione nel pod vengono inviati un segnale di terminazione e il momento in cui i processi vengono interrotti forzatamente con un segnale di terminazione. Impostare questo valore più lungo del tempo di pulizia previsto per il processo. Se questo valore è nil, verrà usata la terminazione del podGracePeriodSeconds. In caso contrario, questo valore esegue l'override del valore fornito dalla specifica del pod. Il valore deve essere un numero intero non negativo. Il valore zero indica l'arresto immediato tramite il segnale kill (nessuna opportunità di arresto). Si tratta di un campo alfa e richiede l'abilitazione del controllo delle funzionalità ProbeTerminationGracePeriod. Il valore massimo è 3600 secondi (1 ora) INT
timeoutSeconds Numero di secondi dopo il quale si verifica il timeout del probe. Il valore predefinito è 1 secondo. Il valore minimo è 1. Il valore massimo è 240. INT
tipo Tipo di probe. 'Liveness'
'Idoneità'
'Startup'

ContainerAppProbeHttpGet

Nome Descrizione Valore
host Nome host a cui connettersi per impostazione predefinita all'INDIRIZZO IP del pod. È probabile che si voglia impostare "Host" in httpHeaders. string
httpHeaders Intestazioni personalizzate da impostare nella richiesta. HTTP consente intestazioni ripetute. ContainerAppProbeHttpGetHttpHeadersItem[]
path Percorso di accesso nel server HTTP. string
port Nome o numero della porta a cui accedere nel contenitore. Il numero deve essere compreso nell'intervallo compreso tra 1 e 65535. Il nome deve essere un IANA_SVC_NAME. int (obbligatorio)
scheme Schema da usare per la connessione all'host. Il valore predefinito è HTTP. 'HTTP'
'HTTPS'

ContainerAppProbeHttpGetHttpHeadersItem

Nome Descrizione valore
name Nome del campo di intestazione stringa (obbligatorio)
Valore Valore del campo di intestazione stringa (obbligatorio)

ContainerAppProbeTcpSocket

Nome Descrizione Valore
host Facoltativo: nome host a cui connettersi per impostazione predefinita all'INDIRIZZO IP del pod. string
port Numero o nome della porta a cui accedere nel contenitore. Il numero deve essere compreso nell'intervallo compreso tra 1 e 65535. Il nome deve essere un IANA_SVC_NAME. int (obbligatorio)

ContainerResources

Nome Descrizione Valore
cpu Cpu richiesta nei core, ad esempio 0,5 Per specificare un valore decimale, usare la funzione json(). int o json decimal
memoria Memoria necessaria, ad esempio "250 Mb" string

VolumeMount

Nome Descrizione Valore
mountPath Percorso all'interno del contenitore in cui deve essere montato il volume. Non deve contenere ':'. string
volumeName Deve corrispondere al nome di un volume. string

Scalabilità

Nome Descrizione Valore
maxReplicas facoltativo. Numero massimo di repliche di contenitori. Il valore predefinito è 10 se non impostato. INT
minReplicas facoltativo. Numero minimo di repliche del contenitore. INT
regole Regole di ridimensionamento. ScaleRule[]

ScaleRule

Nome Descrizione Valore
azureQueue Ridimensionamento basato su code di Azure. QueueScaleRule
custom Regola di scalabilità personalizzata. CustomScaleRule
http Scalabilità basata sulle richieste HTTP. HttpScaleRule
name Nome regola di scalabilità string

QueueScaleRule

Nome Descrizione Valore
auth Segreti di autenticazione per la regola di scalabilità della coda. ScaleRuleAuth[]
queueLength Lunghezza coda. INT
queueName Nome coda. string

ScaleRuleAuth

Nome Descrizione Valore
secretRef Nome del segreto dell'app contenitore da cui eseguire il pull dei parametri di autenticazione. string
triggerParameter Parametro trigger che usa il segreto string

CustomScaleRule

Nome Descrizione Valore
auth Segreti di autenticazione per la regola di scalabilità personalizzata. ScaleRuleAuth[]
metadata Proprietà dei metadati per descrivere la regola di scalabilità personalizzata. CustomScaleRuleMetadata
tipo Tipo della regola di scalabilità personalizzata
ad esempio: azure-servicebus, redis e così via.
string

CustomScaleRuleMetadata

Nome Descrizione Valore
{proprietà personalizzata} string

HttpScaleRule

Nome Descrizione Valore
auth Segreti di autenticazione per la regola di scalabilità personalizzata. ScaleRuleAuth[]
metadata Proprietà dei metadati per descrivere la regola di scalabilità HTTP. HttpScaleRuleMetadata

HttpScaleRuleMetadata

Nome Descrizione Valore
{proprietà personalizzata} string

Volume

Nome Descrizione valore
name Nome del volume. string
storageName Nome della risorsa di archiviazione. Non è necessario specificare emptyDir. string
storageType Tipo di archiviazione per il volume. Se non specificato, usare EmptyDir. 'AzureFile'
'EmptyDir'

Modelli di avvio rapido

I modelli di avvio rapido seguenti distribuiscono questo tipo di risorsa.

Modello Descrizione
Crea un'app contenitore e un ambiente con registro

Distribuisci in Azure
Creare un ambiente app contenitore con un'app contenitore di base da un Registro Azure Container. Distribuisce anche un'area di lavoro Log Analytics per archiviare i log.
Crea un'app contenitore con un ambiente app contenitore

Distribuisci in Azure
Creare un ambiente app contenitore con un'app contenitore di base. Distribuisce anche un'area di lavoro Log Analytics per archiviare i log.
Crea un'app contenitore all'interno di un ambiente app contenitore

Distribuisci in Azure
Creare un ambiente app contenitore con un'app contenitore di base. Distribuisce anche un'area di lavoro Log Analytics per archiviare i log.
Crea un'app contenitore con una regola di ridimensionamento HTTP definita

Distribuisci in Azure
Creare un ambiente app contenitore con un'app contenitore di base che viene ridimensionata in base al traffico HTTP.
Crea un ambiente app contenitore esterno con una rete virtuale

Distribuisci in Azure
Crea un ambiente app contenitore esterno con una rete virtuale.
Crea un ambiente app contenitore interno con una rete virtuale

Distribuisci in Azure
Crea un ambiente app contenitore interno con una rete virtuale.

Definizione di risorsa del modello di Resource Manager

Il tipo di risorsa containerApps può essere distribuito con operazioni destinate a:

Per un elenco delle proprietà modificate in ogni versione dell'API, vedere Log delle modifiche.

Formato di risorsa

Per creare una risorsa Microsoft.App/containerApps, aggiungere il codice JSON seguente al modello.

{
  "type": "Microsoft.App/containerApps",
  "apiVersion": "2022-03-01",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {}
    }
  },
  "properties": {
    "configuration": {
      "activeRevisionsMode": "string",
      "dapr": {
        "appId": "string",
        "appPort": "int",
        "appProtocol": "string",
        "enabled": "bool"
      },
      "ingress": {
        "allowInsecure": "bool",
        "customDomains": [
          {
            "bindingType": "string",
            "certificateId": "string",
            "name": "string"
          }
        ],
        "external": "bool",
        "targetPort": "int",
        "traffic": [
          {
            "label": "string",
            "latestRevision": "bool",
            "revisionName": "string",
            "weight": "int"
          }
        ],
        "transport": "string"
      },
      "registries": [
        {
          "identity": "string",
          "passwordSecretRef": "string",
          "server": "string",
          "username": "string"
        }
      ],
      "secrets": [
        {
          "name": "string",
          "value": "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",
              "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"
          }
        ]
      },
      "volumes": [
        {
          "name": "string",
          "storageName": "string",
          "storageType": "string"
        }
      ]
    }
  }
}

Valori delle proprietà

containerApps

Nome Descrizione Valore
tipo Tipo di risorsa 'Microsoft.App/containerApps'
apiVersion Versione dell'API della risorsa '2022-03-01'
name Nome della risorsa stringa (obbligatorio)

Limite di caratteri: 2-32

Caratteri validi:
Lettere minuscole, numeri e trattini.

Inizia con la lettera e termina con alfanumerico.
posizione Posizione geografica in cui risiede la risorsa stringa (obbligatorio)
tags Tag delle risorse. Dizionario di nomi e valori di tag. Vedere Tag nei modelli
identity identità gestite per l'app contenitore per interagire con altri servizi di Azure senza mantenere segreti o credenziali nel codice. ManagedServiceIdentity
properties Proprietà specifiche della risorsa ContainerApp ContainerAppProperties

ManagedServiceIdentity

Nome Descrizione Valore
tipo Tipo di identità del servizio gestito (in cui sono consentiti i tipi SystemAssigned e UserAssigned). 'Nessuno'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (obbligatorio)
userAssignedIdentities Set di identità assegnate dall'utente associate alla risorsa. Le chiavi del dizionario userAssignedIdentities saranno ID risorsa ARM nel formato : '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. I valori del dizionario possono essere oggetti vuoti ({}) nelle richieste. UserAssignedIdentities

UserAssignedIdentities

Nome Descrizione Valore
{proprietà personalizzata} UserAssignedIdentity

UserAssignedIdentity

Questo oggetto non contiene proprietà da impostare durante la distribuzione. Tutte le proprietà sono ReadOnly.

ContainerAppProperties

Nome Descrizione Valore
configurazione Proprietà di configurazione dell'app contenitore non con controllo delle versioni. Configuration
managedEnvironmentId ID risorsa dell'ambiente dell'app contenitore. string
template Definizione dell'applicazione con controllo delle versioni dell'app contenitore. Modello

Configurazione

Nome Descrizione Valore
activeRevisionsMode ActiveRevisionsMode controlla la modalità di gestione delle revisioni attive per l'app Contenitore:
{list} {item} Multiplo: possono essere attive più revisioni. {/item} {item} Single: una sola revisione può essere attiva alla volta. I pesi delle revisioni non possono essere usati in questa modalità. Se non viene specificato alcun valore, si tratta dell'impostazione predefinita. {/item} {/list}
'Multiple'
'Single'
dapr Configurazione dapr per l'app contenitore. Dapr
Ingresso Configurazioni in ingresso. Dati in ingresso
registries Raccolta di credenziali del registro contenitori privato per i contenitori usati dall'app Contenitore RegistryCredentials[]
chiavi private Raccolta di segreti usati da un'app Contenitore Segreto[]

Dapr

Nome Descrizione valore
appId Identificatore dell'applicazione Dapr string
appPort Indica a Dapr la porta su cui l'applicazione è in ascolto INT
appProtocol Indica a Dapr quale protocollo sta usando l'applicazione. Le opzioni valide sono http e grpc. Il valore predefinito è http 'grpc'
'http'
Enabled Valore booleano che indica se l'auto laterale Dapr è abilitata bool

Dati in ingresso

Nome Descrizione Valore
allowInsecure Bool che indica se sono consentite connessioni HTTP a. Se impostato su false connessioni HTTP vengono reindirizzate automaticamente alle connessioni HTTPS bool
customDomains associazioni di dominio personalizzate per i nomi host di App contenitore. CustomDomain[]
external Bool che indica se l'app espone un endpoint HTTP esterno bool
targetPort Porta di destinazione nei contenitori per il traffico da ingresso INT
Traffico Pesi del traffico per le revisioni dell'app TrafficWeight[]
transport Protocollo di trasporto in ingresso 'auto'
'http'
'http2'

CustomDomain

Nome Descrizione Valore
bindingType Custom Domain tipo di associazione. 'Disabilitato'
'SniEnabled'
certificateId ID risorsa del certificato da associare a questo nome host. string
name Nome host. stringa (obbligatorio)

TrafficWeight

Nome Descrizione Valore
label Associa un'etichetta di traffico a una revisione string
latestRevision Indica che il peso del traffico appartiene a una revisione stabile più recente bool
revisionName Nome di una revisione string
peso Peso del traffico assegnato a una revisione INT

RegistryCredentials

Nome Descrizione Valore
identity Identità gestita da usare per l'autenticazione con Registro Azure Container. Per le identità assegnate dall'utente, usare l'ID risorsa di identità assegnato dall'utente completo. Per le identità assegnate dal sistema, usare 'system' string
passwordSecretRef Nome del segreto che contiene la password di accesso del Registro di sistema string
server Server registro contenitori string
username Nome utente registro contenitori string

Segreto

Nome Descrizione valore
name Nome segreto. string
Valore Valore segreto. string

Vincoli:
Valore sensibile. Passare come parametro sicuro.

Modello

Nome Descrizione Valore
containers Elenco delle definizioni dei contenitori per l'app contenitore. Contenitore[]
revisionSuffix Suffisso descrittivo aggiunto al nome della revisione string
scala Ridimensionamento delle proprietà per l'app contenitore. Scalabilità
volumes Elenco delle definizioni di volume per l'app contenitore. Volume[]

Contenitore

Nome Descrizione Valore
args Argomenti dei comandi start contenitore. string[]
. Comando start contenitore. string[]
env Variabili di ambiente contenitore. EnvironmentVar[]
image Tag immagine contenitore. string
name Nome contenitore personalizzato. string
probes Elenco dei probe per il contenitore. ContainerAppProbe[]
resources Requisiti delle risorse del contenitore. ContainerResources
volumeMounts Montaggi del volume del contenitore. VolumeMount[]

EnvironmentVar

Nome Descrizione valore
name Nome della variabile di ambiente. string
secretRef Nome del segreto dell'app contenitore da cui eseguire il pull del valore della variabile di ambiente. string
Valore Valore variabile di ambiente non segreto. string

ContainerAppProbe

Nome Descrizione Valore
failureThreshold Errori consecutivi minimi per il probe da considerare non riuscito dopo aver avuto esito positivo. Il valore predefinito è 3. Il valore minimo è 1. Il valore massimo è 10. INT
httpGet HTTPGet specifica la richiesta http da eseguire. ContainerAppProbeHttpGet
initialDelaySeconds Il numero di secondi dopo l'avvio del contenitore prima che vengano avviati i probe di attività. Il valore minimo è 1. Il valore massimo è 60. INT
periodSeconds Frequenza (in secondi) per eseguire il probe. Il valore predefinito è 10 secondi. Il valore minimo è 1. Il valore massimo è 240. INT
successThreshold Numero minimo di successi consecutivi per il probe da considerare riuscito dopo l'esito negativo. Assume il valore predefinito 1. Deve essere 1 per la vita e l'avvio. Il valore minimo è 1. Il valore massimo è 10. INT
tcpSocket TCPSocket specifica un'azione che coinvolge una porta TCP. Hook TCP non ancora supportati. ContainerAppProbeTcpSocket
terminationGracePeriodSeconds La durata facoltativa in secondi del pod deve terminare normalmente in caso di errore del probe. Il periodo di tolleranza è la durata in secondi dopo che i processi in esecuzione nel pod vengono inviati un segnale di terminazione e il momento in cui i processi vengono interrotti forzatamente con un segnale di terminazione. Impostare questo valore più lungo del tempo di pulizia previsto per il processo. Se questo valore è nil, verrà usata la terminazione del podGracePeriodSeconds. In caso contrario, questo valore esegue l'override del valore fornito dalla specifica del pod. Il valore deve essere un numero intero non negativo. Il valore zero indica l'arresto immediato tramite il segnale kill (nessuna opportunità di arresto). Si tratta di un campo alfa e richiede l'abilitazione del controllo delle funzionalità ProbeTerminationGracePeriod. Il valore massimo è 3600 secondi (1 ora) INT
timeoutSeconds Numero di secondi dopo il quale si verifica il timeout del probe. Il valore predefinito è 1 secondo. Il valore minimo è 1. Il valore massimo è 240. INT
tipo Tipo di probe. 'Liveness'
'Idoneità'
'Startup'

ContainerAppProbeHttpGet

Nome Descrizione Valore
host Nome host a cui connettersi per impostazione predefinita all'INDIRIZZO IP del pod. È probabile che si voglia impostare "Host" in httpHeaders. string
httpHeaders Intestazioni personalizzate da impostare nella richiesta. HTTP consente intestazioni ripetute. ContainerAppProbeHttpGetHttpHeadersItem[]
path Percorso di accesso nel server HTTP. string
port Nome o numero della porta a cui accedere nel contenitore. Il numero deve essere compreso nell'intervallo compreso tra 1 e 65535. Il nome deve essere un IANA_SVC_NAME. int (obbligatorio)
scheme Schema da usare per la connessione all'host. Il valore predefinito è HTTP. 'HTTP'
'HTTPS'

ContainerAppProbeHttpGetHttpHeadersItem

Nome Descrizione valore
name Nome del campo di intestazione stringa (obbligatorio)
Valore Valore del campo di intestazione stringa (obbligatorio)

ContainerAppProbeTcpSocket

Nome Descrizione Valore
host Facoltativo: nome host a cui connettersi per impostazione predefinita all'INDIRIZZO IP del pod. string
port Numero o nome della porta a cui accedere nel contenitore. Il numero deve essere compreso nell'intervallo compreso tra 1 e 65535. Il nome deve essere un IANA_SVC_NAME. int (obbligatorio)

ContainerResources

Nome Descrizione Valore
cpu Cpu richiesta nei core, ad esempio 0,5 Per specificare un valore decimale, usare la funzione json(). int o json decimal
memoria Memoria necessaria, ad esempio "250 Mb" string

VolumeMount

Nome Descrizione Valore
mountPath Percorso all'interno del contenitore in cui deve essere montato il volume. Non deve contenere ':'. string
volumeName Deve corrispondere al nome di un volume. string

Scalabilità

Nome Descrizione Valore
maxReplicas facoltativo. Numero massimo di repliche contenitore. Impostazione predefinita su 10 se non impostata. INT
minReplicas facoltativo. Numero minimo di repliche contenitore. INT
regole Regole di ridimensionamento. ScaleRule[]

ScaleRule

Nome Descrizione Valore
azureQueue Ridimensionamento basato su code di Azure. QueueScaleRule
custom Regola di scalabilità personalizzata. CustomScaleRule
http Scalabilità basata sulle richieste HTTP. HttpScaleRule
name Nome regola di scalabilità string

QueueScaleRule

Nome Descrizione Valore
auth Segreti di autenticazione per la regola di scalabilità della coda. ScaleRuleAuth[]
queueLength Lunghezza coda. INT
queueName Nome coda. string

ScaleRuleAuth

Nome Descrizione Valore
secretRef Nome del segreto dell'app contenitore da cui eseguire il pull dei params di autenticazione. string
triggerParameter Parametro trigger che usa il segreto string

CustomScaleRule

Nome Descrizione Valore
auth Segreti di autenticazione per la regola di scalabilità personalizzata. ScaleRuleAuth[]
metadata Proprietà dei metadati per descrivere la regola di scalabilità personalizzata. CustomScaleRuleMetadata
tipo Tipo della regola di scalabilità personalizzata
ad esempio: azure-servicebus, redis e così via.
string

CustomScaleRuleMetadata

Nome Descrizione Valore
{proprietà personalizzata} string

HttpScaleRule

Nome Descrizione Valore
auth Segreti di autenticazione per la regola di scalabilità personalizzata. ScaleRuleAuth[]
metadata Proprietà dei metadati per descrivere la regola di scalabilità http. HttpScaleRuleMetadata

HttpScaleRuleMetadata

Nome Descrizione Valore
{proprietà personalizzata} string

Volume

Nome Descrizione valore
name Nome del volume. string
storageName Nome della risorsa di archiviazione. Non è necessario fornire per EmptyDir. string
storageType Tipo di archiviazione per il volume. Se non specificato, usare EmptyDir. 'AzureFile'
'EmptyDir'

Modelli di avvio rapido

I modelli di avvio rapido seguenti distribuiscono questo tipo di risorsa.

Modello Descrizione
Crea un'app e un ambiente contenitore con Registro di sistema

Distribuisci in Azure
Creare un ambiente app contenitore con un'app contenitore di base da un Registro Azure Container. Distribuisce anche un'area di lavoro Log Analytics per archiviare i log.
Crea un'app per due contenitori con un ambiente app contenitore

Distribuisci in Azure
Creare un ambiente di due app contenitore con un'app contenitore di base. Distribuisce anche un'area di lavoro Log Analytics per archiviare i log.
Crea un'app contenitore all'interno di un ambiente app contenitore

Distribuisci in Azure
Creare un ambiente app contenitore con un'app contenitore di base. Distribuisce anche un'area di lavoro Log Analytics per archiviare i log.
Crea un'app contenitore con una regola di ridimensionamento HTTP definita

Distribuisci in Azure
Creare un ambiente app contenitore con un'app contenitore di base che ridimensiona in base al traffico HTTP.
Crea un ambiente app contenitore esterno con una rete virtuale

Distribuisci in Azure
Crea un ambiente app contenitore esterno con una rete virtuale.
Crea un ambiente app contenitore interno con una rete virtuale

Distribuisci in Azure
Crea un ambiente app contenitore interno con una rete virtuale.

Definizione della risorsa Terraform (provider AzAPI)

Il tipo di risorsa containerApps può essere distribuito con le operazioni di destinazione:

  • Gruppi di risorse

Per un elenco delle proprietà modificate in ogni versione dell'API, vedere log delle modifiche.

Formato di risorsa

Per creare una risorsa Microsoft.App/containerApps, aggiungere il modello Terraform seguente.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.App/containerApps@2022-03-01"
  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"
          enabled = bool
        }
        ingress = {
          allowInsecure = bool
          customDomains = [
            {
              bindingType = "string"
              certificateId = "string"
              name = "string"
            }
          ]
          external = bool
          targetPort = int
          traffic = [
            {
              label = "string"
              latestRevision = bool
              revisionName = "string"
              weight = int
            }
          ]
          transport = "string"
        }
        registries = [
          {
            identity = "string"
            passwordSecretRef = "string"
            server = "string"
            username = "string"
          }
        ]
        secrets = [
          {
            name = "string"
            value = "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"
                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"
            }
          ]
        }
        volumes = [
          {
            name = "string"
            storageName = "string"
            storageType = "string"
          }
        ]
      }
    }
  })
}

Valori delle proprietà

containerApps

Nome Descrizione Valore
tipo Tipo di risorsa "Microsoft.App/containerApps@2022-03-01"
name Nome della risorsa stringa (obbligatoria)

Limite di caratteri: 2-32

Caratteri validi:
Lettere minuscole, numeri e trattini..

Inizia con la lettera e termina con alfanumerico.
posizione Posizione geografica in cui vive la risorsa stringa (obbligatoria)
parent_id Per distribuire in un gruppo di risorse, usare l'ID del gruppo di risorse. stringa (obbligatoria)
tags Tag di risorse. Dizionario dei nomi e dei valori dei tag.
identity identità gestite per l'interazione con altri servizi di Azure senza mantenere segreti o credenziali nel codice. ManagedServiceIdentity
properties Proprietà specifiche della risorsa ContainerApp ContainerAppProperties

ManagedServiceIdentity

Nome Descrizione Valore
tipo Tipo di identità del servizio gestito (in cui sono consentiti sia i tipi SystemAssigned che UserAssigned). "SystemAssigned"
"SystemAssigned,UserAssigned"
"UserAssigned" (obbligatorio)
identity_ids Set di identità assegnate dall'utente associate alla risorsa. Le chiavi del dizionario userAssignedIdentities saranno id risorsa ARM nel formato : '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. I valori del dizionario possono essere oggetti vuoti ({}) nelle richieste. Matrice di ID identità utente.

UserAssignedIdentities

Nome Descrizione Valore
{proprietà personalizzata} UserAssignedIdentity

UserAssignedIdentity

Questo oggetto non contiene proprietà da impostare durante la distribuzione. Tutte le proprietà sono ReadOnly.

ContainerAppProperties

Nome Descrizione Valore
configurazione Proprietà di configurazione dell'app contenitore non con versioni. Configuration
managedEnvironmentId ID risorsa dell'ambiente dell'app contenitore. string
template Definizione dell'applicazione con controllo delle versioni dell'app contenitore. Modello

Configurazione

Nome Descrizione Valore
activeRevisionsMode ActiveRevisionsMode controlla la modalità di gestione delle revisioni attive per l'app Contenitore:
{list} {item} Multiplo: possono essere attive più revisioni. {/item} {item} Single: una sola revisione può essere attiva alla volta. I pesi delle revisioni non possono essere usati in questa modalità. Se non viene specificato alcun valore, si tratta dell'impostazione predefinita. {/item} {/list}
"Multiple"
"Single"
dapr Configurazione dapr per l'app contenitore. Dapr
Ingresso Configurazioni in ingresso. Dati in ingresso
registries Raccolta di credenziali del registro contenitori privato per i contenitori usati dall'app Contenitore RegistryCredentials[]
chiavi private Raccolta di segreti usati da un'app Contenitore Segreto[]

Dapr

Nome Descrizione valore
appId Identificatore dell'applicazione Dapr string
appPort Indica a Dapr la porta su cui l'applicazione è in ascolto INT
appProtocol Indica a Dapr quale protocollo sta usando l'applicazione. Le opzioni valide sono http e grpc. Il valore predefinito è http "grpc"
"http"
Enabled Valore booleano che indica se l'auto laterale Dapr è abilitata bool

Dati in ingresso

Nome Descrizione Valore
allowInsecure Bool che indica se sono consentite connessioni HTTP a. Se impostato su false connessioni HTTP vengono reindirizzate automaticamente alle connessioni HTTPS bool
customDomains associazioni di dominio personalizzate per i nomi host di App contenitore. CustomDomain[]
external Bool che indica se l'app espone un endpoint HTTP esterno bool
targetPort Porta di destinazione nei contenitori per il traffico da ingresso INT
Traffico Pesi del traffico per le revisioni dell'app TrafficWeight[]
transport Protocollo di trasporto in ingresso "auto"
"http"
"http2"

CustomDomain

Nome Descrizione Valore
bindingType Custom Domain tipo di associazione. "Disabilitato"
"SniEnabled"
certificateId ID risorsa del certificato da associare a questo nome host. string
name Nome host. stringa (obbligatorio)

TrafficWeight

Nome Descrizione Valore
label Associa un'etichetta di traffico a una revisione string
latestRevision Indica che il peso del traffico appartiene a una revisione stabile più recente bool
revisionName Nome di una revisione string
peso Peso del traffico assegnato a una revisione INT

RegistryCredentials

Nome Descrizione Valore
identity Identità gestita da usare per l'autenticazione con Registro Azure Container. Per le identità assegnate dall'utente, usare l'ID risorsa di identità assegnato dall'utente completo. Per le identità assegnate dal sistema, usare "system" string
passwordSecretRef Nome del segreto che contiene la password di accesso del Registro di sistema string
server Server registro contenitori string
username Nome utente registro contenitori string

Segreto

Nome Descrizione valore
name Nome segreto. string
Valore Valore segreto. string

Vincoli:
Valore sensibile. Passare come parametro sicuro.

Modello

Nome Descrizione Valore
containers Elenco di definizioni di contenitore per l'app contenitore. Contenitore[]
revisionSuffix Suffisso descrittivo aggiunto al nome della revisione string
scala Proprietà di ridimensionamento per l'app contenitore. Scalabilità
volumes Elenco di definizioni di volume per l'app contenitore. Volume[]

Contenitore

Nome Descrizione Valore
args Argomenti del comando di avvio del contenitore. string[]
. Comando start del contenitore. string[]
env Variabili di ambiente del contenitore. EnvironmentVar[]
image Tag immagine contenitore. string
name Nome del contenitore personalizzato. string
probes Elenco di probe per il contenitore. ContainerAppProbe[]
resources Requisiti delle risorse del contenitore. ContainerResources
volumeMounts Montaggi del volume del contenitore. VolumeMount[]

EnvironmentVar

Nome Descrizione valore
name Nome della variabile di ambiente. string
secretRef Nome del segreto dell'app contenitore da cui eseguire il pull del valore della variabile di ambiente. string
Valore Valore della variabile di ambiente non segreto. string

ContainerAppProbe

Nome Descrizione Valore
failureThreshold Errori consecutivi minimi che il probe deve essere considerato non riuscito dopo l'esito positivo. Il valore predefinito è 3. Il valore minimo è 1. Il valore massimo è 10. INT
httpGet HTTPGet specifica la richiesta http da eseguire. ContainerAppProbeHttpGet
initialDelaySeconds Il numero di secondi dopo l'avvio del contenitore prima che vengano avviati i probe di attività. Il valore minimo è 1. Il valore massimo è 60. INT
periodSeconds Frequenza (in secondi) per eseguire il probe. Il valore predefinito è 10 secondi. Il valore minimo è 1. Il valore massimo è 240. INT
successThreshold I successi consecutivi minimi per il probe devono essere considerati riusciti dopo aver avuto esito negativo. Assume il valore predefinito 1. Deve essere 1 per la vita e l'avvio. Il valore minimo è 1. Il valore massimo è 10. INT
tcpSocket TCPSocket specifica un'azione che implica una porta TCP. Hook TCP non ancora supportati. ContainerAppProbeTcpSocket
terminazioneGracePeriodSeconds La durata facoltativa in secondi del pod deve terminare normalmente al termine dell'errore del probe. Il periodo di tolleranza è la durata in secondi dopo che i processi in esecuzione nel pod vengono inviati un segnale di terminazione e il tempo in cui i processi vengono arrestati in modo forcibmente con un segnale di arresto. Impostare questo valore più lungo del tempo di pulizia previsto per il processo. Se questo valore è nil, verrà usata la terminazione del podGracePeriodSeconds. In caso contrario, questo valore esegue l'override del valore fornito dalla specifica del pod. Il valore deve essere intero non negativo. Il valore zero indica l'arresto immediato tramite il segnale di kill (nessuna opportunità di arresto). Si tratta di un campo alfa e richiede l'abilitazione del gate delle funzionalità ProbeTerminationGracePeriod. Il valore massimo è 3600 secondi (1 ora) INT
timeoutSeconds Numero di secondi dopo il timeout del probe. Il valore predefinito è 1 secondo. Il valore minimo è 1. Il valore massimo è 240. INT
tipo Tipo di probe. "Liveness"
"Idoneità"
"Avvio"

ContainerAppProbeHttpGet

Nome Descrizione Valore
host Nome host a cui connettersi, impostazione predefinita all'INDIRIZZO IP del pod. Probabilmente si vuole impostare "Host" in httpHeaders. string
httpHeaders Intestazioni personalizzate da impostare nella richiesta. HTTP consente intestazioni ripetute. ContainerAppProbeHttpGetHttpHeadersItem[]
path Percorso di accesso nel server HTTP. string
port Nome o numero della porta da accedere al contenitore. Il numero deve essere compreso nell'intervallo da 1 a 65535. Il nome deve essere un IANA_SVC_NAME. int (obbligatorio)
scheme Schema da usare per la connessione all'host. Impostazione predefinita su HTTP. "HTTP"
"HTTPS"

ContainerAppProbeHttpGetHttpHeadersItem

Nome Descrizione valore
name Nome del campo di intestazione stringa (obbligatoria)
Valore Valore del campo intestazione stringa (obbligatoria)

ContainerAppProbeTcpSocket

Nome Descrizione Valore
host Facoltativo: nome host a cui connettersi, impostazione predefinita all'INDIRIZZO IP del pod. string
port Numero o nome della porta da accedere al contenitore. Il numero deve essere compreso nell'intervallo da 1 a 65535. Il nome deve essere un IANA_SVC_NAME. int (obbligatorio)

ContainerResources

Nome Descrizione Valore
cpu Cpu richiesta in core, ad esempio 0,5 Specificare un valore decimale come stringa. int o json decimal
memoria Memoria richiesta, ad esempio "250 Mb" string

VolumeMount

Nome Descrizione Valore
mountPath Percorso all'interno del contenitore in cui deve essere montato il volume. Non deve contenere ':'. string
volumeName Deve corrispondere al nome di un volume. string

Scalabilità

Nome Descrizione Valore
maxReplicas facoltativo. Numero massimo di repliche contenitore. Impostazione predefinita su 10 se non impostata. INT
minReplicas facoltativo. Numero minimo di repliche contenitore. INT
regole Regole di ridimensionamento. ScaleRule[]

ScaleRule

Nome Descrizione Valore
azureQueue Ridimensionamento basato su code di Azure. QueueScaleRule
custom Regola di scalabilità personalizzata. CustomScaleRule
http Scalabilità basata sulle richieste HTTP. HttpScaleRule
name Nome regola di scalabilità string

QueueScaleRule

Nome Descrizione Valore
auth Segreti di autenticazione per la regola di scalabilità della coda. ScaleRuleAuth[]
queueLength Lunghezza coda. INT
queueName Nome coda. string

ScaleRuleAuth

Nome Descrizione Valore
secretRef Nome del segreto dell'app contenitore da cui eseguire il pull dei params di autenticazione. string
triggerParameter Parametro trigger che usa il segreto string

CustomScaleRule

Nome Descrizione Valore
auth Segreti di autenticazione per la regola di scalabilità personalizzata. ScaleRuleAuth[]
metadata Proprietà dei metadati per descrivere la regola di scalabilità personalizzata. CustomScaleRuleMetadata
tipo Tipo della regola di scalabilità personalizzata
ad esempio: azure-servicebus, redis e così via.
string

CustomScaleRuleMetadata

Nome Descrizione Valore
{proprietà personalizzata} string

HttpScaleRule

Nome Descrizione Valore
auth Segreti di autenticazione per la regola di scalabilità personalizzata. ScaleRuleAuth[]
metadata Proprietà dei metadati per descrivere la regola di scalabilità http. HttpScaleRuleMetadata

HttpScaleRuleMetadata

Nome Descrizione Valore
{proprietà personalizzata} string

Volume

Nome Descrizione valore
name Nome del volume. string
storageName Nome della risorsa di archiviazione. Non è necessario specificare emptyDir. string
storageType Tipo di archiviazione per il volume. Se non specificato, usare EmptyDir. "AzureFile"
"EmptyDir"