Microsoft.App containerApps
Bicep-Ressourcendefinition
Der Ressourcentyp containerApps kann mit Vorgängen bereitgestellt werden, die auf Folgendes abzielen:
- Ressourcengruppen – Siehe Bereitstellungsbefehle für Ressourcengruppen
Eine Liste der geänderten Eigenschaften in jeder API-Version finden Sie im Änderungsprotokoll.
Ressourcenformat
Um eine Microsoft.App/containerApps-Ressource zu erstellen, fügen Sie der Vorlage den folgenden Bicep hinzu.
resource symbolicname 'Microsoft.App/containerApps@2023-11-02-preview' = {
name: 'string'
location: 'string'
tags: {
tagName1: 'tagValue1'
tagName2: 'tagValue2'
}
extendedLocation: {
name: 'string'
type: 'CustomLocation'
}
identity: {
type: 'string'
userAssignedIdentities: {
{customized property}: {}
}
}
managedBy: 'string'
properties: {
configuration: {
activeRevisionsMode: 'string'
dapr: {
appId: 'string'
appPort: int
appProtocol: 'string'
enableApiLogging: bool
enabled: bool
httpMaxRequestSize: int
httpReadBufferSize: int
logLevel: 'string'
}
ingress: {
additionalPortMappings: [
{
exposedPort: int
external: bool
targetPort: int
}
]
allowInsecure: bool
clientCertificateMode: 'string'
corsPolicy: {
allowCredentials: bool
allowedHeaders: [
'string'
]
allowedMethods: [
'string'
]
allowedOrigins: [
'string'
]
exposeHeaders: [
'string'
]
maxAge: int
}
customDomains: [
{
bindingType: 'string'
certificateId: 'string'
name: 'string'
}
]
exposedPort: int
external: bool
ipSecurityRestrictions: [
{
action: 'string'
description: 'string'
ipAddressRange: 'string'
name: 'string'
}
]
stickySessions: {
affinity: 'string'
}
targetPort: int
targetPortHttpScheme: 'string'
traffic: [
{
label: 'string'
latestRevision: bool
revisionName: 'string'
weight: int
}
]
transport: 'string'
}
maxInactiveRevisions: int
registries: [
{
identity: 'string'
passwordSecretRef: 'string'
server: 'string'
username: 'string'
}
]
secrets: [
{
identity: 'string'
keyVaultUrl: 'string'
name: 'string'
value: 'string'
}
]
service: {
type: 'string'
}
}
environmentId: 'string'
managedEnvironmentId: 'string'
template: {
containers: [
{
args: [
'string'
]
command: [
'string'
]
env: [
{
name: 'string'
secretRef: 'string'
value: 'string'
}
]
image: 'string'
name: 'string'
probes: [
{
failureThreshold: int
httpGet: {
host: 'string'
httpHeaders: [
{
name: 'string'
value: 'string'
}
]
path: 'string'
port: int
scheme: 'string'
}
initialDelaySeconds: int
periodSeconds: int
successThreshold: int
tcpSocket: {
host: 'string'
port: int
}
terminationGracePeriodSeconds: int
timeoutSeconds: int
type: 'string'
}
]
resources: {
cpu: json('decimal-as-string')
memory: 'string'
}
volumeMounts: [
{
mountPath: 'string'
subPath: 'string'
volumeName: 'string'
}
]
}
]
initContainers: [
{
args: [
'string'
]
command: [
'string'
]
env: [
{
name: 'string'
secretRef: 'string'
value: 'string'
}
]
image: 'string'
name: 'string'
resources: {
cpu: json('decimal-as-string')
memory: 'string'
}
volumeMounts: [
{
mountPath: 'string'
subPath: 'string'
volumeName: 'string'
}
]
}
]
revisionSuffix: 'string'
scale: {
maxReplicas: int
minReplicas: int
rules: [
{
azureQueue: {
auth: [
{
secretRef: 'string'
triggerParameter: 'string'
}
]
queueLength: int
queueName: 'string'
}
custom: {
auth: [
{
secretRef: 'string'
triggerParameter: 'string'
}
]
metadata: {
{customized property}: 'string'
}
type: 'string'
}
http: {
auth: [
{
secretRef: 'string'
triggerParameter: 'string'
}
]
metadata: {
{customized property}: 'string'
}
}
name: 'string'
tcp: {
auth: [
{
secretRef: 'string'
triggerParameter: 'string'
}
]
metadata: {
{customized property}: 'string'
}
}
}
]
}
serviceBinds: [
{
clientType: 'string'
customizedKeys: {
{customized property}: 'string'
}
name: 'string'
serviceId: 'string'
}
]
terminationGracePeriodSeconds: int
volumes: [
{
mountOptions: 'string'
name: 'string'
secrets: [
{
path: 'string'
secretRef: 'string'
}
]
storageName: 'string'
storageType: 'string'
}
]
}
workloadProfileName: 'string'
}
}
Eigenschaftswerte
containerApps
Name | BESCHREIBUNG | Wert |
---|---|---|
name | Der Ressourcenname | Zeichenfolge (erforderlich) Zeichenlimit: 2-32 Gültige Zeichen: Kleinbuchstaben, Zahlen und Bindestriche.. Muss mit einem Buchstaben beginnen und mit einem alphanumerischen Zeichen enden. |
location | Der geografische Standort, an dem sich die Ressource befindet | Zeichenfolge (erforderlich) |
tags | Ressourcentags. | Wörterbuch der Tagnamen und -werte. Weitere Informationen finden Sie unter Tags in Vorlagen. |
extendedLocation | Der komplexe Typ des erweiterten Standorts. | ExtendedLocation |
Identität | Verwaltete Identitäten für die Container-App, um mit anderen Azure-Diensten zu interagieren, ohne Geheimnisse oder Anmeldeinformationen im Code beizubehalten. | ManagedServiceIdentity |
managedBy | Die vollqualifizierte Ressourcen-ID der Ressource, die diese Ressource verwaltet. Gibt an, ob diese Ressource von einer anderen Azure-Ressource verwaltet wird. Wenn dies vorhanden ist, löscht die Bereitstellung im vollständigen Modus die Ressource nicht, wenn sie aus der Vorlage entfernt wird, da sie von einer anderen Ressource verwaltet wird. | Zeichenfolge |
properties | Ressourcenspezifische Eigenschaften für ContainerApp | ContainerAppProperties |
ExtendedLocation
Name | BESCHREIBUNG | Wert |
---|---|---|
name | Der Name des erweiterten Speicherorts. | Zeichenfolge |
type | Der Typ des erweiterten Speicherorts. | "CustomLocation" |
ManagedServiceIdentity
Name | BESCHREIBUNG | Wert |
---|---|---|
type | Typ der verwalteten Dienstidentität (wobei sowohl der SystemAssigned- als auch der UserAssigned-Typ zulässig sind). | "Keine" "SystemAssigned" 'SystemAssigned,UserAssigned' "UserAssigned" (erforderlich) |
userAssignedIdentities | Der Satz von benutzerseitig zugewiesenen Identitäten, die der Ressource zugeordnet sind. Bei den userAssignedIdentities-Wörterbuchschlüsseln handelt es sich um ARM-Ressourcen-IDs im Format :/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Die Wörterbuchwerte können leere Objekte ({}) in Anforderungen sein. | UserAssignedIdentities |
UserAssignedIdentities
Name | BESCHREIBUNG | Wert |
---|---|---|
{angepasste Eigenschaft} | UserAssignedIdentity |
UserAssignedIdentity
Dieses Objekt enthält keine Eigenschaften, die während der Bereitstellung festgelegt werden sollen. Alle Eigenschaften sind ReadOnly.
ContainerAppProperties
Name | BESCHREIBUNG | Wert |
---|---|---|
Konfiguration | Konfigurationseigenschaften für Container-Apps ohne Versionsangabe. | Configuration |
environmentId | Ressourcen-ID der Umgebung. | Zeichenfolge |
managedEnvironmentId | Veraltet. Ressourcen-ID der Umgebung der Container-App. | Zeichenfolge |
Vorlage | Anwendungsdefinition der Container-App mit Versionsangabe. | Vorlage |
workloadProfileName | Workloadprofilname, der für die Ausführung der Container-App angeheften werden soll. | Zeichenfolge |
Konfiguration
Name | BESCHREIBUNG | Wert |
---|---|---|
activeRevisionsMode | ActiveRevisionsMode steuert, wie aktive Revisionen für die Container-App behandelt werden: {list} {item} Mehrfach: Mehrere Revisionen können aktiv sein. {/item} {item} Single: Es kann jeweils nur eine Revision aktiv sein. Revisionsgewichtungen können in diesem Modus nicht verwendet werden. Wenn kein Wert angegeben wird, ist dies der Standardwert. {/item} {/list} |
"Multiple" "Single" |
dapr | Dapr-Konfiguration für die Container-App. | Dapr |
Eindringen | Eingangskonfigurationen. | Eingehend |
maxInactiveRevisions | Optional. Max. inaktive Revisionen, die eine Container-App haben kann. | INT |
registries | Sammlung von Anmeldeinformationen für die private Containerregistrierung für Container, die von der Container-App verwendet werden | RegistryCredentials[] |
secrets | Sammlung von Geheimnissen, die von einer Container-App verwendet werden | Geheimnis[] |
Dienst | Container-App als Entwicklungscontainer-App Service | Service |
Dapr
Name | BESCHREIBUNG | Wert |
---|---|---|
appId | Dapr-Anwendungsbezeichner | Zeichenfolge |
appPort | Teilt Dapr mit, an welchem Port Ihre Anwendung lauscht. | INT |
appProtocol | Teilt Dapr mit, welches Protokoll Ihre Anwendung verwendet. Gültige Optionen sind http und grpc. Der Standardwert ist http. | "grpc" "http" |
enableApiLogging | Aktiviert die API-Protokollierung für das Dapr-Sidecar | bool |
enabled | Boolescher Wert, der angibt, ob das Dapr-Seitenfahrzeug aktiviert ist | bool |
httpMaxRequestSize | Erhöhen der maximalen Größe des Http- und grpc-Serverparameters für den Anforderungstext in MB, um das Hochladen großer Dateien zu verarbeiten. Der Standardwert ist 4 MB. | INT |
httpReadBufferSize | Dapr maximale Größe des HTTP-Headerlesepuffers in KB, der beim Senden von Multi-KB-Headern behandelt werden soll. Der Standardwert ist 65 KB. | INT |
logLevel | Legt die Protokollebene für das Dapr-Sidecar fest. Zulässige Werte sind debug, info, warn, error. Der Standardwert ist info. | "Debuggen" "Fehler" "Info" "warnen" |
Eingehende Daten
Name | BESCHREIBUNG | Wert |
---|---|---|
additionalPortMappings | Einstellungen zum Verfügbarmachen zusätzlicher Ports in der Container-App | IngressPortMapping[] |
allowInsecure | Bool, der angibt, ob HTTP-Verbindungen mit zulässig sind. Wenn auf "False" festgelegt ist, werden HTTP-Verbindungen automatisch an HTTPS-Verbindungen umgeleitet. | bool |
clientCertificateMode | Clientzertifikatmodus für die mTLS-Authentifizierung. Ignore gibt an, dass der Server das Clientzertifikat bei der Weiterleitung löscht. Accept gibt an, dass der Server das Clientzertifikat weiterleitet, aber kein Clientzertifikat erfordert. Erforderlich gibt an, dass der Server ein Clientzertifikat erfordert. | "Akzeptieren" "ignorieren" "erforderlich" |
corsPolicy | CORS-Richtlinie für Container-App | CorsPolicy |
customDomains | benutzerdefinierte Domänenbindungen für Container Apps-Hostnamen. | CustomDomain[] |
exposedPort | Verfügbar gemachter Port in Containern für TCP-Datenverkehr aus eingehendem Datenverkehr | INT |
external | Bool, der angibt, ob die App einen externen HTTP-Endpunkt verfügbar macht | bool |
ipSecurityRestrictions | Regeln zum Einschränken eingehender IP-Adressen. | IpSecurityRestrictionRule[] |
stickySessions | Kurzsitzungen für den einzelnen Revisionsmodus | IngressStickySessions |
targetPort | Zielport in Containern für Eingehenden Datenverkehr | INT |
targetPortHttpScheme | Ob eine HTTP-App auf HTTP oder HTTPS lauscht | "http" "https" |
traffic | Datenverkehrsgewichtung für App-Revisionen | TrafficWeight[] |
Transport | Protokoll für eingehenden Transport | "auto" "http" "http2" "tcp" |
IngressPortMapping
Name | BESCHREIBUNG | Wert |
---|---|---|
exposedPort | Gibt den verfügbar gemachten Port für den Zielport an. Wenn nicht angegeben, wird standardmäßig der Zielport verwendet. | INT |
external | Gibt an, ob auf den App-Port außerhalb der Umgebung zugegriffen werden kann. | bool (erforderlich) |
targetPort | Gibt an, an ob der Container des Portbenutzers lauscht. | int (erforderlich) |
CorsPolicy
Name | BESCHREIBUNG | Wert |
---|---|---|
allowCredentials | Gibt an, ob die Ressource Anmeldeinformationen zulässt. | bool |
allowedHeaders | Gibt den Inhalt für den Header access-control-allow-headers an. | string[] |
allowedMethods | Gibt den Inhalt für den Access-Control-allow-methods-Header an. | string[] |
allowedOrigins | Gibt den Inhalt für den Header access-control-allow-origins an. | string[] (erforderlich) |
exposeHeaders | Gibt den Inhalt für den access-control-expose-headers-Header an. | string[] |
maxAge | Gibt den Inhalt für den access-control-max-age-Header an. | INT |
CustomDomain
Name | BESCHREIBUNG | Wert |
---|---|---|
Bindingtype | Custom Domain Bindungstyp. | "Deaktiviert" "SniEnabled" |
certificateId | Ressourcen-ID des Zertifikats, das an diesen Hostnamen gebunden werden soll. Muss in der verwalteten Umgebung vorhanden sein. | Zeichenfolge |
name | Hostname. | Zeichenfolge (erforderlich) |
IpSecurityRestrictionRule
Name | BESCHREIBUNG | Wert |
---|---|---|
action | Regeln zulassen oder verweigern, um für eingehende IP-Adressen zu bestimmen. Hinweis: Regeln können nur aus ALL Allow oder ALL Deny bestehen. | "Zulassen" "Verweigern" (erforderlich) |
description | Beschreiben sie die IP-Einschränkungsregel, die an die container-app gesendet wird. Dies ist ein optionales Feld. | Zeichenfolge |
ipAddressRange | CIDR-Notation zur Übereinstimmung mit eingehender IP-Adresse | Zeichenfolge (erforderlich) |
name | Name für die IP-Einschränkungsregel. | Zeichenfolge (erforderlich) |
IngressStickySessions
Name | BESCHREIBUNG | Wert |
---|---|---|
affinity | Affinität zu klebrigen Sitzungen | "keine" "klebrig" |
TrafficWeight
Name | BESCHREIBUNG | Wert |
---|---|---|
label | Ordnet eine Verkehrsbezeichnung einer Revision zu | Zeichenfolge |
latestRevision | Gibt an, dass die Datenverkehrsgewichtung zu einer aktuellen stabilen Revision gehört. | bool |
revisionName | Name einer Revision | Zeichenfolge |
weight | Einer Revision zugewiesene Verkehrsgewichtung | INT |
RegistryCredentials
Name | BESCHREIBUNG | Wert |
---|---|---|
Identität | Eine verwaltete Identität, die zur Authentifizierung bei Azure Container Registry verwendet werden soll. Verwenden Sie für benutzerseitig zugewiesene Identitäten die vollständige benutzerseitig zugewiesene Identitätsressourcen-ID. Verwenden Sie für systemseitig zugewiesene Identitäten "system" | Zeichenfolge |
passwordSecretRef | Der Name des Geheimnisses, das das Anmeldekennwort für die Registrierung enthält | Zeichenfolge |
server | ContainerRegistrierungsserver | Zeichenfolge |
username | Benutzername für Containerregistrierung | Zeichenfolge |
`Secret`
Name | BESCHREIBUNG | Wert |
---|---|---|
Identität | Ressourcen-ID einer verwalteten Identität zur Authentifizierung bei Azure Key Vault oder System zur Verwendung einer systemseitig zugewiesenen Identität. | Zeichenfolge |
keyVaultUrl | Azure Key Vault-URL, die auf das Geheimnis verweist, auf das die Container-App verweist. | Zeichenfolge |
name | Geheimer Name. | Zeichenfolge |
value | Geheimer Wert. | Zeichenfolge Einschränkungen: Vertraulicher Wert. Übergeben Sie als sicheren Parameter. |
Dienst
Name | BESCHREIBUNG | Wert |
---|---|---|
type | Dev ContainerApp-Diensttyp | Zeichenfolge (erforderlich) |
Vorlage
Name | BESCHREIBUNG | Wert |
---|---|---|
containers | Liste der Containerdefinitionen für die Container-App. | Container[] |
initContainers | Liste der spezialisierten Container, die vor App-Containern ausgeführt werden. | InitContainer[] |
revisionSuffix | Benutzerfreundliches Suffix, das an den Revisionsnamen angefügt wird | Zeichenfolge |
Skalierung | Skalierungseigenschaften für die Container-App. | Skalieren |
serviceBinds | Liste der an die App gebundenen Container-App-Dienste | ServiceBind[] |
terminationGracePeriodSeconds | Optionale Dauer in Sekunden, die die Container-App-Instanz ordnungsgemäß beenden muss. Der Wert muss eine nicht negative ganze Zahl sein. Der Wert 0 gibt an, dass sofort über das Kill-Signal angehalten wird (keine Möglichkeit zum Herunterfahren). Wenn dieser Wert gleich null ist, wird stattdessen der standardmäßige Nachfristzeitraum verwendet. Legen Sie für diesen Wert eine längere Zeit als die erwartete Bereinigungszeit für Ihren Prozess fest. Der Standardwert beträgt 30 Sekunden. | INT |
volumes | Liste der Volumedefinitionen für die Container-App. | Volume[] |
Container
Name | BESCHREIBUNG | Wert |
---|---|---|
args | Containerstartbefehlsargumente. | string[] |
command | Containerstartbefehl. | string[] |
env | Containerumgebungsvariablen. | EnvironmentVar[] |
image | Containerimagetag. | Zeichenfolge |
name | Benutzerdefinierter Containername. | Zeichenfolge |
probes | Liste der Tests für den Container. | ContainerAppProbe[] |
ressourcen | Anforderungen an Containerressourcen. | ContainerResources |
volumeMounts | Bereitstellungen von Containervolumes. | VolumeMount[] |
EnvironmentVar
Name | BESCHREIBUNG | Wert |
---|---|---|
name | Umgebungsvariablenname. | Zeichenfolge |
secretRef | Name des geheimen Container-App-Geheimnisses, aus dem der Wert der Umgebungsvariablen abgerufen werden soll. | Zeichenfolge |
value | Nicht geheimer Umgebungsvariablenwert. | Zeichenfolge |
ContainerAppProbe
Name | BESCHREIBUNG | Wert |
---|---|---|
failureThreshold | Minimale aufeinanderfolgende Fehler, damit der Test nach dem Erfolgreichen als fehlgeschlagen gilt. Der Standardwert ist 3. Der Mindestwert ist 1. Der maximale Wert ist 10. | INT |
httpGet | HTTPGet gibt die auszuführende HTTP-Anforderung an. | ContainerAppProbeHttpGet |
initialDelaySeconds | Die Anzahl der Sekunden, die nach dem Start des Containers vergehen, bevor Livetests initiiert werden. Der Mindestwert ist 1. Der Maximalwert ist 60. | INT |
periodSeconds | Gibt an, wie häufig (in Sekunden) ein Test durchgeführt werden soll. Der Standardwert ist 10 Sekunden. Der Mindestwert ist 1. Der Höchstwert ist 240. | INT |
successThreshold | Minimale aufeinanderfolgende Erfolge, damit der Test nach einem Fehler als erfolgreich angesehen wird. Der Standardwert lautet 1. Muss 1 sein, um live zu sein und zu starten. Der Mindestwert ist 1. Der maximale Wert ist 10. | INT |
tcpSocket | TCPSocket gibt eine Aktion mit einem TCP-Port an. TCP-Hooks werden noch nicht unterstützt. | ContainerAppProbeTcpSocket |
terminationGracePeriodSeconds | Optionale Dauer in Sekunden, die der Pod bei einem Testfehler ordnungsgemäß beenden muss. Die Toleranzperiode ist die Dauer in Sekunden, nachdem die im Pod ausgeführten Prozesse ein Beendigungssignal gesendet haben, und der Zeitpunkt, zu dem die Prozesse mit einem Kill-Signal erzwungen angehalten werden. Legen Sie für diesen Wert eine längere Zeit als die erwartete Bereinigungszeit für Ihren Prozess fest. Wenn dieser Wert null ist, wird der TerminGracePeriodSeconds des Pods verwendet. Andernfalls überschreibt dieser Wert den von der Podspezifikation bereitgestellten Wert. Der Wert muss eine nicht negative ganze Zahl sein. Der Wert 0 gibt an, dass sofort über das Kill-Signal angehalten wird (keine Gelegenheit zum Herunterfahren). Dies ist ein Alphafeld und erfordert die Aktivierung des Featuregates "ProbeTerminationGracePeriod". Maximaler Wert ist 3600 Sekunden (1 Stunde) | INT |
timeoutSeconds | Anzahl der Sekunden, nach denen das Zeitüberschreitungsintervall für den Test aufgetreten ist. Der Standardwert ist 1 Sekunde. Der Mindestwert ist 1. Der Höchstwert ist 240. | INT |
Typ | Der Typ des Tests. | "Lebendigkeit" "Bereitschaft" "Start" |
ContainerAppProbeHttpGet
Name | BESCHREIBUNG | Wert |
---|---|---|
host | Hostname, mit dem eine Verbindung hergestellt werden soll, ist standardmäßig die Pod-IP-Adresse. Sie möchten wahrscheinlich stattdessen "Host" in httpHeaders festlegen. | Zeichenfolge |
httpHeaders | Benutzerdefinierte Header, die in der Anforderung festgelegt werden sollen. HTTP lässt wiederholte Header zu. | ContainerAppProbeHttpGetHttpHeadersItem[] |
path | Pfad zum Zugriff auf den HTTP-Server. | Zeichenfolge |
port | Name oder Nummer des Ports, auf den für den Container zugegriffen werden soll. Die Zahl muss im Bereich 1 bis 65535 liegen. Name muss ein IANA_SVC_NAME sein. | int (erforderlich) |
scheme | Schema, das zum Herstellen einer Verbindung mit dem Host verwendet werden soll. Der Standardwert ist HTTP. | "HTTP" "HTTPS" |
ContainerAppProbeHttpGetHttpHeadersItem
Name | BESCHREIBUNG | Wert |
---|---|---|
name | Der Name des Kopfzeilenfelds | Zeichenfolge (erforderlich) |
value | Der Wert des Headerfelds | Zeichenfolge (erforderlich) |
ContainerAppProbeTcpSocket
Name | BESCHREIBUNG | Wert |
---|---|---|
host | Optional: Hostname, mit dem eine Verbindung hergestellt werden soll, ist standardmäßig die Pod-IP-Adresse. | Zeichenfolge |
port | Nummer oder Name des Ports, auf den auf den Container zugegriffen werden soll. Die Zahl muss im Bereich 1 bis 65535 liegen. Name muss ein IANA_SVC_NAME sein. | int (erforderlich) |
ContainerResources
Name | BESCHREIBUNG | Wert |
---|---|---|
cpu | Erforderliche CPU in Kernen, z. B. 0.5 Um einen Dezimalwert anzugeben, verwenden Sie die Json()- Funktion. | int oder json dezimal |
Arbeitsspeicher | Erforderlicher Arbeitsspeicher, z. B. "250MB" | Zeichenfolge |
VolumeMount
Name | BESCHREIBUNG | Wert |
---|---|---|
mountPath | Pfad innerhalb des Containers, an dem das Volume eingebunden werden soll. Darf nicht ":" enthalten. | Zeichenfolge |
Untergeordnete | Pfad innerhalb des Volumes, von dem das Volume des Containers eingebunden werden soll. Standardmäßig ist "" (Stammverzeichnis des Volumes). | Zeichenfolge |
volumeName | Dies muss mit dem Namen eines Volumes übereinstimmen. | Zeichenfolge |
InitContainer
Name | BESCHREIBUNG | Wert |
---|---|---|
args | Container start-Befehlsargumente. | string[] |
command | Containerstartbefehl. | string[] |
env | Containerumgebungsvariablen. | EnvironmentVar[] |
image | Containerimagetag. | Zeichenfolge |
name | Benutzerdefinierter Containername. | Zeichenfolge |
ressourcen | Anforderungen an Containerressourcen. | ContainerResources |
volumeMounts | Containervolumemounts werden bereitgestellt. | VolumeMount[] |
Skalieren
Name | BESCHREIBUNG | Wert |
---|---|---|
maxReplicas | Optional. Maximale Anzahl von Containerreplikaten. Standardwert ist 10, wenn nicht festgelegt. | INT |
minReplicas | Optional. Mindestanzahl von Containerreplikaten. | INT |
rules | Skalierungsregeln. | ScaleRule[] |
ScaleRule
Name | BESCHREIBUNG | Wert |
---|---|---|
azureQueue | Azure Queue-basierte Skalierung. | QueueScaleRule |
custom | Benutzerdefinierte Skalierungsregel. | CustomScaleRule |
http | AUF HTTP-Anforderungen basierende Skalierung. | HttpScaleRule |
name | Name der Skalierungsregel | Zeichenfolge |
tcp | Tcp-Anforderungen basierende Skalierung. | TcpScaleRule |
QueueScaleRule
Name | BESCHREIBUNG | Wert |
---|---|---|
auth | Authentifizierungsgeheimnisse für die Warteschlangenskalierungsregel. | ScaleRuleAuth[] |
queueLength | Warteschlangenlänge. | INT |
queueName | Warteschlangenname. | Zeichenfolge |
ScaleRuleAuth
Name | BESCHREIBUNG | Wert |
---|---|---|
secretRef | Name des Geheimnisses, aus dem die Authentifizierungsparameter abgerufen werden sollen. | Zeichenfolge |
triggerParameter | Triggerparameter, der das Geheimnis verwendet | Zeichenfolge |
CustomScaleRule
Name | BESCHREIBUNG | Wert |
---|---|---|
auth | Authentifizierungsgeheimnisse für die benutzerdefinierte Skalierungsregel. | ScaleRuleAuth[] |
metadata | Metadateneigenschaften zum Beschreiben einer benutzerdefinierten Skalierungsregel. | CustomScaleRuleMetadata |
Typ | Typ der benutzerdefinierten Skalierungsregel z. B. azure-servicebus, redis etc. |
Zeichenfolge |
CustomScaleRuleMetadata
Name | BESCHREIBUNG | Wert |
---|---|---|
{angepasste Eigenschaft} | Zeichenfolge |
HttpScaleRule
Name | BESCHREIBUNG | Wert |
---|---|---|
auth | Authentifizierungsgeheimnisse für die benutzerdefinierte Skalierungsregel. | ScaleRuleAuth[] |
metadata | Metadateneigenschaften zum Beschreiben der HTTP-Skalierungsregel. | HttpScaleRuleMetadata |
HttpScaleRuleMetadata
Name | BESCHREIBUNG | Wert |
---|---|---|
{angepasste Eigenschaft} | Zeichenfolge |
TcpScaleRule
Name | BESCHREIBUNG | Wert |
---|---|---|
auth | Authentifizierungsgeheimnisse für die TCP-Skalierungsregel. | ScaleRuleAuth[] |
metadata | Metadateneigenschaften zum Beschreiben der TCP-Skalierungsregel. | TcpScaleRuleMetadata |
TcpScaleRuleMetadata
Name | BESCHREIBUNG | Wert |
---|---|---|
{angepasste Eigenschaft} | Zeichenfolge |
ServiceBind
Name | BESCHREIBUNG | Wert |
---|---|---|
clientType | Typ des Clients, der zum Herstellen einer Verbindung mit dem Dienst verwendet werden soll | Zeichenfolge |
customizedKeys | Angepasste Schlüssel zum Anpassen eingefügter Werte an die App | ServiceBindCustomizedKeys |
name | Name der Dienstbindung | Zeichenfolge |
serviceId | Ressourcen-ID des Zieldiensts | Zeichenfolge |
ServiceBindCustomizedKeys
Name | BESCHREIBUNG | Wert |
---|---|---|
{angepasste Eigenschaft} | Zeichenfolge |
Volume
Name | BESCHREIBUNG | Wert |
---|---|---|
mountOptions | Einbindungsoptionen, die beim Einbinden der Azure-Dateifreigabe oder NFS-Azure-Dateifreigabe verwendet werden. Muss eine durch Trennzeichen getrennte Zeichenfolge sein. | Zeichenfolge |
name | Volumename. | Zeichenfolge |
secrets | Liste der Geheimnisse, die dem Volume hinzugefügt werden sollen. Wenn keine Geheimnisse bereitgestellt werden, werden alle Geheimnisse in der Sammlung dem Volume hinzugefügt. | SecretVolumeItem[] |
storageName | Name der Speicherressource. Es ist nicht erforderlich, emptyDir und Secret anzugeben. | Zeichenfolge |
Speichertyp | Speichertyp für das Volume. Wenn nicht angegeben, verwenden Sie EmptyDir. | "AzureFile" 'EmptyDir' 'NfsAzureFile' "Geheimnis" |
SecretVolumeItem
Name | BESCHREIBUNG | Wert |
---|---|---|
path | Pfad zum Projektgeheimnis. Wenn kein Pfad angegeben wird, wird der Pfad standardmäßig auf den Namen des in secretRef aufgeführten Geheimnisses festgelegt. | Zeichenfolge |
secretRef | Name des geheimen Container-App-Geheimnisses, aus dem der Geheimniswert abgerufen werden soll. | Zeichenfolge |
Schnellstartvorlagen
In den folgenden Schnellstartvorlagen wird dieser Ressourcentyp bereitgestellt.
Vorlage | BESCHREIBUNG |
---|---|
Erstellt eine Container-App und eine Umgebung mit Registrierung. |
Erstellen Sie eine Container-App-Umgebung mit einer einfachen Container-App aus einer Azure Container Registry. Außerdem wird ein Log Analytics-Arbeitsbereich zum Speichern von Protokollen bereitgestellt. |
Erstellt eine Zwei-Container-App mit einer Container-App-Umgebung |
Erstellen Sie eine Umgebung mit zwei Container-Apps mit einer einfachen Container-App. Außerdem wird ein Log Analytics-Arbeitsbereich zum Speichern von Protokollen bereitgestellt. |
Erstellt eine Container-App in einer Container-App-Umgebung |
Erstellen Sie eine Container-App-Umgebung mit einer einfachen Container-App. Außerdem wird ein Log Analytics-Arbeitsbereich zum Speichern von Protokollen bereitgestellt. |
Erstellt eine Container-App mit einer definierten HTTP-Skalierungsregel |
Erstellen Sie eine Container-App-Umgebung mit einer einfachen Container-App, die basierend auf HTTP-Datenverkehr skaliert wird. |
Erstellt eine externe Container-App-Umgebung mit einem VNET |
Erstellt eine externe Container-App-Umgebung mit einem VNET. |
Erstellt eine interne Container-App-Umgebung mit einem VNET |
Erstellt eine interne Container-App-Umgebung mit einem VNET. |
Ressourcendefinition mit einer ARM-Vorlage
Der Ressourcentyp containerApps kann mit Vorgängen bereitgestellt werden, die auf Folgendes abzielen:
- Ressourcengruppen – Siehe Bereitstellungsbefehle für Ressourcengruppen
Eine Liste der geänderten Eigenschaften in jeder API-Version finden Sie im Änderungsprotokoll.
Ressourcenformat
Um eine Microsoft.App/containerApps Ressource zu erstellen, fügen Sie der Vorlage den folgenden JSON-Code hinzu.
{
"type": "Microsoft.App/containerApps",
"apiVersion": "2023-11-02-preview",
"name": "string",
"location": "string",
"tags": {
"tagName1": "tagValue1",
"tagName2": "tagValue2"
},
"extendedLocation": {
"name": "string",
"type": "CustomLocation"
},
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": {}
}
},
"managedBy": "string",
"properties": {
"configuration": {
"activeRevisionsMode": "string",
"dapr": {
"appId": "string",
"appPort": "int",
"appProtocol": "string",
"enableApiLogging": "bool",
"enabled": "bool",
"httpMaxRequestSize": "int",
"httpReadBufferSize": "int",
"logLevel": "string"
},
"ingress": {
"additionalPortMappings": [
{
"exposedPort": "int",
"external": "bool",
"targetPort": "int"
}
],
"allowInsecure": "bool",
"clientCertificateMode": "string",
"corsPolicy": {
"allowCredentials": "bool",
"allowedHeaders": [ "string" ],
"allowedMethods": [ "string" ],
"allowedOrigins": [ "string" ],
"exposeHeaders": [ "string" ],
"maxAge": "int"
},
"customDomains": [
{
"bindingType": "string",
"certificateId": "string",
"name": "string"
}
],
"exposedPort": "int",
"external": "bool",
"ipSecurityRestrictions": [
{
"action": "string",
"description": "string",
"ipAddressRange": "string",
"name": "string"
}
],
"stickySessions": {
"affinity": "string"
},
"targetPort": "int",
"targetPortHttpScheme": "string",
"traffic": [
{
"label": "string",
"latestRevision": "bool",
"revisionName": "string",
"weight": "int"
}
],
"transport": "string"
},
"maxInactiveRevisions": "int",
"registries": [
{
"identity": "string",
"passwordSecretRef": "string",
"server": "string",
"username": "string"
}
],
"secrets": [
{
"identity": "string",
"keyVaultUrl": "string",
"name": "string",
"value": "string"
}
],
"service": {
"type": "string"
}
},
"environmentId": "string",
"managedEnvironmentId": "string",
"template": {
"containers": [
{
"args": [ "string" ],
"command": [ "string" ],
"env": [
{
"name": "string",
"secretRef": "string",
"value": "string"
}
],
"image": "string",
"name": "string",
"probes": [
{
"failureThreshold": "int",
"httpGet": {
"host": "string",
"httpHeaders": [
{
"name": "string",
"value": "string"
}
],
"path": "string",
"port": "int",
"scheme": "string"
},
"initialDelaySeconds": "int",
"periodSeconds": "int",
"successThreshold": "int",
"tcpSocket": {
"host": "string",
"port": "int"
},
"terminationGracePeriodSeconds": "int",
"timeoutSeconds": "int",
"type": "string"
}
],
"resources": {
"cpu": "[json('decimal-as-string')]",
"memory": "string"
},
"volumeMounts": [
{
"mountPath": "string",
"subPath": "string",
"volumeName": "string"
}
]
}
],
"initContainers": [
{
"args": [ "string" ],
"command": [ "string" ],
"env": [
{
"name": "string",
"secretRef": "string",
"value": "string"
}
],
"image": "string",
"name": "string",
"resources": {
"cpu": "[json('decimal-as-string')]",
"memory": "string"
},
"volumeMounts": [
{
"mountPath": "string",
"subPath": "string",
"volumeName": "string"
}
]
}
],
"revisionSuffix": "string",
"scale": {
"maxReplicas": "int",
"minReplicas": "int",
"rules": [
{
"azureQueue": {
"auth": [
{
"secretRef": "string",
"triggerParameter": "string"
}
],
"queueLength": "int",
"queueName": "string"
},
"custom": {
"auth": [
{
"secretRef": "string",
"triggerParameter": "string"
}
],
"metadata": {
"{customized property}": "string"
},
"type": "string"
},
"http": {
"auth": [
{
"secretRef": "string",
"triggerParameter": "string"
}
],
"metadata": {
"{customized property}": "string"
}
},
"name": "string",
"tcp": {
"auth": [
{
"secretRef": "string",
"triggerParameter": "string"
}
],
"metadata": {
"{customized property}": "string"
}
}
}
]
},
"serviceBinds": [
{
"clientType": "string",
"customizedKeys": {
"{customized property}": "string"
},
"name": "string",
"serviceId": "string"
}
],
"terminationGracePeriodSeconds": "int",
"volumes": [
{
"mountOptions": "string",
"name": "string",
"secrets": [
{
"path": "string",
"secretRef": "string"
}
],
"storageName": "string",
"storageType": "string"
}
]
},
"workloadProfileName": "string"
}
}
Eigenschaftswerte
containerApps
Name | BESCHREIBUNG | Wert |
---|---|---|
type | Der Ressourcentyp | "Microsoft.App/containerApps" |
apiVersion | Die Version der Ressourcen-API | "2023-11-02-preview" |
name | Der Ressourcenname | Zeichenfolge (erforderlich) Zeichenlimit: 2-32 Gültige Zeichen: Kleinbuchstaben, Zahlen und Bindestriche.. Muss mit einem Buchstaben beginnen und mit einem alphanumerischen Zeichen enden. |
location | Der geografische Standort, an dem sich die Ressource befindet | Zeichenfolge (erforderlich) |
tags | Ressourcentags. | Wörterbuch der Tagnamen und -werte. Weitere Informationen finden Sie unter Tags in Vorlagen. |
extendedLocation | Der komplexe Typ des erweiterten Standorts. | ExtendedLocation |
Identität | Verwaltete Identitäten für die Container-App, um mit anderen Azure-Diensten zu interagieren, ohne Geheimnisse oder Anmeldeinformationen im Code beizubehalten. | ManagedServiceIdentity |
managedBy | Die vollqualifizierte Ressourcen-ID der Ressource, die diese Ressource verwaltet. Gibt an, ob diese Ressource von einer anderen Azure-Ressource verwaltet wird. Wenn dies vorhanden ist, löscht die Bereitstellung im vollständigen Modus die Ressource nicht, wenn sie aus der Vorlage entfernt wird, da sie von einer anderen Ressource verwaltet wird. | Zeichenfolge |
properties | Ressourcenspezifische Eigenschaften für ContainerApp | ContainerAppProperties |
ExtendedLocation
Name | BESCHREIBUNG | Wert |
---|---|---|
name | Der Name des erweiterten Speicherorts. | Zeichenfolge |
type | Der Typ des erweiterten Speicherorts. | "CustomLocation" |
ManagedServiceIdentity
Name | BESCHREIBUNG | Wert |
---|---|---|
type | Typ der verwalteten Dienstidentität (wobei sowohl der SystemAssigned- als auch der UserAssigned-Typ zulässig sind). | "Keine" "SystemAssigned" 'SystemAssigned,UserAssigned' "UserAssigned" (erforderlich) |
userAssignedIdentities | Der Satz von benutzerseitig zugewiesenen Identitäten, die der Ressource zugeordnet sind. Bei den userAssignedIdentities-Wörterbuchschlüsseln handelt es sich um ARM-Ressourcen-IDs im Format :/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Die Wörterbuchwerte können leere Objekte ({}) in Anforderungen sein. | UserAssignedIdentities |
UserAssignedIdentities
Name | BESCHREIBUNG | Wert |
---|---|---|
{angepasste Eigenschaft} | UserAssignedIdentity |
UserAssignedIdentity
Dieses Objekt enthält keine Eigenschaften, die während der Bereitstellung festgelegt werden sollen. Alle Eigenschaften sind ReadOnly.
ContainerAppProperties
Name | BESCHREIBUNG | Wert |
---|---|---|
Konfiguration | Konfigurationseigenschaften für Container-Apps ohne Versionsangabe. | Configuration |
environmentId | Ressourcen-ID der Umgebung. | Zeichenfolge |
managedEnvironmentId | Veraltet. Ressourcen-ID der Umgebung der Container-App. | Zeichenfolge |
Vorlage | Anwendungsdefinition der Container-App mit Versionsangabe. | Vorlage |
workloadProfileName | Workloadprofilname, der für die Ausführung der Container-App angeheften werden soll. | Zeichenfolge |
Konfiguration
Name | BESCHREIBUNG | Wert |
---|---|---|
activeRevisionsMode | ActiveRevisionsMode steuert, wie aktive Revisionen für die Container-App behandelt werden: {list} {item} Mehrfach: Mehrere Revisionen können aktiv sein. {/item} {item} Single: Es kann jeweils nur eine Revision aktiv sein. Revisionsgewichtungen können in diesem Modus nicht verwendet werden. Wenn kein Wert angegeben wird, ist dies der Standardwert. {/item} {/list} |
"Multiple" "Single" |
dapr | Dapr-Konfiguration für die Container-App. | Dapr |
Eindringen | Eingangskonfigurationen. | Eingehend |
maxInactiveRevisions | Optional. Max. inaktive Revisionen, die eine Container-App haben kann. | INT |
registries | Sammlung von Anmeldeinformationen für die private Containerregistrierung für Container, die von der Container-App verwendet werden | RegistryCredentials[] |
secrets | Sammlung von Geheimnissen, die von einer Container-App verwendet werden | Geheimnis[] |
Dienst | Container-App als Entwicklungscontainer-App Service | Service |
Dapr
Name | BESCHREIBUNG | Wert |
---|---|---|
appId | Dapr-Anwendungsbezeichner | Zeichenfolge |
appPort | Teilt Dapr mit, an welchem Port Ihre Anwendung lauscht. | INT |
appProtocol | Teilt Dapr mit, welches Protokoll Ihre Anwendung verwendet. Gültige Optionen sind http und grpc. Der Standardwert ist http. | "grpc" "http" |
enableApiLogging | Aktiviert die API-Protokollierung für das Dapr-Sidecar | bool |
enabled | Boolescher Wert, der angibt, ob das Dapr-Seitenfahrzeug aktiviert ist | bool |
httpMaxRequestSize | Erhöhen der maximalen Größe des Http- und grpc-Serverparameters für den Anforderungstext in MB, um das Hochladen großer Dateien zu verarbeiten. Der Standardwert ist 4 MB. | INT |
httpReadBufferSize | Dapr maximale Größe des HTTP-Headerlesepuffers in KB, der beim Senden von Multi-KB-Headern behandelt werden soll. Der Standardwert ist 65 KB. | INT |
logLevel | Legt die Protokollebene für das Dapr-Sidecar fest. Zulässige Werte sind debug, info, warn, error. Der Standardwert ist info. | "Debuggen" "Fehler" "Info" "warnen" |
Eingehende Daten
Name | BESCHREIBUNG | Wert |
---|---|---|
additionalPortMappings | Einstellungen zum Verfügbarmachen zusätzlicher Ports in der Container-App | IngressPortMapping[] |
allowInsecure | Bool, der angibt, ob HTTP-Verbindungen mit zulässig sind. Wenn auf "False" festgelegt ist, werden HTTP-Verbindungen automatisch an HTTPS-Verbindungen umgeleitet. | bool |
clientCertificateMode | Clientzertifikatmodus für die mTLS-Authentifizierung. Ignore gibt an, dass der Server das Clientzertifikat bei der Weiterleitung löscht. Accept gibt an, dass der Server das Clientzertifikat weiterleitet, aber kein Clientzertifikat erfordert. Erforderlich gibt an, dass der Server ein Clientzertifikat erfordert. | "Akzeptieren" "ignorieren" "erforderlich" |
corsPolicy | CORS-Richtlinie für Container-App | CorsPolicy |
customDomains | benutzerdefinierte Domänenbindungen für Container Apps-Hostnamen. | CustomDomain[] |
exposedPort | Verfügbar gemachter Port in Containern für TCP-Datenverkehr aus eingehendem Datenverkehr | INT |
external | Bool, der angibt, ob die App einen externen HTTP-Endpunkt verfügbar macht | bool |
ipSecurityRestrictions | Regeln zum Einschränken eingehender IP-Adressen. | IpSecurityRestrictionRule[] |
stickySessions | Kurzsitzungen für den einzelnen Revisionsmodus | IngressStickySessions |
targetPort | Zielport in Containern für Eingehenden Datenverkehr | INT |
targetPortHttpScheme | Ob eine HTTP-App auf HTTP oder HTTPS lauscht | "http" "https" |
traffic | Datenverkehrsgewichtung für App-Revisionen | TrafficWeight[] |
Transport | Protokoll für eingehenden Transport | "auto" "http" "http2" "tcp" |
IngressPortMapping
Name | BESCHREIBUNG | Wert |
---|---|---|
exposedPort | Gibt den verfügbar gemachten Port für den Zielport an. Wenn nicht angegeben, wird standardmäßig der Zielport verwendet. | INT |
external | Gibt an, ob auf den App-Port außerhalb der Umgebung zugegriffen werden kann. | bool (erforderlich) |
targetPort | Gibt an, dass der Container des Portbenutzers lauscht. | int (erforderlich) |
CorsPolicy
Name | BESCHREIBUNG | Wert |
---|---|---|
allowCredentials | Gibt an, ob die Ressource Anmeldeinformationen zulässt. | bool |
allowedHeaders | Gibt den Inhalt für den Header access-control-allow-headers an. | string[] |
allowedMethods | Gibt den Inhalt für den Header access-control-allow-methods an. | string[] |
allowedOrigins | Gibt den Inhalt für den Header access-control-allow-origins an. | string[] (erforderlich) |
exposeHeaders | Gibt den Inhalt für den Header access-control-expose-headers an. | string[] |
maxAge | Gibt den Inhalt für den Access-Control-max-age-Header an. | INT |
CustomDomain
Name | BESCHREIBUNG | Wert |
---|---|---|
Bindingtype | Custom Domain Bindungstyp. | "Deaktiviert" 'SniEnabled' |
certificateId | Ressourcen-ID des Zertifikats, das an diesen Hostnamen gebunden werden soll. Muss in der verwalteten Umgebung vorhanden sein. | Zeichenfolge |
name | Hostname. | Zeichenfolge (erforderlich) |
IpSecurityRestrictionRule
Name | BESCHREIBUNG | Wert |
---|---|---|
action | Regeln zulassen oder verweigern, um für eingehende IP-Adressen zu bestimmen. Hinweis: Regeln können nur aus ALL Allow oder ALL Deny bestehen. | "Zulassen" "Verweigern" (erforderlich) |
description | Beschreiben sie die IP-Einschränkungsregel, die an die container-app gesendet wird. Dies ist ein optionales Feld. | Zeichenfolge |
ipAddressRange | CIDR-Notation zur Übereinstimmung mit eingehender IP-Adresse | Zeichenfolge (erforderlich) |
name | Name für die IP-Einschränkungsregel. | Zeichenfolge (erforderlich) |
IngressStickySessions
Name | BESCHREIBUNG | Wert |
---|---|---|
affinity | Affinität zu klebrigen Sitzungen | "keine" "klebrig" |
TrafficWeight
Name | BESCHREIBUNG | Wert |
---|---|---|
label | Ordnet eine Verkehrsbezeichnung einer Revision zu | Zeichenfolge |
latestRevision | Gibt an, dass die Datenverkehrsgewichtung zu einer aktuellen stabilen Revision gehört. | bool |
revisionName | Name einer Revision | Zeichenfolge |
weight | Einer Revision zugewiesene Verkehrsgewichtung | INT |
RegistryCredentials
Name | BESCHREIBUNG | Wert |
---|---|---|
Identität | Eine verwaltete Identität, die zur Authentifizierung bei Azure Container Registry verwendet werden soll. Verwenden Sie für benutzerseitig zugewiesene Identitäten die vollständige benutzerseitig zugewiesene Identitätsressourcen-ID. Verwenden Sie für systemseitig zugewiesene Identitäten "system" | Zeichenfolge |
passwordSecretRef | Der Name des Geheimnisses, das das Anmeldekennwort für die Registrierung enthält | Zeichenfolge |
server | ContainerRegistrierungsserver | Zeichenfolge |
username | Benutzername für Containerregistrierung | Zeichenfolge |
`Secret`
Name | BESCHREIBUNG | Wert |
---|---|---|
Identität | Ressourcen-ID einer verwalteten Identität zur Authentifizierung bei Azure Key Vault oder System zur Verwendung einer systemseitig zugewiesenen Identität. | Zeichenfolge |
keyVaultUrl | Azure Key Vault-URL, die auf das Geheimnis verweist, auf das die Container-App verweist. | Zeichenfolge |
name | Geheimer Name. | Zeichenfolge |
value | Geheimer Wert. | Zeichenfolge Einschränkungen: Vertraulicher Wert. Übergeben Sie als sicheren Parameter. |
Dienst
Name | BESCHREIBUNG | Wert |
---|---|---|
type | Dev ContainerApp-Diensttyp | Zeichenfolge (erforderlich) |
Vorlage
Name | BESCHREIBUNG | Wert |
---|---|---|
containers | Liste der Containerdefinitionen für die Container-App. | Container[] |
initContainers | Liste der spezialisierten Container, die vor App-Containern ausgeführt werden. | InitContainer[] |
revisionSuffix | Benutzerfreundliches Suffix, das an den Revisionsnamen angefügt wird | Zeichenfolge |
Skalierung | Skalierungseigenschaften für die Container-App. | Skalieren |
serviceBinds | Liste der an die App gebundenen Container-App-Dienste | ServiceBind[] |
terminationGracePeriodSeconds | Optionale Dauer in Sekunden, die die Container-App-Instanz ordnungsgemäß beenden muss. Der Wert muss eine nicht negative ganze Zahl sein. Der Wert 0 gibt an, dass sofort über das Kill-Signal angehalten wird (keine Möglichkeit zum Herunterfahren). Wenn dieser Wert gleich null ist, wird stattdessen der standardmäßige Nachfristzeitraum verwendet. Legen Sie für diesen Wert eine längere Zeit als die erwartete Bereinigungszeit für Ihren Prozess fest. Der Standardwert beträgt 30 Sekunden. | INT |
volumes | Liste der Volumedefinitionen für die Container-App. | Volume[] |
Container
Name | BESCHREIBUNG | Wert |
---|---|---|
args | Container start-Befehlsargumente. | string[] |
command | Containerstartbefehl. | string[] |
env | Containerumgebungsvariablen. | EnvironmentVar[] |
image | Containerimagetag. | Zeichenfolge |
name | Benutzerdefinierter Containername. | Zeichenfolge |
probes | Liste der Tests für den Container. | ContainerAppProbe[] |
ressourcen | Anforderungen an Containerressourcen. | ContainerResources |
volumeMounts | Containervolumemounts werden bereitgestellt. | VolumeMount[] |
EnvironmentVar
Name | BESCHREIBUNG | Wert |
---|---|---|
name | Umgebungsvariablenname. | Zeichenfolge |
secretRef | Name des Geheimen Container-App-Geheimnisses, aus dem der Wert der Umgebungsvariablen abgerufen werden soll. | Zeichenfolge |
value | Nicht geheimer Umgebungsvariablenwert. | Zeichenfolge |
ContainerAppProbe
Name | BESCHREIBUNG | Wert |
---|---|---|
failureThreshold | Minimale aufeinanderfolgende Fehler für den Test, der nach dem Erfolgreichen als fehlgeschlagen gilt. Der Standardwert ist 3. Der Mindestwert ist 1. Der maximale Wert ist 10. | INT |
httpGet | HTTPGet gibt die auszuführende HTTP-Anforderung an. | ContainerAppProbeHttpGet |
initialDelaySeconds | Die Anzahl der Sekunden, die nach dem Start des Containers vergehen, bevor Livetests initiiert werden. Der Mindestwert ist 1. Der Maximalwert ist 60. | INT |
periodSeconds | Gibt an, wie häufig (in Sekunden) ein Test durchgeführt werden soll. Der Standardwert ist 10 Sekunden. Der Mindestwert ist 1. Der Maximalwert ist 240. | INT |
successThreshold | Minimale aufeinanderfolgende Erfolge, damit der Test nach einem Fehler als erfolgreich betrachtet wird. Der Standardwert lautet 1. Muss 1 für Liveness und Start sein. Der Mindestwert ist 1. Der maximale Wert ist 10. | INT |
tcpSocket | TCPSocket gibt eine Aktion an, die einen TCP-Port umfasst. TCP-Hooks werden noch nicht unterstützt. | ContainerAppProbeTcpSocket |
terminationGracePeriodSeconds | Optionale Dauer in Sekunden, die der Pod bei einem Testfehler ordnungsgemäß beenden muss. Die Nachfrist ist die Dauer in Sekunden, nachdem die im Pod ausgeführten Prozesse ein Beendigungssignal gesendet haben, und der Zeitpunkt, zu dem die Prozesse mit einem Kill-Signal gewaltsam angehalten werden. Legen Sie für diesen Wert eine längere Zeit als die erwartete Bereinigungszeit für Ihren Prozess fest. Wenn dieser Wert null ist, wird die terminGracePeriodSeconds des Pods verwendet. Andernfalls überschreibt dieser Wert den von der Podspezifikation bereitgestellten Wert. Der Wert muss eine nicht negative ganze Zahl sein. Der Wert 0 gibt an, dass sofort über das Kill-Signal angehalten wird (keine Möglichkeit zum Herunterfahren). Dies ist ein Alphafeld und erfordert die Aktivierung des Featuregates "ProbeTerminationGracePeriod". Maximaler Wert ist 3600 Sekunden (1 Stunde) | INT |
timeoutSeconds | Anzahl der Sekunden, nach denen der Test ein Zeitüberschreitungsintervall aufweist. Der Standardwert ist 1 Sekunde. Der Mindestwert ist 1. Der Maximalwert ist 240. | INT |
Typ | Der Typ des Tests. | "Leben" "Bereitschaft" "Start" |
ContainerAppProbeHttpGet
Name | BESCHREIBUNG | Wert |
---|---|---|
host | Hostname, mit dem eine Verbindung hergestellt werden soll, ist standardmäßig die Pod-IP-Adresse. Sie möchten wahrscheinlich stattdessen "Host" in httpHeaders festlegen. | Zeichenfolge |
httpHeaders | Benutzerdefinierte Header, die in der Anforderung festgelegt werden sollen. HTTP lässt wiederholte Header zu. | ContainerAppProbeHttpGetHttpHeadersItem[] |
path | Pfad zum Zugriff auf den HTTP-Server. | Zeichenfolge |
port | Name oder Nummer des Ports, auf den für den Container zugegriffen werden soll. Die Zahl muss im Bereich 1 bis 65535 liegen. Name muss ein IANA_SVC_NAME sein. | int (erforderlich) |
scheme | Schema, das zum Herstellen einer Verbindung mit dem Host verwendet werden soll. Der Standardwert ist HTTP. | "HTTP" "HTTPS" |
ContainerAppProbeHttpGetHttpHeadersItem
Name | BESCHREIBUNG | Wert |
---|---|---|
name | Der Name des Kopfzeilenfelds | Zeichenfolge (erforderlich) |
value | Der Wert des Headerfelds | Zeichenfolge (erforderlich) |
ContainerAppProbeTcpSocket
Name | BESCHREIBUNG | Wert |
---|---|---|
host | Optional: Hostname, mit dem eine Verbindung hergestellt werden soll, ist standardmäßig die Pod-IP-Adresse. | Zeichenfolge |
port | Nummer oder Name des Ports, auf den auf den Container zugegriffen werden soll. Die Zahl muss im Bereich 1 bis 65535 liegen. Name muss ein IANA_SVC_NAME sein. | int (erforderlich) |
ContainerResources
Name | BESCHREIBUNG | Wert |
---|---|---|
cpu | Erforderliche CPU in Kernen, z. B. 0.5 Um einen Dezimalwert anzugeben, verwenden Sie die Json()- Funktion. | int oder json dezimal |
Arbeitsspeicher | Erforderlicher Arbeitsspeicher, z. B. "250MB" | Zeichenfolge |
VolumeMount
Name | BESCHREIBUNG | Wert |
---|---|---|
mountPath | Pfad innerhalb des Containers, an dem das Volume eingebunden werden soll. Darf nicht ":" enthalten. | Zeichenfolge |
Untergeordnete | Pfad innerhalb des Volumes, von dem das Volume des Containers eingebunden werden soll. Standardmäßig ist "" (Stammverzeichnis des Volumes). | Zeichenfolge |
volumeName | Dies muss mit dem Namen eines Volumes übereinstimmen. | Zeichenfolge |
InitContainer
Name | BESCHREIBUNG | Wert |
---|---|---|
args | Container start-Befehlsargumente. | string[] |
command | Containerstartbefehl. | string[] |
env | Containerumgebungsvariablen. | EnvironmentVar[] |
image | Containerimagetag. | Zeichenfolge |
name | Benutzerdefinierter Containername. | Zeichenfolge |
ressourcen | Anforderungen an Containerressourcen. | ContainerResources |
volumeMounts | Containervolumemounts werden bereitgestellt. | VolumeMount[] |
Skalieren
Name | BESCHREIBUNG | Wert |
---|---|---|
maxReplicas | Optional. Maximale Anzahl von Containerreplikaten. Standardwert ist 10, wenn nicht festgelegt. | INT |
minReplicas | Optional. Mindestanzahl von Containerreplikaten. | INT |
rules | Skalierungsregeln. | ScaleRule[] |
ScaleRule
Name | BESCHREIBUNG | Wert |
---|---|---|
azureQueue | Azure Queue-basierte Skalierung. | QueueScaleRule |
custom | Benutzerdefinierte Skalierungsregel. | CustomScaleRule |
http | AUF HTTP-Anforderungen basierende Skalierung. | HttpScaleRule |
name | Name der Skalierungsregel | Zeichenfolge |
tcp | Tcp-Anforderungen basierende Skalierung. | TcpScaleRule |
QueueScaleRule
Name | BESCHREIBUNG | Wert |
---|---|---|
auth | Authentifizierungsgeheimnisse für die Warteschlangenskalierungsregel. | ScaleRuleAuth[] |
queueLength | Warteschlangenlänge. | INT |
queueName | Warteschlangenname. | Zeichenfolge |
ScaleRuleAuth
Name | BESCHREIBUNG | Wert |
---|---|---|
secretRef | Name des Geheimnisses, aus dem die Authentifizierungsparameter abgerufen werden sollen. | Zeichenfolge |
triggerParameter | Triggerparameter, der das Geheimnis verwendet | Zeichenfolge |
CustomScaleRule
Name | BESCHREIBUNG | Wert |
---|---|---|
auth | Authentifizierungsgeheimnisse für die benutzerdefinierte Skalierungsregel. | ScaleRuleAuth[] |
metadata | Metadateneigenschaften zum Beschreiben einer benutzerdefinierten Skalierungsregel. | CustomScaleRuleMetadata |
Typ | Typ der benutzerdefinierten Skalierungsregel z. B. azure-servicebus, redis etc. |
Zeichenfolge |
CustomScaleRuleMetadata
Name | BESCHREIBUNG | Wert |
---|---|---|
{angepasste Eigenschaft} | Zeichenfolge |
HttpScaleRule
Name | BESCHREIBUNG | Wert |
---|---|---|
auth | Authentifizierungsgeheimnisse für die benutzerdefinierte Skalierungsregel. | ScaleRuleAuth[] |
metadata | Metadateneigenschaften zur Beschreibung der HTTP-Skalierungsregel. | HttpScaleRuleMetadata |
HttpScaleRuleMetadata
Name | BESCHREIBUNG | Wert |
---|---|---|
{angepasste Eigenschaft} | Zeichenfolge |
TcpScaleRule
Name | BESCHREIBUNG | Wert |
---|---|---|
auth | Authentifizierungsgeheimnisse für die TCP-Skalierungsregel. | ScaleRuleAuth[] |
metadata | Metadateneigenschaften zum Beschreiben der TCP-Skalierungsregel. | TcpScaleRuleMetadaten |
TcpScaleRuleMetadaten
Name | BESCHREIBUNG | Wert |
---|---|---|
{angepasste Eigenschaft} | Zeichenfolge |
ServiceBind
Name | BESCHREIBUNG | Wert |
---|---|---|
clientType | Typ des Clients, der zum Herstellen einer Verbindung mit dem Dienst verwendet werden soll | Zeichenfolge |
customizedKeys | Angepasste Schlüssel zum Anpassen eingefügter Werte an die App | ServiceBindCustomizedKeys |
name | Name der Dienstbindung | Zeichenfolge |
serviceId | Ressourcen-ID des Zieldiensts | Zeichenfolge |
ServiceBindCustomizedKeys
Name | BESCHREIBUNG | Wert |
---|---|---|
{angepasste Eigenschaft} | Zeichenfolge |
Volume
Name | BESCHREIBUNG | Wert |
---|---|---|
mountOptions | Einbindungsoptionen, die beim Einbinden der Azure-Dateifreigabe oder NFS-Azure-Dateifreigabe verwendet werden. Muss eine durch Trennzeichen getrennte Zeichenfolge sein. | Zeichenfolge |
name | Volumename. | Zeichenfolge |
secrets | Liste der Geheimnisse, die dem Volume hinzugefügt werden sollen. Wenn keine Geheimnisse bereitgestellt werden, werden alle Geheimnisse in der Sammlung dem Volume hinzugefügt. | SecretVolumeItem[] |
storageName | Name der Speicherressource. Es ist nicht erforderlich, emptyDir und Secret anzugeben. | Zeichenfolge |
Speichertyp | Speichertyp für das Volume. Wenn nicht angegeben, verwenden Sie EmptyDir. | "AzureFile" 'EmptyDir' 'NfsAzureFile' "Geheimnis" |
SecretVolumeItem
Name | BESCHREIBUNG | Wert |
---|---|---|
path | Pfad zum Projektgeheimnis. Wenn kein Pfad angegeben wird, wird der Pfad standardmäßig auf den Namen des in secretRef aufgeführten Geheimnisses festgelegt. | Zeichenfolge |
secretRef | Name des geheimen Container-App-Geheimnisses, aus dem der Geheimniswert abgerufen werden soll. | Zeichenfolge |
Schnellstartvorlagen
In den folgenden Schnellstartvorlagen wird dieser Ressourcentyp bereitgestellt.
Vorlage | BESCHREIBUNG |
---|---|
Erstellt eine Container-App und eine Umgebung mit Registrierung. |
Erstellen Sie eine Container-App-Umgebung mit einer einfachen Container-App aus einer Azure Container Registry. Außerdem wird ein Log Analytics-Arbeitsbereich zum Speichern von Protokollen bereitgestellt. |
Erstellt eine Zwei-Container-App mit einer Container-App-Umgebung |
Erstellen Sie eine Umgebung mit zwei Container-Apps mit einer einfachen Container-App. Außerdem wird ein Log Analytics-Arbeitsbereich zum Speichern von Protokollen bereitgestellt. |
Erstellt eine Container-App in einer Container-App-Umgebung |
Erstellen Sie eine Container-App-Umgebung mit einer einfachen Container-App. Außerdem wird ein Log Analytics-Arbeitsbereich zum Speichern von Protokollen bereitgestellt. |
Erstellt eine Container-App mit einer definierten HTTP-Skalierungsregel |
Erstellen Sie eine Container-App-Umgebung mit einer einfachen Container-App, die basierend auf HTTP-Datenverkehr skaliert wird. |
Erstellt eine externe Container-App-Umgebung mit einem VNET |
Erstellt eine externe Container-App-Umgebung mit einem VNET. |
Erstellt eine interne Container-App-Umgebung mit einem VNET |
Erstellt eine interne Container-App-Umgebung mit einem VNET. |
Terraform-Ressourcendefinition (AzAPI-Anbieter)
Der Ressourcentyp containerApps kann mit Vorgängen bereitgestellt werden, die auf Folgendes abzielen:
- Ressourcengruppen
Eine Liste der geänderten Eigenschaften in jeder API-Version finden Sie im Änderungsprotokoll.
Ressourcenformat
Um eine Microsoft.App/containerApps-Ressource zu erstellen, fügen Sie der Vorlage den folgenden Terraform hinzu.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.App/containerApps@2023-11-02-preview"
name = "string"
location = "string"
parent_id = "string"
tags = {
tagName1 = "tagValue1"
tagName2 = "tagValue2"
}
identity {
type = "string"
identity_ids = []
}
body = jsonencode({
properties = {
configuration = {
activeRevisionsMode = "string"
dapr = {
appId = "string"
appPort = int
appProtocol = "string"
enableApiLogging = bool
enabled = bool
httpMaxRequestSize = int
httpReadBufferSize = int
logLevel = "string"
}
ingress = {
additionalPortMappings = [
{
exposedPort = int
external = bool
targetPort = int
}
]
allowInsecure = bool
clientCertificateMode = "string"
corsPolicy = {
allowCredentials = bool
allowedHeaders = [
"string"
]
allowedMethods = [
"string"
]
allowedOrigins = [
"string"
]
exposeHeaders = [
"string"
]
maxAge = int
}
customDomains = [
{
bindingType = "string"
certificateId = "string"
name = "string"
}
]
exposedPort = int
external = bool
ipSecurityRestrictions = [
{
action = "string"
description = "string"
ipAddressRange = "string"
name = "string"
}
]
stickySessions = {
affinity = "string"
}
targetPort = int
targetPortHttpScheme = "string"
traffic = [
{
label = "string"
latestRevision = bool
revisionName = "string"
weight = int
}
]
transport = "string"
}
maxInactiveRevisions = int
registries = [
{
identity = "string"
passwordSecretRef = "string"
server = "string"
username = "string"
}
]
secrets = [
{
identity = "string"
keyVaultUrl = "string"
name = "string"
value = "string"
}
]
service = {
type = "string"
}
}
environmentId = "string"
managedEnvironmentId = "string"
template = {
containers = [
{
args = [
"string"
]
command = [
"string"
]
env = [
{
name = "string"
secretRef = "string"
value = "string"
}
]
image = "string"
name = "string"
probes = [
{
failureThreshold = int
httpGet = {
host = "string"
httpHeaders = [
{
name = "string"
value = "string"
}
]
path = "string"
port = int
scheme = "string"
}
initialDelaySeconds = int
periodSeconds = int
successThreshold = int
tcpSocket = {
host = "string"
port = int
}
terminationGracePeriodSeconds = int
timeoutSeconds = int
type = "string"
}
]
resources = {
cpu = "decimal-as-string"
memory = "string"
}
volumeMounts = [
{
mountPath = "string"
subPath = "string"
volumeName = "string"
}
]
}
]
initContainers = [
{
args = [
"string"
]
command = [
"string"
]
env = [
{
name = "string"
secretRef = "string"
value = "string"
}
]
image = "string"
name = "string"
resources = {
cpu = "decimal-as-string"
memory = "string"
}
volumeMounts = [
{
mountPath = "string"
subPath = "string"
volumeName = "string"
}
]
}
]
revisionSuffix = "string"
scale = {
maxReplicas = int
minReplicas = int
rules = [
{
azureQueue = {
auth = [
{
secretRef = "string"
triggerParameter = "string"
}
]
queueLength = int
queueName = "string"
}
custom = {
auth = [
{
secretRef = "string"
triggerParameter = "string"
}
]
metadata = {
{customized property} = "string"
}
type = "string"
}
http = {
auth = [
{
secretRef = "string"
triggerParameter = "string"
}
]
metadata = {
{customized property} = "string"
}
}
name = "string"
tcp = {
auth = [
{
secretRef = "string"
triggerParameter = "string"
}
]
metadata = {
{customized property} = "string"
}
}
}
]
}
serviceBinds = [
{
clientType = "string"
customizedKeys = {
{customized property} = "string"
}
name = "string"
serviceId = "string"
}
]
terminationGracePeriodSeconds = int
volumes = [
{
mountOptions = "string"
name = "string"
secrets = [
{
path = "string"
secretRef = "string"
}
]
storageName = "string"
storageType = "string"
}
]
}
workloadProfileName = "string"
}
extendedLocation = {
name = "string"
type = "CustomLocation"
}
managedBy = "string"
})
}
Eigenschaftswerte
containerApps
Name | BESCHREIBUNG | Wert |
---|---|---|
type | Der Ressourcentyp | "Microsoft.App/containerApps@2023-11-02-preview" |
name | Der Ressourcenname | Zeichenfolge (erforderlich) Zeichenlimit: 2-32 Gültige Zeichen: Kleinbuchstaben, Zahlen und Bindestriche.. Muss mit einem Buchstaben beginnen und mit einem alphanumerischen Zeichen enden. |
location | Der geografische Standort, an dem sich die Ressource befindet | Zeichenfolge (erforderlich) |
parent_id | Verwenden Sie zum Bereitstellen in einer Ressourcengruppe die ID dieser Ressourcengruppe. | Zeichenfolge (erforderlich) |
tags | Ressourcentags. | Wörterbuch der Tagnamen und -werte. |
extendedLocation | Der komplexe Typ des erweiterten Standorts. | ExtendedLocation |
Identität | Verwaltete Identitäten für die Container-App, um mit anderen Azure-Diensten zu interagieren, ohne Geheimnisse oder Anmeldeinformationen im Code beizubehalten. | ManagedServiceIdentity |
managedBy | Die vollqualifizierte Ressourcen-ID der Ressource, die diese Ressource verwaltet. Gibt an, ob diese Ressource von einer anderen Azure-Ressource verwaltet wird. Wenn dies vorhanden ist, löscht die Bereitstellung im vollständigen Modus die Ressource nicht, wenn sie aus der Vorlage entfernt wird, da sie von einer anderen Ressource verwaltet wird. | Zeichenfolge |
properties | Ressourcenspezifische Eigenschaften für ContainerApp | ContainerAppProperties |
ExtendedLocation
Name | BESCHREIBUNG | Wert |
---|---|---|
name | Der Name des erweiterten Speicherorts. | Zeichenfolge |
type | Der Typ des erweiterten Speicherorts. | "CustomLocation" |
ManagedServiceIdentity
Name | BESCHREIBUNG | Wert |
---|---|---|
type | Typ der verwalteten Dienstidentität (wobei sowohl systemAssigned- als auch UserAssigned-Typen zulässig sind). | "SystemAssigned" "SystemAssigned,UserAssigned" "UserAssigned" (erforderlich) |
identity_ids | Die Gruppe der benutzerseitig zugewiesenen Identitäten, die der Ressource zugeordnet sind. Bei den UserAssignedIdentities-Wörterbuchschlüsseln handelt es sich um ARM-Ressourcen-IDs in der Form : '/subscriptions/{subscriptionId}/resourceGroupGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Die Wörterbuchwerte können leere Objekte ({}) in Anforderungen sein. | Array von Benutzeridentitäts-IDs. |
UserAssignedIdentities
Name | BESCHREIBUNG | Wert |
---|---|---|
{angepasste Eigenschaft} | UserAssignedIdentity |
UserAssignedIdentity
Dieses Objekt enthält keine Eigenschaften, die während der Bereitstellung festgelegt werden sollen. Alle Eigenschaften sind ReadOnly.
ContainerAppProperties
Name | BESCHREIBUNG | Wert |
---|---|---|
Konfiguration | Konfigurationseigenschaften der Container-App ohne Version. | Configuration |
environmentId | Ressourcen-ID der Umgebung. | Zeichenfolge |
managedEnvironmentId | Veraltet. Ressourcen-ID der Umgebung der Container-App. | Zeichenfolge |
Vorlage | Anwendungsdefinition der Container-App mit Version. | Vorlage |
workloadProfileName | Workloadprofilname, der für die Ausführung der Container-App angeheftt werden soll. | Zeichenfolge |
Konfiguration
Name | BESCHREIBUNG | Wert |
---|---|---|
activeRevisionsMode | ActiveRevisionsMode steuert, wie aktive Revisionen für die Container-App behandelt werden: {list} {item} Mehrfach: Mehrere Revisionen können aktiv sein. {/item} {item} Single: Nur eine Revision kann gleichzeitig aktiv sein. Revisionsgewichte können in diesem Modus nicht verwendet werden. Wenn kein Wert angegeben ist, ist dies der Standardwert. {/item} {/list} |
"Mehrfach" "Single" |
dapr | Dapr-Konfiguration für die Container-App. | Dapr |
Eindringen | Eingangskonfigurationen. | Eingehend |
maxInactiveRevisions | Optional. Die maximale Anzahl inaktiver Revisionen, die eine Container-App aufweisen kann. | INT |
registries | Sammlung von Anmeldeinformationen für die private Containerregistrierung für Container, die von der Container-App verwendet werden | RegistryCredentials[] |
secrets | Sammlung von Geheimnissen, die von einer Container-App verwendet werden | Geheimnis[] |
Dienst | Container-App als Dev-Container-App Service | Service |
Dapr
Name | BESCHREIBUNG | Wert |
---|---|---|
appId | Dapr-Anwendungsbezeichner | Zeichenfolge |
appPort | Teilt Dapr mit, an welchem Port Ihre Anwendung lauscht | INT |
appProtocol | Teilt Dapr mit, welches Protokoll Ihre Anwendung verwendet. Gültige Optionen sind http und grpc. Der Standardwert ist http. | "grpc" "http" |
enableApiLogging | Aktiviert die API-Protokollierung für das Dapr-Sidecar | bool |
enabled | Boolescher Wert, der angibt, ob das Dapr-Seitenfahrzeug aktiviert ist | bool |
httpMaxRequestSize | Erhöhen der maximalen Größe des Http- und grpc-Serverparameters für den Anforderungstext in MB, um das Hochladen großer Dateien zu verarbeiten. Der Standardwert ist 4 MB. | INT |
httpReadBufferSize | Dapr maximale Größe des HTTP-Headerlesepuffers in KB, der beim Senden von Multi-KB-Headern behandelt werden soll. Der Standardwert ist 65 KB. | INT |
logLevel | Legt die Protokollebene für das Dapr-Sidecar fest. Zulässige Werte sind debug, info, warn, error. Der Standardwert ist info. | "debuggen" "Fehler" "Info" "warnen" |
Eingehende Daten
Name | BESCHREIBUNG | Wert |
---|---|---|
additionalPortMappings | Einstellungen zum Verfügbarmachen zusätzlicher Ports in der Container-App | IngressPortMapping[] |
allowInsecure | Bool, der angibt, ob HTTP-Verbindungen mit zulässig sind. Wenn auf "False" festgelegt ist, werden HTTP-Verbindungen automatisch an HTTPS-Verbindungen umgeleitet. | bool |
clientCertificateMode | Clientzertifikatmodus für die mTLS-Authentifizierung. Ignore gibt an, dass der Server das Clientzertifikat bei der Weiterleitung löscht. Accept gibt an, dass der Server das Clientzertifikat weiterleitet, aber kein Clientzertifikat erfordert. Erforderlich gibt an, dass der Server ein Clientzertifikat erfordert. | "Akzeptieren" "ignorieren" "erforderlich" |
corsPolicy | CORS-Richtlinie für Container-App | CorsPolicy |
customDomains | benutzerdefinierte Domänenbindungen für Container Apps-Hostnamen. | CustomDomain[] |
exposedPort | Verfügbar gemachter Port in Containern für TCP-Datenverkehr aus eingehendem Datenverkehr | INT |
external | Bool, der angibt, ob die App einen externen HTTP-Endpunkt verfügbar macht | bool |
ipSecurityRestrictions | Regeln zum Einschränken eingehender IP-Adressen. | IpSecurityRestrictionRule[] |
stickySessions | Kurzsitzungen für den einzelnen Revisionsmodus | IngressStickySessions |
targetPort | Zielport in Containern für Eingehenden Datenverkehr | INT |
targetPortHttpScheme | Ob eine HTTP-App auf HTTP oder HTTPS lauscht | "http" "https" |
traffic | Datenverkehrsgewichtung für App-Revisionen | TrafficWeight[] |
Transport | Protokoll für eingehenden Transport | "auto" "http" "http2" "tcp" |
IngressPortMapping
Name | BESCHREIBUNG | Wert |
---|---|---|
exposedPort | Gibt den verfügbar gemachten Port für den Zielport an. Wenn nicht angegeben, wird standardmäßig der Zielport verwendet. | INT |
external | Gibt an, ob auf den App-Port außerhalb der Umgebung zugegriffen werden kann. | bool (erforderlich) |
targetPort | Gibt an, an ob der Container des Portbenutzers lauscht. | int (erforderlich) |
CorsPolicy
Name | BESCHREIBUNG | Wert |
---|---|---|
allowCredentials | Gibt an, ob die Ressource Anmeldeinformationen zulässt. | bool |
allowedHeaders | Gibt den Inhalt für den Header access-control-allow-headers an. | string[] |
allowedMethods | Gibt den Inhalt für den Access-Control-allow-methods-Header an. | string[] |
allowedOrigins | Gibt den Inhalt für den Header access-control-allow-origins an. | string[] (erforderlich) |
exposeHeaders | Gibt den Inhalt für den access-control-expose-headers-Header an. | string[] |
maxAge | Gibt den Inhalt für den access-control-max-age-Header an. | INT |
CustomDomain
Name | BESCHREIBUNG | Wert |
---|---|---|
Bindingtype | Custom Domain Bindungstyp. | "Deaktiviert" "SniEnabled" |
certificateId | Ressourcen-ID des Zertifikats, das an diesen Hostnamen gebunden werden soll. Muss in der verwalteten Umgebung vorhanden sein. | Zeichenfolge |
name | Hostname. | Zeichenfolge (erforderlich) |
IpSecurityRestrictionRule
Name | BESCHREIBUNG | Wert |
---|---|---|
action | Regeln zulassen oder verweigern, um für eingehende IP-Adressen zu bestimmen. Hinweis: Regeln können nur aus ALL Allow oder ALL Deny bestehen. | "Zulassen" "Verweigern" (erforderlich) |
description | Beschreiben sie die IP-Einschränkungsregel, die an die container-app gesendet wird. Dies ist ein optionales Feld. | Zeichenfolge |
ipAddressRange | CIDR-Notation zur Übereinstimmung mit eingehender IP-Adresse | Zeichenfolge (erforderlich) |
name | Name für die IP-Einschränkungsregel. | Zeichenfolge (erforderlich) |
IngressStickySessions
Name | BESCHREIBUNG | Wert |
---|---|---|
affinity | Affinität zwischen Sticky-Sitzungen | "keine" "sticky" |
TrafficWeight
Name | BESCHREIBUNG | Wert |
---|---|---|
label | Ordnet eine Datenverkehrsbezeichnung einer Revision zu | Zeichenfolge |
latestRevision | Gibt an, dass die Datenverkehrsgewichtung zu einer aktuellen stabilen Revision gehört. | bool |
revisionName | Name einer Revision | Zeichenfolge |
weight | Einer Revision zugewiesene Datenverkehrsgewichtung | INT |
RegistryCredentials
Name | BESCHREIBUNG | Wert |
---|---|---|
Identität | Eine verwaltete Identität, die für die Authentifizierung bei Azure Container Registry verwendet werden soll. Verwenden Sie für benutzerseitig zugewiesene Identitäten die vollständige benutzerseitig zugewiesene Identitätsressourcen-ID. Verwenden Sie für systemseitig zugewiesene Identitäten "system". | Zeichenfolge |
passwordSecretRef | Der Name des Geheimnisses, das das Anmeldekennwort für die Registrierung enthält. | Zeichenfolge |
server | ContainerRegistrierungsserver | Zeichenfolge |
username | Benutzername der Containerregistrierung | Zeichenfolge |
`Secret`
Name | BESCHREIBUNG | Wert |
---|---|---|
Identität | Ressourcen-ID einer verwalteten Identität zur Authentifizierung bei Azure Key Vault oder System zur Verwendung einer systemseitig zugewiesenen Identität. | Zeichenfolge |
keyVaultUrl | Azure Key Vault URL, die auf das Geheimnis verweist, auf das die Container-App verweist. | Zeichenfolge |
name | Name des Geheimnisses. | Zeichenfolge |
value | Geheimniswert. | Zeichenfolge Einschränkungen: Vertraulicher Wert. Übergeben Sie als sicheren Parameter. |
Dienst
Name | BESCHREIBUNG | Wert |
---|---|---|
type | Dev ContainerApp-Diensttyp | Zeichenfolge (erforderlich) |
Vorlage
Name | BESCHREIBUNG | Wert |
---|---|---|
containers | Liste der Containerdefinitionen für die Container-App. | Container[] |
initContainers | Liste der spezialisierten Container, die vor App-Containern ausgeführt werden. | InitContainer[] |
revisionSuffix | Benutzerfreundliches Suffix, das an den Revisionsnamen angefügt wird | Zeichenfolge |
Skalierung | Skalierungseigenschaften für die Container-App. | Skalieren |
serviceBinds | Liste der an die App gebundenen Container-App-Dienste | ServiceBind[] |
terminationGracePeriodSeconds | Optionale Dauer in Sekunden, die die Container-App-Instanz ordnungsgemäß beenden muss. Der Wert muss eine nicht negative ganze Zahl sein. Der Wert 0 gibt an, dass sofort über das Kill-Signal angehalten wird (keine Gelegenheit zum Herunterfahren). Wenn dieser Wert gleich null ist, wird stattdessen der standardmäßige Nachfristzeitraum verwendet. Legen Sie für diesen Wert eine längere Zeit als die erwartete Bereinigungszeit für Ihren Prozess fest. Der Standardwert beträgt 30 Sekunden. | INT |
volumes | Liste der Volumedefinitionen für die Container-App. | Volume[] |
Container
Name | BESCHREIBUNG | Wert |
---|---|---|
args | Containerstartbefehlsargumente. | string[] |
command | Containerstartbefehl. | string[] |
env | Containerumgebungsvariablen. | EnvironmentVar[] |
image | Containerimagetag. | Zeichenfolge |
name | Benutzerdefinierter Containername. | Zeichenfolge |
probes | Liste der Tests für den Container. | ContainerAppProbe[] |
ressourcen | Anforderungen an Containerressourcen. | ContainerResources |
volumeMounts | Bereitstellungen von Containervolumes. | VolumeMount[] |
EnvironmentVar
Name | BESCHREIBUNG | Wert |
---|---|---|
name | Umgebungsvariablenname. | Zeichenfolge |
secretRef | Name des geheimen Container-App-Geheimnisses, aus dem der Wert der Umgebungsvariablen abgerufen werden soll. | Zeichenfolge |
value | Nicht geheimer Umgebungsvariablenwert. | Zeichenfolge |
ContainerAppProbe
Name | BESCHREIBUNG | Wert |
---|---|---|
failureThreshold | Minimale aufeinanderfolgende Fehler, damit der Test nach dem Erfolgreichen als fehlgeschlagen gilt. Der Standardwert ist 3. Der Mindestwert ist 1. Der maximale Wert ist 10. | INT |
httpGet | HTTPGet gibt die auszuführende HTTP-Anforderung an. | ContainerAppProbeHttpGet |
initialDelaySeconds | Die Anzahl der Sekunden, die nach dem Start des Containers vergehen, bevor Livetests initiiert werden. Der Mindestwert ist 1. Der Maximalwert ist 60. | INT |
periodSeconds | Gibt an, wie häufig (in Sekunden) ein Test durchgeführt werden soll. Der Standardwert ist 10 Sekunden. Der Mindestwert ist 1. Der Maximalwert ist 240. | INT |
successThreshold | Minimale aufeinanderfolgende Erfolge, damit der Test nach einem Fehler als erfolgreich betrachtet wird. Der Standardwert lautet 1. Muss 1 für Liveness und Start sein. Der Mindestwert ist 1. Der maximale Wert ist 10. | INT |
tcpSocket | TCPSocket gibt eine Aktion an, die einen TCP-Port umfasst. TCP-Hooks werden noch nicht unterstützt. | ContainerAppProbeTcpSocket |
terminationGracePeriodSeconds | Optionale Dauer in Sekunden, die der Pod bei einem Testfehler ordnungsgemäß beenden muss. Die Nachfrist ist die Dauer in Sekunden, nachdem die im Pod ausgeführten Prozesse ein Beendigungssignal gesendet haben, und der Zeitpunkt, zu dem die Prozesse mit einem Kill-Signal gewaltsam angehalten werden. Legen Sie für diesen Wert eine längere Zeit als die erwartete Bereinigungszeit für Ihren Prozess fest. Wenn dieser Wert null ist, wird die terminGracePeriodSeconds des Pods verwendet. Andernfalls überschreibt dieser Wert den von der Podspezifikation bereitgestellten Wert. Der Wert muss eine nicht negative ganze Zahl sein. Der Wert 0 gibt an, dass sofort über das Kill-Signal angehalten wird (keine Möglichkeit zum Herunterfahren). Dies ist ein Alphafeld und erfordert die Aktivierung des Featuregates "ProbeTerminationGracePeriod". Maximaler Wert ist 3600 Sekunden (1 Stunde) | INT |
timeoutSeconds | Anzahl der Sekunden, nach denen der Test ein Zeitüberschreitungsintervall aufweist. Der Standardwert ist 1 Sekunde. Der Mindestwert ist 1. Der Maximalwert ist 240. | INT |
Typ | Der Typ des Tests. | "Leben" "Bereitschaft" "Start" |
ContainerAppProbeHttpGet
Name | BESCHREIBUNG | Wert |
---|---|---|
host | Hostname, mit dem eine Verbindung hergestellt werden soll, ist standardmäßig die Pod-IP-Adresse. Sie möchten wahrscheinlich stattdessen "Host" in httpHeaders festlegen. | Zeichenfolge |
httpHeaders | Benutzerdefinierte Header, die in der Anforderung festgelegt werden sollen. HTTP lässt wiederholte Header zu. | ContainerAppProbeHttpGetHttpHeadersItem[] |
path | Pfad zum Zugriff auf den HTTP-Server. | Zeichenfolge |
port | Name oder Nummer des Ports, auf den für den Container zugegriffen werden soll. Die Zahl muss im Bereich 1 bis 65535 liegen. Name muss ein IANA_SVC_NAME sein. | int (erforderlich) |
scheme | Schema, das zum Herstellen einer Verbindung mit dem Host verwendet werden soll. Der Standardwert ist HTTP. | „HTTP“ "HTTPS" |
ContainerAppProbeHttpGetHttpHeadersItem
Name | BESCHREIBUNG | Wert |
---|---|---|
name | Der Name des Kopfzeilenfelds | Zeichenfolge (erforderlich) |
value | Der Wert des Headerfelds | Zeichenfolge (erforderlich) |
ContainerAppProbeTcpSocket
Name | BESCHREIBUNG | Wert |
---|---|---|
host | Optional: Hostname, mit dem eine Verbindung hergestellt werden soll, ist standardmäßig die Pod-IP-Adresse. | Zeichenfolge |
port | Nummer oder Name des Ports, auf den auf den Container zugegriffen werden soll. Die Zahl muss im Bereich 1 bis 65535 liegen. Name muss ein IANA_SVC_NAME sein. | int (erforderlich) |
ContainerResources
Name | BESCHREIBUNG | Wert |
---|---|---|
cpu | Erforderliche CPU in Kernen, z. B. 0.5 Geben Sie einen Dezimalwert als Zeichenfolge an. | int oder json dezimal |
Arbeitsspeicher | Erforderlicher Arbeitsspeicher, z. B. "250MB" | Zeichenfolge |
VolumeMount
Name | BESCHREIBUNG | Wert |
---|---|---|
mountPath | Pfad innerhalb des Containers, an dem das Volume eingebunden werden soll. Darf nicht ":" enthalten. | Zeichenfolge |
Untergeordnete | Pfad innerhalb des Volumes, von dem das Volume des Containers eingebunden werden soll. Standardmäßig ist "" (Stammverzeichnis des Volumes). | Zeichenfolge |
volumeName | Dies muss mit dem Namen eines Volumes übereinstimmen. | Zeichenfolge |
InitContainer
Name | BESCHREIBUNG | Wert |
---|---|---|
args | Container start-Befehlsargumente. | string[] |
command | Containerstartbefehl. | string[] |
env | Containerumgebungsvariablen. | EnvironmentVar[] |
image | Containerimagetag. | Zeichenfolge |
name | Benutzerdefinierter Containername. | Zeichenfolge |
ressourcen | Anforderungen an Containerressourcen. | ContainerResources |
volumeMounts | Containervolumemounts werden bereitgestellt. | VolumeMount[] |
Skalieren
Name | BESCHREIBUNG | Wert |
---|---|---|
maxReplicas | Optional. Maximale Anzahl von Containerreplikaten. Standardwert ist 10, wenn nicht festgelegt. | INT |
minReplicas | Optional. Mindestanzahl von Containerreplikaten. | INT |
rules | Skalierungsregeln. | ScaleRule[] |
ScaleRule
Name | BESCHREIBUNG | Wert |
---|---|---|
azureQueue | Azure Queue-basierte Skalierung. | QueueScaleRule |
custom | Benutzerdefinierte Skalierungsregel. | CustomScaleRule |
http | AUF HTTP-Anforderungen basierende Skalierung. | HttpScaleRule |
name | Name der Skalierungsregel | Zeichenfolge |
tcp | Tcp-Anforderungen basierende Skalierung. | TcpScaleRule |
QueueScaleRule
Name | BESCHREIBUNG | Wert |
---|---|---|
auth | Authentifizierungsgeheimnisse für die Warteschlangenskalierungsregel. | ScaleRuleAuth[] |
queueLength | Warteschlangenlänge. | INT |
queueName | Warteschlangenname. | Zeichenfolge |
ScaleRuleAuth
Name | BESCHREIBUNG | Wert |
---|---|---|
secretRef | Name des Geheimnisses, aus dem die Authentifizierungsparameter abgerufen werden sollen. | Zeichenfolge |
triggerParameter | Triggerparameter, der das Geheimnis verwendet | Zeichenfolge |
CustomScaleRule
Name | BESCHREIBUNG | Wert |
---|---|---|
auth | Authentifizierungsgeheimnisse für die benutzerdefinierte Skalierungsregel. | ScaleRuleAuth[] |
metadata | Metadateneigenschaften zum Beschreiben einer benutzerdefinierten Skalierungsregel. | CustomScaleRuleMetadata |
Typ | Typ der benutzerdefinierten Skalierungsregel z. B. azure-servicebus, redis etc. |
Zeichenfolge |
CustomScaleRuleMetadata
Name | BESCHREIBUNG | Wert |
---|---|---|
{angepasste Eigenschaft} | Zeichenfolge |
HttpScaleRule
Name | BESCHREIBUNG | Wert |
---|---|---|
auth | Authentifizierungsgeheimnisse für die benutzerdefinierte Skalierungsregel. | ScaleRuleAuth[] |
metadata | Metadateneigenschaften zur Beschreibung der HTTP-Skalierungsregel. | HttpScaleRuleMetadata |
HttpScaleRuleMetadata
Name | BESCHREIBUNG | Wert |
---|---|---|
{angepasste Eigenschaft} | Zeichenfolge |
TcpScaleRule
Name | BESCHREIBUNG | Wert |
---|---|---|
auth | Authentifizierungsgeheimnisse für die TCP-Skalierungsregel. | ScaleRuleAuth[] |
metadata | Metadateneigenschaften zum Beschreiben der TCP-Skalierungsregel. | TcpScaleRuleMetadaten |
TcpScaleRuleMetadaten
Name | BESCHREIBUNG | Wert |
---|---|---|
{angepasste Eigenschaft} | Zeichenfolge |
ServiceBind
Name | BESCHREIBUNG | Wert |
---|---|---|
clientType | Typ des Clients, der zum Herstellen einer Verbindung mit dem Dienst verwendet werden soll | Zeichenfolge |
customizedKeys | Angepasste Schlüssel zum Anpassen eingefügter Werte an die App | ServiceBindCustomizedKeys |
name | Name der Dienstbindung | Zeichenfolge |
serviceId | Ressourcen-ID des Zieldiensts | Zeichenfolge |
ServiceBindCustomizedKeys
Name | BESCHREIBUNG | Wert |
---|---|---|
{angepasste Eigenschaft} | Zeichenfolge |
Lautstärke
Name | BESCHREIBUNG | Wert |
---|---|---|
mountOptions | Einbindungsoptionen, die beim Einbinden der Azure-Dateifreigabe oder der NFS-Azure-Dateifreigabe verwendet werden. Muss eine durch Trennzeichen getrennte Zeichenfolge sein. | Zeichenfolge |
name | Volumename. | Zeichenfolge |
secrets | Liste der Geheimnisse, die dem Volume hinzugefügt werden sollen. Wenn keine Geheimnisse bereitgestellt werden, werden alle Geheimnisse in der Sammlung dem Volume hinzugefügt. | SecretVolumeItem[] |
storageName | Name der Speicherressource. Keine Notwendigkeit, EmptyDir und Secret bereitzustellen. | Zeichenfolge |
Speichertyp | Speichertyp für das Volume. Wenn nicht angegeben, verwenden Sie EmptyDir. | "AzureFile" "EmptyDir" "NfsAzureFile" "Geheimnis" |
SecretVolumeItem
Name | BESCHREIBUNG | Wert |
---|---|---|
path | Pfad zum Projektgeheimnis. Wenn kein Pfad angegeben wird, wird der Pfad standardmäßig auf den Namen des in secretRef aufgeführten Geheimnisses festgelegt. | Zeichenfolge |
secretRef | Name des Geheimen Container-App-Geheimnisses, aus dem der Geheimniswert abgerufen werden soll. | Zeichenfolge |
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für