contenitore Microsoft.App App 2022-10-01
Definizione di risorsa Bicep
Il tipo di risorsa containerApps può essere distribuito con operazioni destinate a:
- Gruppi di risorse - Vedere i comandi di distribuzione dei 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 bicep seguente al modello.
resource symbolicname 'Microsoft.App/containerApps@2022-10-01' = {
name: 'string'
location: 'string'
tags: {
tagName1: 'tagValue1'
tagName2: 'tagValue2'
}
extendedLocation: {
name: 'string'
type: 'CustomLocation'
}
identity: {
type: 'string'
userAssignedIdentities: {
{customized property}: {}
}
}
properties: {
configuration: {
activeRevisionsMode: 'string'
dapr: {
appId: 'string'
appPort: int
appProtocol: 'string'
enableApiLogging: bool
enabled: bool
httpMaxRequestSize: int
httpReadBufferSize: int
logLevel: 'string'
}
ingress: {
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'
}
]
targetPort: int
traffic: [
{
label: 'string'
latestRevision: bool
revisionName: 'string'
weight: int
}
]
transport: 'string'
}
maxInactiveRevisions: int
registries: [
{
identity: 'string'
passwordSecretRef: 'string'
server: 'string'
username: 'string'
}
]
secrets: [
{
name: 'string'
value: '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'
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'
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'
}
}
}
]
}
volumes: [
{
name: 'string'
storageName: 'string'
storageType: 'string'
}
]
}
workloadProfileType: 'string'
}
}
Valori delle proprietà
containerApps
Nome | Descrizione | valore |
---|---|---|
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 |
extendedLocation | Tipo complesso della posizione estesa. | ExtendedLocation |
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 |
ExtendedLocation
Nome | Descrizione | valore |
---|---|---|
name | Nome della posizione estesa. | string |
type | Tipo della posizione estesa. | 'CustomLocation' |
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 |
environmentId | ID risorsa dell'ambiente. | string |
managedEnvironmentId | Deprecato. ID risorsa dell'ambiente dell'app contenitore. | string |
template | Definizione dell'applicazione con controllo delle versioni dell'app contenitore. | Modello |
workloadProfileType | Tipo di profilo del carico di lavoro da aggiungere per l'esecuzione dell'app contenitore. | string |
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 |
maxInactiveRevisions | facoltativo. Le revisioni inattive massime che un'app contenitore può avere. | INT |
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' |
enableApiLogging | Abilita la registrazione API per il sidecar Dapr | bool |
Enabled | Valore booleano che indica se l'auto laterale Dapr è abilitata | bool |
httpMaxRequestSize | Aumento della dimensione massima del corpo della richiesta del parametro dei server http e grpc in MB per gestire il caricamento di file di grandi dimensioni. Il valore predefinito è 4 MB. | INT |
httpReadBufferSize | Dapr max size of http header read buffer in KB to handle when sending multi-KB headers .Dapr max size of http header read buffer in KB to handle when sending multi-KB header headers. Il valore predefinito è 65 KB. | INT |
logLevel | Imposta il livello di log per l'sidecar Dapr. I valori consentiti sono debug, info, avviso, errore. Il valore predefinito è info. | 'debug' 'error' 'info' 'warn' |
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 |
clientCertificateMode | Modalità certificato client per l'autenticazione mTLS. Ignora indica che il certificato client viene eliminato dal server durante l'inoltro. Accept indica che il server inoltra il certificato client ma non richiede un certificato client. Richiedi indica che il server richiede un certificato client. | 'accept' 'ignore' 'require' |
corsPolicy | Criteri CORS per l'app contenitore | CorsPolicy |
customDomains | associazioni di dominio personalizzate per i nomi host di App contenitore. | CustomDomain[] |
exposedPort | Porta esposta nei contenitori per il traffico TCP da ingresso | INT |
external | Bool che indica se l'app espone un endpoint HTTP esterno | bool |
ipSecurityRestrictions | Regole per limitare l'indirizzo IP in ingresso. | IpSecurityRestrictionRule[] |
targetPort | Porta di destinazione nei contenitori per il traffico da ingresso | INT |
Traffico | Peso del traffico per le revisioni dell'app | TrafficWeight[] |
transport | Protocollo di trasporto in ingresso | 'auto' 'http' 'http2' 'tcp' |
CorsPolicy
Nome | Descrizione | Valore |
---|---|---|
allowCredentials | consenti credenziali o meno | bool |
allowedHeaders | intestazioni HTTP consentite | string[] |
allowedMethods | metodi HTTP consentiti | string[] |
allowedOrigins | origini consentite | string[] (obbligatorio) |
esponiheader | esporre intestazioni HTTP | string[] |
Maxage | il client massimo tempo può memorizzare nella cache il risultato | INT |
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 (obbligatoria) |
IpSecurityRestrictionRule
Nome | Descrizione | Valore |
---|---|---|
azione | Consenti o Nega regole per determinare l'indirizzo IP in ingresso. Nota: le regole possono essere costituite solo da ALL Allow o ALL Deny | 'Allow' 'Deny' (obbligatorio) |
description | Descrivere la regola di restrizione IP inviata all'app contenitore. È un campo facoltativo. | string |
ipAddressRange | Notazione CIDR per corrispondere all'indirizzo IP in ingresso | stringa (obbligatoria) |
name | Nome per la regola di restrizione IP. | stringa (obbligatoria) |
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à assegnata 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[] |
initContainers | Elenco di contenitori specializzati eseguiti prima dei contenitori di app. | InitContainer[] |
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 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à' 'Startup' |
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 necessaria nei core, ad esempio 0,5 Per specificare un valore decimale, usare la funzione json(). | 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 |
InitContainer
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 |
resources | Requisiti delle risorse del contenitore. | ContainerResources |
volumeMounts | Montaggi del volume del contenitore. | VolumeMount[] |
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 |
tcp | Scalabilità basata sulle richieste TCP. | TcpScaleRule |
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 |
TcpScaleRule
Nome | Descrizione | Valore |
---|---|---|
auth | Segreti di autenticazione per la regola di scalabilità TCP. | ScaleRuleAuth[] |
metadata | Proprietà dei metadati per descrivere la regola di scalabilità TCP. | TcpScaleRuleMetadata |
TcpScaleRuleMetadata
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 |
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 |
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 |
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 |
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 |
Crea un ambiente app contenitore esterno con una rete virtuale. |
Crea un ambiente app contenitore interno con una rete virtuale |
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:
- Gruppi di risorse - Vedere i comandi di distribuzione dei 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 codice JSON seguente al modello.
{
"type": "Microsoft.App/containerApps",
"apiVersion": "2022-10-01",
"name": "string",
"location": "string",
"tags": {
"tagName1": "tagValue1",
"tagName2": "tagValue2"
},
"extendedLocation": {
"name": "string",
"type": "CustomLocation"
},
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": {}
}
},
"properties": {
"configuration": {
"activeRevisionsMode": "string",
"dapr": {
"appId": "string",
"appPort": "int",
"appProtocol": "string",
"enableApiLogging": "bool",
"enabled": "bool",
"httpMaxRequestSize": "int",
"httpReadBufferSize": "int",
"logLevel": "string"
},
"ingress": {
"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"
}
],
"targetPort": "int",
"traffic": [
{
"label": "string",
"latestRevision": "bool",
"revisionName": "string",
"weight": "int"
}
],
"transport": "string"
},
"maxInactiveRevisions": "int",
"registries": [
{
"identity": "string",
"passwordSecretRef": "string",
"server": "string",
"username": "string"
}
],
"secrets": [
{
"name": "string",
"value": "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",
"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",
"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"
}
}
}
]
},
"volumes": [
{
"name": "string",
"storageName": "string",
"storageType": "string"
}
]
},
"workloadProfileType": "string"
}
}
Valori delle proprietà
containerApps
Nome | Descrizione | Valore |
---|---|---|
tipo | Tipo di risorsa | 'Microsoft.App/containerApps' |
apiVersion | Versione dell'API della risorsa | '2022-10-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 dei nomi e dei valori dei tag. Vedere Tag nei modelli |
extendedLocation | Tipo complesso della posizione estesa. | ExtendedLocation |
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 |
ExtendedLocation
Nome | Descrizione | valore |
---|---|---|
name | Nome della posizione estesa. | string |
type | Tipo della posizione estesa. | 'CustomLocation' |
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 |
environmentId | ID risorsa dell'ambiente. | string |
managedEnvironmentId | Deprecato. ID risorsa dell'ambiente dell'app contenitore. | string |
template | Definizione dell'applicazione con versione del contenitore. | Modello |
workloadProfileType | Tipo di profilo del carico di lavoro da aggiungere per l'esecuzione dell'app contenitore. | string |
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 |
maxInactiveRevisions | facoltativo. Le revisioni inattive massime possono avere un'app contenitore. | INT |
registries | Raccolta di credenziali del Registro contenitori privati per i contenitori usati dall'app Container | 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 quale porta 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' |
enableApiLogging | Abilita la registrazione API per il sidecar Dapr | bool |
Enabled | Boolean che indica se l'auto lato Dapr è abilitata | bool |
httpMaxRequestSize | Aumento delle dimensioni massime del corpo della richiesta http e dei server grpc in MB per gestire il caricamento di file di grandi dimensioni. Il valore predefinito è 4 MB. | INT |
httpReadBufferSize | Dapr max size of http header read buffer in KB to handle when invio di intestazioni multi-KB. Il valore predefinito è 65 KB. | INT |
logLevel | Imposta il livello di log per il sidecar Dapr. I valori consentiti sono debug, info, avviso, errore. Il valore predefinito è info. | 'debug' 'error' 'info' 'warn' |
Dati in ingresso
Nome | Descrizione | Valore |
---|---|---|
allowInsecure | Bool che indica se le connessioni HTTP a sono consentite. Se impostata su false connessioni HTTP vengono reindirizzate automaticamente alle connessioni HTTPS | bool |
clientCertificateMode | Modalità certificato client per l'autenticazione mTLS. Ignora indica che il certificato client viene eliminato dal server durante l'inoltro. Accetta indica che il certificato client viene inoltrato dal server, ma non richiede un certificato client. Richiedi indica che il server richiede un certificato client. | 'accetta' 'ignore' 'richiedi' |
corsPolicy | Criteri CORS per l'app contenitore | CorsPolicy |
customDomains | associazioni di dominio personalizzate per i nomi host di App contenitore. | CustomDomain[] |
exposedPort | Porta esposta nei contenitori per il traffico TCP da ingresso | INT |
external | Bool che indica se l'app espone un endpoint http esterno | bool |
ipSecurityRestrictions | Regole per limitare l'indirizzo IP in ingresso. | IpSecurityRestrictionRule[] |
targetPort | Porta di destinazione nei contenitori per il traffico da ingresso | INT |
Traffico | Peso del traffico per le revisioni dell'app | TrafficWeight[] |
transport | Protocollo di trasporto in ingresso | 'auto' 'http' 'http2' 'tcp' |
CorsPolicy
Nome | Descrizione | Valore |
---|---|---|
allowCredentials | consenti credenziali o meno | bool |
allowedHeaders | intestazioni HTTP consentite | string[] |
allowedMethods | metodi HTTP consentiti | string[] |
allowedOrigins | origini consentite | string[] (obbligatorio) |
esponiheader | esporre intestazioni HTTP | string[] |
Maxage | il client massimo tempo può memorizzare nella cache il risultato | INT |
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 (obbligatoria) |
IpSecurityRestrictionRule
Nome | Descrizione | Valore |
---|---|---|
azione | Consenti o Nega regole per determinare l'indirizzo IP in ingresso. Nota: le regole possono essere costituite solo da ALL Allow o ALL Deny | 'Allow' 'Deny' (obbligatorio) |
description | Descrivere la regola di restrizione IP inviata all'app contenitore. È un campo facoltativo. | string |
ipAddressRange | Notazione CIDR per corrispondere all'indirizzo IP in ingresso | stringa (obbligatoria) |
name | Nome per la regola di restrizione IP. | stringa (obbligatoria) |
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à assegnata 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[] |
initContainers | Elenco di contenitori specializzati eseguiti prima dei contenitori di app. | InitContainer[] |
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 | 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à' 'Startup' |
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 necessaria nei core, ad esempio 0,5 Per specificare un valore decimale, usare la funzione json(). | 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 |
InitContainer
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 |
resources | Requisiti delle risorse del contenitore. | ContainerResources |
volumeMounts | Montaggi del volume del contenitore. | VolumeMount[] |
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 |
tcp | Ridimensionamento basato sulle richieste TCP. | TcpScaleRule |
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 |
TcpScaleRule
Nome | Descrizione | Valore |
---|---|---|
auth | Segreti di autenticazione per la regola di scalabilità TCP. | ScaleRuleAuth[] |
metadata | Proprietà dei metadati per descrivere la regola di scalabilità TCP. | TcpScaleRuleMetadata |
TcpScaleRuleMetadata
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 |
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 |
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 |
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 |
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 |
Crea un ambiente app contenitore esterno con una rete virtuale. |
Crea un ambiente app contenitore interno con una rete virtuale |
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-10-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"
enableApiLogging = bool
enabled = bool
httpMaxRequestSize = int
httpReadBufferSize = int
logLevel = "string"
}
ingress = {
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"
}
]
targetPort = int
traffic = [
{
label = "string"
latestRevision = bool
revisionName = "string"
weight = int
}
]
transport = "string"
}
maxInactiveRevisions = int
registries = [
{
identity = "string"
passwordSecretRef = "string"
server = "string"
username = "string"
}
]
secrets = [
{
name = "string"
value = "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"
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"
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"
}
}
}
]
}
volumes = [
{
name = "string"
storageName = "string"
storageType = "string"
}
]
}
workloadProfileType = "string"
}
extendedLocation = {
name = "string"
type = "CustomLocation"
}
})
}
Valori delle proprietà
containerApps
Nome | Descrizione | Valore |
---|---|---|
tipo | Tipo di risorsa | "Microsoft.App/containerApps@2022-10-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. |
extendedLocation | Tipo complesso della posizione estesa. | ExtendedLocation |
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 |
ExtendedLocation
Nome | Descrizione | valore |
---|---|---|
name | Nome della posizione estesa. | string |
type | Tipo della posizione estesa. | "CustomLocation" |
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 controllo delle versioni. | Configuration |
environmentId | ID risorsa dell'ambiente. | string |
managedEnvironmentId | Deprecato. ID risorsa dell'ambiente dell'app contenitore. | string |
template | Definizione dell'applicazione con controllo delle versioni dell'app contenitore. | Modello |
workloadProfileType | Tipo di profilo del carico di lavoro da aggiungere per l'esecuzione dell'app contenitore. | string |
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 |
maxInactiveRevisions | facoltativo. Le revisioni inattive massime che un'app contenitore può avere. | INT |
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" |
enableApiLogging | Abilita la registrazione API per il sidecar Dapr | bool |
Enabled | Valore booleano che indica se l'auto laterale Dapr è abilitata | bool |
httpMaxRequestSize | Aumento della dimensione massima del corpo della richiesta del parametro dei server http e grpc in MB per gestire il caricamento di file di grandi dimensioni. Il valore predefinito è 4 MB. | INT |
httpReadBufferSize | Dapr max size of http header read buffer in KB to handle when sending multi-KB headers .Dapr max size of http header read buffer in KB to handle when sending multi-KB header headers. Il valore predefinito è 65 KB. | INT |
logLevel | Imposta il livello di log per l'sidecar Dapr. I valori consentiti sono debug, info, avviso, errore. Il valore predefinito è info. | "debug" "error" "info" "warn" |
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 |
clientCertificateMode | Modalità certificato client per l'autenticazione mTLS. Ignora indica che il certificato client viene eliminato dal server durante l'inoltro. Accetta indica che il certificato client viene inoltrato dal server, ma non richiede un certificato client. Richiedi indica che il server richiede un certificato client. | "accetta" "ignora" "richiede" |
corsPolicy | Criteri CORS per l'app contenitore | CorsPolicy |
customDomains | associazioni di dominio personalizzate per i nomi host di App contenitore. | CustomDomain[] |
exposedPort | Porta esposta nei contenitori per il traffico TCP da ingresso | INT |
external | Bool che indica se l'app espone un endpoint http esterno | bool |
ipSecurityRestrictions | Regole per limitare l'indirizzo IP in ingresso. | IpSecurityRestrictionRule[] |
targetPort | Porta di destinazione nei contenitori per il traffico da ingresso | INT |
Traffico | Peso del traffico per le revisioni dell'app | TrafficWeight[] |
transport | Protocollo di trasporto in ingresso | "auto" "http" "http2" "tcp" |
CorsPolicy
Nome | Descrizione | Valore |
---|---|---|
allowCredentials | consenti credenziali o meno | bool |
allowedHeaders | intestazioni HTTP consentite | string[] |
allowedMethods | metodi HTTP consentiti | string[] |
allowedOrigins | origini consentite | string[] (obbligatorio) |
esponiheader | esporre intestazioni HTTP | string[] |
Maxage | il client massimo tempo può memorizzare nella cache il risultato | INT |
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 (obbligatoria) |
IpSecurityRestrictionRule
Nome | Descrizione | Valore |
---|---|---|
azione | Consenti o Nega regole per determinare l'indirizzo IP in ingresso. Nota: le regole possono essere costituite solo da ALL Allow o ALL Deny | "Consenti" "Nega" (obbligatorio) |
description | Descrivere la regola di restrizione IP inviata all'app contenitore. È un campo facoltativo. | string |
ipAddressRange | Notazione CIDR per corrispondere all'indirizzo IP in ingresso | stringa (obbligatoria) |
name | Nome per la regola di restrizione IP. | stringa (obbligatoria) |
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[] |
initContainers | Elenco di contenitori specializzati eseguiti prima dei contenitori di app. | InitContainer[] |
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. | "Vivacità" "Idoneità" "Avvio" |
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 necessaria nei core, ad esempio 0,5 Specificare un valore decimale come stringa. | 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 |
InitContainer
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 |
resources | Requisiti delle risorse del contenitore. | ContainerResources |
volumeMounts | Montaggi del volume del contenitore. | VolumeMount[] |
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 |
tcp | Ridimensionamento basato sulle richieste TCP. | TcpScaleRule |
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 |
TcpScaleRule
Nome | Descrizione | Valore |
---|---|---|
auth | Segreti di autenticazione per la regola di scalabilità TCP. | ScaleRuleAuth[] |
metadata | Proprietà dei metadati per descrivere la regola di scalabilità TCP. | TcpScaleRuleMetadata |
TcpScaleRuleMetadata
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" |
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per