Container Apps - Create Or Update
Create 或更新容器應用程式。
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}?api-version=2023-08-01-preview
URI 參數
名稱 | 位於 | 必要 | 類型 | Description |
---|---|---|---|---|
container
|
path | True |
string |
容器應用程式的名稱。 |
resource
|
path | True |
string |
資源群組的名稱。 名稱不區分大小寫。 |
subscription
|
path | True |
string |
目標訂用帳戶的標識碼。 |
api-version
|
query | True |
string |
用於此作業的 API 版本。 |
要求本文
名稱 | 必要 | 類型 | Description |
---|---|---|---|
location | True |
string |
資源所在的地理位置 |
extendedLocation |
擴充位置的複雜類型。 |
||
identity |
容器應用程式的受控識別可與其他 Azure 服務互動,而不需在程式碼中維護任何秘密或認證。 |
||
managedBy |
string |
管理此資源之資源的完整資源標識碼。 指出此資源是否由另一個 Azure 資源管理。 如果存在,如果從範本中移除,則完整模式部署將不會刪除該資源,因為該資源是由另一個資源管理。 |
|
properties.configuration |
非版本設定的容器應用程式組態屬性。 |
||
properties.environmentId |
string |
環境的資源標識碼。 |
|
properties.managedEnvironmentId |
string |
已取代。 容器應用程式環境的資源標識碼。 |
|
properties.template |
容器應用程式已建立版本的應用程式定義。 |
||
properties.workloadProfileName |
string |
要釘選以進行容器應用程式執行的工作負載配置檔名稱。 |
|
tags |
object |
資源標籤。 |
回應
名稱 | 類型 | Description |
---|---|---|
200 OK |
容器應用程式上未執行任何變更。 |
|
201 Created |
容器應用程式建立或更新已啟動。 |
|
Other Status Codes |
常見的錯誤回應。 |
安全性
azure_auth
Azure Active Directory OAuth2 Flow
類型:
oauth2
Flow:
implicit
授權 URL:
https://login.microsoftonline.com/common/oauth2/authorize
範圍
名稱 | Description |
---|---|
user_impersonation | 模擬您的用戶帳戶 |
範例
Create or Update App On A Connected Environment |
Create or Update Container App |
Create or Update Managed |
Create or Update Tcp App |
Create or Update App On A Connected Environment
範例要求
PUT https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerapp0?api-version=2023-08-01-preview
{
"location": "East US",
"extendedLocation": {
"name": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation",
"type": "CustomLocation"
},
"properties": {
"environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/connectedEnvironments/demokube",
"configuration": {
"ingress": {
"external": true,
"targetPort": 3000,
"customDomains": [
{
"name": "www.my-name.com",
"bindingType": "SniEnabled",
"certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/connectedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com"
},
{
"name": "www.my-other-name.com",
"bindingType": "SniEnabled",
"certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/connectedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com"
}
],
"traffic": [
{
"weight": 100,
"revisionName": "testcontainerapp0-ab1234",
"label": "production"
}
],
"ipSecurityRestrictions": [
{
"name": "Allow work IP A subnet",
"description": "Allowing all IP's within the subnet below to access containerapp",
"ipAddressRange": "192.168.1.1/32",
"action": "Allow"
},
{
"name": "Allow work IP B subnet",
"description": "Allowing all IP's within the subnet below to access containerapp",
"ipAddressRange": "192.168.1.1/8",
"action": "Allow"
}
],
"stickySessions": {
"affinity": "sticky"
},
"clientCertificateMode": "accept",
"corsPolicy": {
"allowedOrigins": [
"https://a.test.com",
"https://b.test.com"
],
"allowedMethods": [
"GET",
"POST"
],
"allowedHeaders": [
"HEADER1",
"HEADER2"
],
"exposeHeaders": [
"HEADER3",
"HEADER4"
],
"maxAge": 1234,
"allowCredentials": true
},
"additionalPortMappings": [
{
"external": true,
"targetPort": 1234
},
{
"external": false,
"targetPort": 2345,
"exposedPort": 3456
}
]
},
"dapr": {
"enabled": true,
"appPort": 3000,
"appProtocol": "http",
"httpReadBufferSize": 30,
"httpMaxRequestSize": 10,
"logLevel": "debug",
"enableApiLogging": true
},
"maxInactiveRevisions": 10
},
"template": {
"containers": [
{
"image": "repo/testcontainerapp0:v1",
"name": "testcontainerapp0",
"probes": [
{
"type": "Liveness",
"httpGet": {
"path": "/health",
"port": 8080,
"httpHeaders": [
{
"name": "Custom-Header",
"value": "Awesome"
}
]
},
"initialDelaySeconds": 3,
"periodSeconds": 3
}
]
}
],
"initContainers": [
{
"image": "repo/testcontainerapp0:v4",
"name": "testinitcontainerApp0",
"resources": {
"cpu": 0.5,
"memory": "1Gi"
},
"command": [
"/bin/sh"
],
"args": [
"-c",
"while true; do echo hello; sleep 10;done"
]
}
],
"scale": {
"minReplicas": 1,
"maxReplicas": 5,
"rules": [
{
"name": "httpscalingrule",
"custom": {
"type": "http",
"metadata": {
"concurrentRequests": "50"
}
}
}
]
}
}
}
}
範例回覆
{
"id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerapp0",
"name": "testcontainerapp0",
"type": "Microsoft.App/containerApps",
"location": "East US",
"extendedLocation": {
"name": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation",
"type": "CustomLocation"
},
"properties": {
"provisioningState": "Succeeded",
"environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/connectedEnvironments/demokube",
"latestRevisionFqdn": "testcontainerapp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io",
"latestReadyRevisionName": "testcontainerapp0-pjxhsye",
"configuration": {
"ingress": {
"fqdn": "testcontainerapp0.demokube-t24clv0g.eastus.containerApps.k4apps.io",
"external": true,
"targetPort": 3000,
"transport": "auto",
"customDomains": [
{
"name": "www.my-name.com",
"bindingType": "SniEnabled",
"certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/connectedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com"
},
{
"name": "www.my-other-name.com",
"bindingType": "SniEnabled",
"certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/connectedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com"
}
],
"traffic": [
{
"weight": 80,
"revisionName": "testcontainerapp0-ab1234"
},
{
"weight": 20,
"revisionName": "testcontainerapp0-ab4321",
"label": "staging"
}
],
"ipSecurityRestrictions": [
{
"name": "Allow work IP A subnet",
"description": "Allowing all IP's within the subnet below to access containerapp",
"ipAddressRange": "192.168.1.1/32",
"action": "Allow"
},
{
"name": "Allow work IP B subnet",
"description": "Allowing all IP's within the subnet below to access containerapp",
"ipAddressRange": "192.168.1.1/8",
"action": "Allow"
}
],
"stickySessions": {
"affinity": "sticky"
}
},
"dapr": {
"enabled": true,
"appPort": 3000,
"appProtocol": "http",
"httpReadBufferSize": 30
}
},
"template": {
"containers": [
{
"image": "repo/testcontainerapp0:v4",
"name": "testcontainerapp0",
"resources": {
"cpu": 0.5,
"memory": "1Gi"
},
"probes": [
{
"type": "Liveness",
"httpGet": {
"path": "/health",
"port": 8080,
"httpHeaders": [
{
"name": "Custom-Header",
"value": "Awesome"
}
]
},
"initialDelaySeconds": 3,
"periodSeconds": 3
}
]
}
],
"initContainers": [
{
"image": "repo/testcontainerapp0:v4",
"name": "testinitcontainerApp0",
"resources": {
"cpu": 0.5,
"memory": "1Gi"
},
"command": [
"/bin/sh"
],
"args": [
"-c",
"while true; do echo hello; sleep 10;done"
]
}
],
"scale": {
"minReplicas": 1,
"maxReplicas": 5,
"rules": [
{
"name": "httpscalingrule",
"http": {
"metadata": {
"concurrentRequests": "50"
}
}
}
]
}
},
"eventStreamEndpoint": "testEndpoint"
}
}
{
"id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerapp0",
"name": "testcontainerapp0",
"type": "Microsoft.App/containerApps",
"location": "East US",
"extendedLocation": {
"name": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation",
"type": "CustomLocation"
},
"properties": {
"provisioningState": "InProgress",
"environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/connectedEnvironments/demokube",
"latestRevisionFqdn": "testcontainerapp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io",
"configuration": {
"ingress": {
"fqdn": "testcontainerapp0.demokube-t24clv0g.eastus.containerApps.k4apps.io",
"external": true,
"targetPort": 3000,
"transport": "auto",
"traffic": [
{
"weight": 80,
"revisionName": "testcontainerapp0-ab1234"
},
{
"weight": 20,
"revisionName": "testcontainerapp0-ab4321",
"label": "staging"
}
]
},
"dapr": {
"enabled": true,
"appPort": 3000,
"appProtocol": "http",
"httpReadBufferSize": 30
}
},
"template": {
"containers": [
{
"image": "repo/testcontainerapp0:v4",
"name": "testcontainerapp0",
"resources": {
"cpu": 0.5,
"memory": "1Gi"
},
"probes": [
{
"type": "Liveness",
"httpGet": {
"path": "/health",
"port": 8080,
"httpHeaders": [
{
"name": "Custom-Header",
"value": "Awesome"
}
]
},
"initialDelaySeconds": 3,
"periodSeconds": 3
}
]
}
],
"initContainers": [
{
"image": "repo/testcontainerapp0:v4",
"name": "testinitcontainerApp0",
"resources": {
"cpu": 0.5,
"memory": "1Gi"
},
"command": [
"/bin/sh"
],
"args": [
"-c",
"while true; do echo hello; sleep 10;done"
]
}
],
"scale": {
"minReplicas": 1,
"maxReplicas": 5,
"rules": [
{
"name": "httpscalingrule",
"http": {
"metadata": {
"concurrentRequests": "50"
}
}
}
]
}
},
"eventStreamEndpoint": "testEndpoint"
}
}
Create or Update Container App
範例要求
PUT https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerapp0?api-version=2023-08-01-preview
{
"location": "East US",
"properties": {
"environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
"workloadProfileName": "My-GP-01",
"configuration": {
"ingress": {
"external": true,
"targetPort": 3000,
"customDomains": [
{
"name": "www.my-name.com",
"bindingType": "SniEnabled",
"certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com"
},
{
"name": "www.my-other-name.com",
"bindingType": "SniEnabled",
"certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com"
}
],
"traffic": [
{
"weight": 100,
"revisionName": "testcontainerapp0-ab1234",
"label": "production"
}
],
"ipSecurityRestrictions": [
{
"name": "Allow work IP A subnet",
"description": "Allowing all IP's within the subnet below to access containerapp",
"ipAddressRange": "192.168.1.1/32",
"action": "Allow"
},
{
"name": "Allow work IP B subnet",
"description": "Allowing all IP's within the subnet below to access containerapp",
"ipAddressRange": "192.168.1.1/8",
"action": "Allow"
}
],
"stickySessions": {
"affinity": "sticky"
},
"clientCertificateMode": "accept",
"corsPolicy": {
"allowedOrigins": [
"https://a.test.com",
"https://b.test.com"
],
"allowedMethods": [
"GET",
"POST"
],
"allowedHeaders": [
"HEADER1",
"HEADER2"
],
"exposeHeaders": [
"HEADER3",
"HEADER4"
],
"maxAge": 1234,
"allowCredentials": true
},
"additionalPortMappings": [
{
"external": true,
"targetPort": 1234
},
{
"external": false,
"targetPort": 2345,
"exposedPort": 3456
}
]
},
"dapr": {
"enabled": true,
"appPort": 3000,
"appProtocol": "http",
"httpReadBufferSize": 30,
"httpMaxRequestSize": 10,
"logLevel": "debug",
"enableApiLogging": true
},
"maxInactiveRevisions": 10,
"service": {
"type": "redis"
}
},
"template": {
"containers": [
{
"image": "repo/testcontainerapp0:v1",
"name": "testcontainerapp0",
"probes": [
{
"type": "Liveness",
"httpGet": {
"path": "/health",
"port": 8080,
"httpHeaders": [
{
"name": "Custom-Header",
"value": "Awesome"
}
]
},
"initialDelaySeconds": 3,
"periodSeconds": 3
}
]
}
],
"initContainers": [
{
"image": "repo/testcontainerapp0:v4",
"name": "testinitcontainerApp0",
"resources": {
"cpu": 0.5,
"memory": "1Gi"
},
"command": [
"/bin/sh"
],
"args": [
"-c",
"while true; do echo hello; sleep 10;done"
]
}
],
"scale": {
"minReplicas": 1,
"maxReplicas": 5,
"rules": [
{
"name": "httpscalingrule",
"custom": {
"type": "http",
"metadata": {
"concurrentRequests": "50"
}
}
}
]
},
"serviceBinds": [
{
"serviceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/redisService",
"name": "redisService",
"clientType": "dotnet",
"customizedKeys": {
"DesiredKey": "defaultKey"
}
}
]
}
}
}
範例回覆
{
"id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerapp0",
"name": "testcontainerapp0",
"type": "Microsoft.App/containerApps",
"location": "East US",
"properties": {
"provisioningState": "Succeeded",
"managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
"workloadProfileName": "My-GP-01",
"latestRevisionFqdn": "testcontainerapp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io",
"latestReadyRevisionName": "testcontainerapp0-pjxhsye",
"configuration": {
"ingress": {
"fqdn": "testcontainerapp0.demokube-t24clv0g.eastus.containerApps.k4apps.io",
"external": true,
"targetPort": 3000,
"transport": "auto",
"customDomains": [
{
"name": "www.my-name.com",
"bindingType": "SniEnabled",
"certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com"
},
{
"name": "www.my-other-name.com",
"bindingType": "SniEnabled",
"certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com"
}
],
"traffic": [
{
"weight": 80,
"revisionName": "testcontainerapp0-ab1234"
},
{
"weight": 20,
"revisionName": "testcontainerapp0-ab4321",
"label": "staging"
}
],
"ipSecurityRestrictions": [
{
"name": "Allow work IP A subnet",
"description": "Allowing all IP's within the subnet below to access containerapp",
"ipAddressRange": "192.168.1.1/32",
"action": "Allow"
},
{
"name": "Allow work IP B subnet",
"description": "Allowing all IP's within the subnet below to access containerapp",
"ipAddressRange": "192.168.1.1/8",
"action": "Allow"
}
],
"stickySessions": {
"affinity": "sticky"
}
},
"dapr": {
"enabled": true,
"appPort": 3000,
"appProtocol": "http",
"httpReadBufferSize": 30
}
},
"template": {
"containers": [
{
"image": "repo/testcontainerapp0:v4",
"name": "testcontainerapp0",
"resources": {
"cpu": 0.5,
"memory": "1Gi"
},
"probes": [
{
"type": "Liveness",
"httpGet": {
"path": "/health",
"port": 8080,
"httpHeaders": [
{
"name": "Custom-Header",
"value": "Awesome"
}
]
},
"initialDelaySeconds": 3,
"periodSeconds": 3
}
]
}
],
"initContainers": [
{
"image": "repo/testcontainerapp0:v4",
"name": "testinitcontainerApp0",
"resources": {
"cpu": 0.5,
"memory": "1Gi"
},
"command": [
"/bin/sh"
],
"args": [
"-c",
"while true; do echo hello; sleep 10;done"
]
}
],
"scale": {
"minReplicas": 1,
"maxReplicas": 5,
"rules": [
{
"name": "httpscalingrule",
"http": {
"metadata": {
"concurrentRequests": "50"
}
}
}
]
}
},
"eventStreamEndpoint": "testEndpoint"
}
}
{
"id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerapp0",
"name": "testcontainerapp0",
"type": "Microsoft.App/containerApps",
"location": "East US",
"properties": {
"provisioningState": "InProgress",
"managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
"latestRevisionFqdn": "testcontainerapp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io",
"configuration": {
"ingress": {
"fqdn": "testcontainerapp0.demokube-t24clv0g.eastus.containerApps.k4apps.io",
"external": true,
"targetPort": 3000,
"transport": "auto",
"traffic": [
{
"weight": 80,
"revisionName": "testcontainerapp0-ab1234"
},
{
"weight": 20,
"revisionName": "testcontainerapp0-ab4321",
"label": "staging"
}
]
},
"dapr": {
"enabled": true,
"appPort": 3000,
"appProtocol": "http",
"httpReadBufferSize": 30
}
},
"template": {
"containers": [
{
"image": "repo/testcontainerapp0:v4",
"name": "testcontainerapp0",
"resources": {
"cpu": 0.5,
"memory": "1Gi"
},
"probes": [
{
"type": "Liveness",
"httpGet": {
"path": "/health",
"port": 8080,
"httpHeaders": [
{
"name": "Custom-Header",
"value": "Awesome"
}
]
},
"initialDelaySeconds": 3,
"periodSeconds": 3
}
]
}
],
"initContainers": [
{
"image": "repo/testcontainerapp0:v4",
"name": "testinitcontainerApp0",
"resources": {
"cpu": 0.5,
"memory": "1Gi"
},
"command": [
"/bin/sh"
],
"args": [
"-c",
"while true; do echo hello; sleep 10;done"
]
}
],
"scale": {
"minReplicas": 1,
"maxReplicas": 5,
"rules": [
{
"name": "httpscalingrule",
"http": {
"metadata": {
"concurrentRequests": "50"
}
}
}
]
}
},
"eventStreamEndpoint": "testEndpoint"
}
}
Create or Update ManagedBy App
範例要求
PUT https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerappmanagedby?api-version=2023-08-01-preview
{
"location": "East US",
"managedBy": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.AppPlatform/Spring/springapp",
"properties": {
"environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
"configuration": {
"ingress": {
"external": true,
"targetPort": 3000,
"exposedPort": 4000,
"transport": "tcp",
"traffic": [
{
"weight": 100,
"revisionName": "testcontainerappmanagedby-ab1234"
}
]
}
},
"template": {
"containers": [
{
"image": "repo/testcontainerappmanagedby:v1",
"name": "testcontainerappmanagedby",
"probes": [
{
"type": "Liveness",
"tcpSocket": {
"port": 8080
},
"initialDelaySeconds": 3,
"periodSeconds": 3
}
]
}
],
"scale": {
"minReplicas": 1,
"maxReplicas": 5,
"rules": [
{
"name": "tcpscalingrule",
"tcp": {
"metadata": {
"concurrentConnections": "50"
}
}
}
]
}
}
}
}
範例回覆
{
"id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerappmanagedby",
"name": "testcontainerappmanagedby",
"type": "Microsoft.App/containerApps",
"location": "East US",
"managedBy": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.AppPlatform/Spring/springapp",
"properties": {
"provisioningState": "Succeeded",
"managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
"latestRevisionFqdn": "testcontainerappmanagedby-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io",
"latestReadyRevisionName": "testcontainerappmanagedby-pjxhsye",
"configuration": {
"ingress": {
"fqdn": "testcontainerappmanagedby.demokube-t24clv0g.eastus.containerApps.k4apps.io",
"external": true,
"targetPort": 3000,
"exposedPort": 4000,
"transport": "tcp",
"traffic": [
{
"weight": 80,
"revisionName": "testcontainerappmanagedby-ab1234"
},
{
"weight": 20,
"revisionName": "testcontainerappmanagedby-ab4321"
}
]
}
},
"template": {
"containers": [
{
"image": "repo/testcontainerappmanagedby:v4",
"name": "testcontainerappmanagedby",
"resources": {
"cpu": 0.5,
"memory": "1Gi"
},
"probes": [
{
"type": "Liveness",
"tcpSocket": {
"port": 8080
},
"initialDelaySeconds": 3,
"periodSeconds": 3
}
]
}
],
"scale": {
"minReplicas": 1,
"maxReplicas": 5,
"rules": [
{
"name": "tcpscalingrule",
"tcp": {
"metadata": {
"concurrentConnections": "50"
}
}
}
]
}
}
}
}
{
"id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerappmanagedby",
"name": "testcontainerappmanagedby",
"type": "Microsoft.App/containerApps",
"location": "East US",
"managedBy": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.AppPlatform/Spring/springapp",
"properties": {
"provisioningState": "InProgress",
"managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
"latestRevisionFqdn": "testcontainerappmanagedby-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io",
"configuration": {
"ingress": {
"fqdn": "testcontainerappmanagedby.demokube-t24clv0g.eastus.containerApps.k4apps.io",
"external": true,
"targetPort": 3000,
"exposedPort": 4000,
"transport": "tcp",
"traffic": [
{
"weight": 80,
"revisionName": "testcontainerappmanagedby-ab1234"
},
{
"weight": 20,
"revisionName": "testcontainerappmanagedby-ab4321"
}
]
}
},
"template": {
"containers": [
{
"image": "repo/testcontainerappmanagedby:v4",
"name": "testcontainerappmanagedby",
"resources": {
"cpu": 0.5,
"memory": "1Gi"
},
"probes": [
{
"type": "Liveness",
"tcpSocket": {
"port": 8080
},
"initialDelaySeconds": 3,
"periodSeconds": 3
}
]
}
],
"scale": {
"minReplicas": 1,
"maxReplicas": 5,
"rules": [
{
"name": "tcpscalingrule",
"tcp": {
"metadata": {
"concurrentConnections": "50"
}
}
}
]
}
}
}
}
Create or Update Tcp App
範例要求
PUT https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerapptcp?api-version=2023-08-01-preview
{
"location": "East US",
"properties": {
"environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
"configuration": {
"ingress": {
"external": true,
"targetPort": 3000,
"exposedPort": 4000,
"transport": "tcp",
"traffic": [
{
"weight": 100,
"revisionName": "testcontainerapptcp-ab1234"
}
]
}
},
"template": {
"containers": [
{
"image": "repo/testcontainerapptcp:v1",
"name": "testcontainerapptcp",
"probes": [
{
"type": "Liveness",
"tcpSocket": {
"port": 8080
},
"initialDelaySeconds": 3,
"periodSeconds": 3
}
]
}
],
"scale": {
"minReplicas": 1,
"maxReplicas": 5,
"rules": [
{
"name": "tcpscalingrule",
"tcp": {
"metadata": {
"concurrentConnections": "50"
}
}
}
]
}
}
}
}
範例回覆
{
"id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerapptcp",
"name": "testcontainerapptcp",
"type": "Microsoft.App/containerApps",
"location": "East US",
"properties": {
"provisioningState": "Succeeded",
"managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
"latestRevisionFqdn": "testcontainerapptcp-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io",
"latestReadyRevisionName": "testcontainerapptcp-pjxhsye",
"configuration": {
"ingress": {
"fqdn": "testcontainerapptcp.demokube-t24clv0g.eastus.containerApps.k4apps.io",
"external": true,
"targetPort": 3000,
"exposedPort": 4000,
"transport": "tcp",
"traffic": [
{
"weight": 80,
"revisionName": "testcontainerapptcp-ab1234"
},
{
"weight": 20,
"revisionName": "testcontainerapptcp-ab4321"
}
]
}
},
"template": {
"containers": [
{
"image": "repo/testcontainerapptcp:v4",
"name": "testcontainerapptcp",
"resources": {
"cpu": 0.5,
"memory": "1Gi"
},
"probes": [
{
"type": "Liveness",
"tcpSocket": {
"port": 8080
},
"initialDelaySeconds": 3,
"periodSeconds": 3
}
]
}
],
"scale": {
"minReplicas": 1,
"maxReplicas": 5,
"rules": [
{
"name": "tcpscalingrule",
"tcp": {
"metadata": {
"concurrentConnections": "50"
}
}
}
]
}
}
}
}
{
"id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerapptcp",
"name": "testcontainerapptcp",
"type": "Microsoft.App/containerApps",
"location": "East US",
"properties": {
"provisioningState": "InProgress",
"managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube",
"latestRevisionFqdn": "testcontainerapptcp-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io",
"configuration": {
"ingress": {
"fqdn": "testcontainerapptcp.demokube-t24clv0g.eastus.containerApps.k4apps.io",
"external": true,
"targetPort": 3000,
"exposedPort": 4000,
"transport": "tcp",
"traffic": [
{
"weight": 80,
"revisionName": "testcontainerapptcp-ab1234"
},
{
"weight": 20,
"revisionName": "testcontainerapptcp-ab4321"
}
]
}
},
"template": {
"containers": [
{
"image": "repo/testcontainerapptcp:v4",
"name": "testcontainerapptcp",
"resources": {
"cpu": 0.5,
"memory": "1Gi"
},
"probes": [
{
"type": "Liveness",
"tcpSocket": {
"port": 8080
},
"initialDelaySeconds": 3,
"periodSeconds": 3
}
]
}
],
"scale": {
"minReplicas": 1,
"maxReplicas": 5,
"rules": [
{
"name": "tcpscalingrule",
"tcp": {
"metadata": {
"concurrentConnections": "50"
}
}
}
]
}
}
}
}
定義
名稱 | Description |
---|---|
action |
允許或拒絕規則判斷傳入IP。 注意:規則只能包含 ALL 允許或 ALL 拒絕 |
Active |
ActiveRevisionsMode 控制容器應用程式的作用中修訂處理方式:多個修訂可以作用中。單一:一次只能有一個修訂作用中。 修訂權數不能在此模式中使用。 如果未提供任何值,則為預設值。 |
affinity |
黏性會話親和性 |
app |
告知 Dapr 您的應用程式正在使用的通訊協定。 有效的選項為 HTTP 和 grpc。 預設值為 HTTP |
binding |
Custom Domain 系結類型。 |
Configuration |
未設定版本的容器應用程式組態屬性,可定義容器應用程式的可變動設定 |
Container |
容器應用程式容器定義 |
Container |
容器應用程式。 |
Container |
探查描述要針對容器執行的健全狀況檢查,以判斷它是否運作或準備好接收流量。 |
Container |
容器應用程式的布建狀態。 |
Container |
容器應用程式容器資源需求。 |
Cors |
跨原始來源資源分享原則 |
created |
建立資源的身分識別類型。 |
Custom |
容器應用程式的 Custom Domain |
Custom |
容器應用程式容器 自定義調整規則。 |
Dapr |
容器應用程式 Dapr 設定。 |
Default |
App Service 錯誤回應。 |
Details |
詳細數據或錯誤 |
Environment |
容器應用程式容器環境變數。 |
Error |
錯誤模型。 |
Extended |
擴充位置的複雜類型。 |
Extended |
擴充位置的類型。 |
Http |
HTTPGet 會指定要執行的 HTTP 要求。 |
Http |
在要求中設定的自定義標頭。 HTTP 允許重複的標頭。 |
Http |
容器應用程式容器 Http 調整規則。 |
Ingress |
容器應用程式輸入組態。 |
Ingress |
mTLS 驗證的客戶端憑證模式。 Ignore 表示伺服器卸除轉送上的客戶端憑證。 Accept 表示伺服器轉送客戶端憑證,但不需要客戶端憑證。 Require 表示伺服器需要客戶端憑證。 |
Ingress |
容器應用程式輸入的埠對應 |
Ingress |
輸入傳輸通訊協定 |
Init |
容器應用程式init容器定義 |
Ip |
限制傳入IP位址的規則。 |
log |
設定 Dapr sidecar 的記錄層級。 允許的值為偵錯、資訊、警告、錯誤。 預設值為資訊。 |
Managed |
受控服務識別 (系統指派和/或使用者指派的身分識別) |
Managed |
(允許 SystemAssigned 和 UserAssigned 類型的受控服務識別類型) 。 |
Queue |
容器應用程式容器 Azure 佇列型調整規則。 |
Registry |
容器應用程式私人登錄 |
Scale |
容器應用程式調整設定。 |
Scale |
容器應用程式容器調整規則。 |
Scale |
調整規則的驗證秘密 |
Scheme |
用於連線至主機的配置。 默認為 HTTP。 |
Secret |
秘密定義。 |
Secret |
要新增至磁碟區的秘密。 |
Service |
容器應用程式成為開發服務 |
Service |
將 ContainerApp 系結至 Dev ContainerApp Service 的組態 |
Sticky |
單一修訂模式的黏性會話 |
Storage |
磁碟區的儲存類型。 如果未提供,請使用 EmptyDir。 |
system |
與建立和上次修改資源相關的元數據。 |
Tcp |
容器應用程式容器 Tcp 調整規則。 |
Tcp |
TCPSocket 指定涉及 TCP 連接埠的動作。 尚未支援 TCP 攔截。 |
Template |
容器應用程式已建立版本的應用程式定義。 定義不可變修訂的預期狀態。 本節的任何變更將會導致建立新的修訂 |
Traffic |
指派給修訂的流量權數 |
Type |
探查的類型。 |
User |
使用者指派的身分識別屬性 |
Volume |
容器應用程式的磁碟區定義。 |
Volume |
容器應用程式的磁碟區掛接。 |
action
允許或拒絕規則判斷傳入IP。 注意:規則只能包含 ALL 允許或 ALL 拒絕
名稱 | 類型 | Description |
---|---|---|
Allow |
string |
|
Deny |
string |
ActiveRevisionsMode
ActiveRevisionsMode 控制容器應用程式的作用中修訂處理方式:多個修訂可以作用中。單一:一次只能有一個修訂作用中。 修訂權數不能在此模式中使用。 如果未提供任何值,則為預設值。
名稱 | 類型 | Description |
---|---|---|
Multiple |
string |
|
Single |
string |
affinity
黏性會話親和性
名稱 | 類型 | Description |
---|---|---|
none |
string |
|
sticky |
string |
appProtocol
告知 Dapr 您的應用程式正在使用的通訊協定。 有效的選項為 HTTP 和 grpc。 預設值為 HTTP
名稱 | 類型 | Description |
---|---|---|
grpc |
string |
|
http |
string |
bindingType
Custom Domain 系結類型。
名稱 | 類型 | Description |
---|---|---|
Disabled |
string |
|
SniEnabled |
string |
Configuration
未設定版本的容器應用程式組態屬性,可定義容器應用程式的可變動設定
名稱 | 類型 | 預設值 | Description |
---|---|---|---|
activeRevisionsMode | Single |
ActiveRevisionsMode 控制容器應用程式的作用中修訂處理方式:多個修訂可以作用中。單一:一次只能有一個修訂作用中。 修訂權數不能在此模式中使用。 如果未提供任何值,則為預設值。 |
|
dapr |
容器應用程式的 Dapr 設定。 |
||
ingress |
輸入組態。 |
||
maxInactiveRevisions |
integer |
選擇性。 容器應用程式可以擁有的最大非使用中修訂。 |
|
registries |
容器應用程式所使用的容器的私人容器登錄認證集合 |
||
secrets |
Secret[] |
容器應用程式所使用的秘密集合 |
|
service |
容器應用程式成為開發容器 App Service |
Container
容器應用程式容器定義
名稱 | 類型 | Description |
---|---|---|
args |
string[] |
容器啟動命令自變數。 |
command |
string[] |
容器啟動命令。 |
env |
容器環境變數。 |
|
image |
string |
容器映像標籤。 |
name |
string |
自訂容器名稱。 |
probes |
容器的探查清單。 |
|
resources |
容器資源需求。 |
|
volumeMounts |
容器磁碟區掛接。 |
ContainerApp
容器應用程式。
名稱 | 類型 | Description |
---|---|---|
extendedLocation |
擴充位置的複雜類型。 |
|
id |
string |
資源的完整資源識別碼。 Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} |
identity |
容器應用程式的受控識別可與其他 Azure 服務互動,而不需在程式碼中維護任何秘密或認證。 |
|
location |
string |
資源所在的地理位置 |
managedBy |
string |
管理此資源之資源的完整資源標識碼。 指出此資源是否由另一個 Azure 資源管理。 如果存在,如果從範本中移除,則完整模式部署將不會刪除該資源,因為該資源是由另一個資源管理。 |
name |
string |
資源的名稱 |
properties.configuration |
非版本設定的容器應用程式組態屬性。 |
|
properties.customDomainVerificationId |
string |
用來驗證功能變數名稱擁有權的標識碼 |
properties.environmentId |
string |
環境的資源標識碼。 |
properties.eventStreamEndpoint |
string |
容器應用程式之 eventstream 的端點。 |
properties.latestReadyRevisionName |
string |
容器應用程式的最新就緒修訂名稱。 |
properties.latestRevisionFqdn |
string |
容器應用程式最新修訂的完整功能變數名稱。 |
properties.latestRevisionName |
string |
容器應用程式的最新修訂名稱。 |
properties.managedEnvironmentId |
string |
已取代。 容器應用程式環境的資源標識碼。 |
properties.outboundIpAddresses |
string[] |
容器應用程式的輸出IP位址。 |
properties.provisioningState |
容器應用程式的布建狀態。 |
|
properties.template |
容器應用程式已建立版本的應用程式定義。 |
|
properties.workloadProfileName |
string |
要釘選以進行容器應用程式執行的工作負載配置檔名稱。 |
systemData |
Azure Resource Manager 包含 createdBy 和 modifiedBy 資訊的中繼資料。 |
|
tags |
object |
資源標籤。 |
type |
string |
資源類型。 例如“Microsoft.Compute/virtualMachines” 或 “Microsoft.Storage/storageAccounts” |
ContainerAppProbe
探查描述要針對容器執行的健全狀況檢查,以判斷它是否運作或準備好接收流量。
名稱 | 類型 | Description |
---|---|---|
failureThreshold |
integer |
探查在成功之後視為失敗的最小連續失敗。 預設值為 3。 最小值為 1。 最大值為 10。 |
httpGet |
HTTPGet 會指定要執行的 HTTP 要求。 |
|
initialDelaySeconds |
integer |
在起始活躍度探查之前,容器啟動後的秒數。 最小值為 1。 最大值為 60。 |
periodSeconds |
integer |
執行探查的頻率 (以秒為單位)。 預設值為 10 秒。 最小值為 1。 最大值為 240。 |
successThreshold |
integer |
在失敗之後,探查要視為成功的最小連續成功。 預設值為 1。 必須為 1,才能讓活躍度和啟動。 最小值為 1。 最大值為 10。 |
tcpSocket |
TCPSocket 指定涉及 TCP 連接埠的動作。 尚未支援 TCP 攔截。 |
|
terminationGracePeriodSeconds |
integer |
Pod 必須在探查失敗時正常終止的選擇性持續時間,以秒為單位。 寬限期是在 Pod 中執行的行程傳送終止訊號後,以秒為單位的持續時間,以及當進程以終止訊號強制停止的時間。 將此值設為超過程序的預期清除時間。 如果此值為 nil,則會使用 Pod 的終止GracePeriodSeconds。 否則,這個值會覆寫Pod規格所提供的值。值必須是非負整數。 值零表示透過終止訊號立即停止, (沒有機會關閉) 。 這是Alpha字段,需要啟用 ProbeTerminationGracePeriod 功能閘道。 最大值為3600秒, (1小時) |
timeoutSeconds |
integer |
探查逾時後的秒數。預設為1秒。 最小值為 1。 最大值為 240。 |
type |
探查的類型。 |
ContainerAppProvisioningState
容器應用程式的布建狀態。
名稱 | 類型 | Description |
---|---|---|
Canceled |
string |
|
Deleting |
string |
|
Failed |
string |
|
InProgress |
string |
|
Succeeded |
string |
ContainerResources
容器應用程式容器資源需求。
名稱 | 類型 | Description |
---|---|---|
cpu |
number |
核心中所需的CPU,例如0.5 |
ephemeralStorage |
string |
暫時記憶體,例如 “1Gi” |
memory |
string |
必要的記憶體,例如 “250Mb” |
CorsPolicy
跨原始來源資源分享原則
名稱 | 類型 | Description |
---|---|---|
allowCredentials |
boolean |
指定資源是否允許認證 |
allowedHeaders |
string[] |
指定 access-control-allow-headers 標頭的內容 |
allowedMethods |
string[] |
指定 access-control-allow-methods 標頭的內容 |
allowedOrigins |
string[] |
指定 access-control-allow-origins 標頭的內容 |
exposeHeaders |
string[] |
指定 access-control-expose-headers 標頭的內容 |
maxAge |
integer |
指定 access-control-max-age 標頭的內容 |
createdByType
建立資源的身分識別類型。
名稱 | 類型 | Description |
---|---|---|
Application |
string |
|
Key |
string |
|
ManagedIdentity |
string |
|
User |
string |
CustomDomain
容器應用程式的 Custom Domain
名稱 | 類型 | Description |
---|---|---|
bindingType |
Custom Domain 系結類型。 |
|
certificateId |
string |
要系結至此主機名之憑證的資源標識符。 必須存在於受控環境中。 |
name |
string |
主機名稱。 |
CustomScaleRule
容器應用程式容器 自定義調整規則。
名稱 | 類型 | Description |
---|---|---|
auth |
自訂調整規則的驗證秘密。 |
|
metadata |
object |
描述自定義縮放規則的元數據屬性。 |
type |
string |
自定義縮放規則的類型,例如:azure-servicebus、redis 等。 |
Dapr
容器應用程式 Dapr 設定。
名稱 | 類型 | 預設值 | Description |
---|---|---|---|
appId |
string |
Dapr 應用程式識別碼 |
|
appPort |
integer |
告知 Dapr 應用程式正在接聽的埠 |
|
appProtocol | http |
告知 Dapr 您的應用程式正在使用的通訊協定。 有效的選項為 HTTP 和 grpc。 預設值為 HTTP |
|
enableApiLogging |
boolean |
啟用 Dapr Sidecar 的 API 記錄 |
|
enabled |
boolean |
False |
布爾值,指出是否已啟用 Dapr 側車 |
httpMaxRequestSize |
integer |
以 MB 增加要求本文 HTTP 和 grpc 伺服器參數的大小上限,以處理大型檔案的上傳。 預設值為 4 MB。 |
|
httpReadBufferSize |
integer |
傳送多 KB 標頭時,要處理之 HTTP 標頭讀取緩衝區的大小上限。 預設值為 65KB。 |
|
logLevel |
設定 Dapr sidecar 的記錄層級。 允許的值為偵錯、資訊、警告、錯誤。 預設值為資訊。 |
DefaultErrorResponse
App Service 錯誤回應。
名稱 | 類型 | Description |
---|---|---|
error |
錯誤模型。 |
Details
詳細數據或錯誤
名稱 | 類型 | Description |
---|---|---|
code |
string |
標準化字串,以程序設計方式識別錯誤。 |
message |
string |
詳細的錯誤描述和偵錯資訊。 |
target |
string |
詳細的錯誤描述和偵錯資訊。 |
EnvironmentVar
容器應用程式容器環境變數。
名稱 | 類型 | Description |
---|---|---|
name |
string |
環境變數名稱。 |
secretRef |
string |
要從中提取環境變數值的容器應用程式秘密名稱。 |
value |
string |
非秘密環境變數值。 |
Error
錯誤模型。
名稱 | 類型 | Description |
---|---|---|
code |
string |
標準化字串,以程序設計方式識別錯誤。 |
details |
Details[] |
詳細數據或錯誤 |
innererror |
string |
偵錯錯誤的詳細資訊。 |
message |
string |
詳細的錯誤描述和偵錯資訊。 |
target |
string |
詳細的錯誤描述和偵錯資訊。 |
ExtendedLocation
擴充位置的複雜類型。
名稱 | 類型 | Description |
---|---|---|
name |
string |
擴充位置的名稱。 |
type |
擴充位置的類型。 |
ExtendedLocationTypes
擴充位置的類型。
名稱 | 類型 | Description |
---|---|---|
CustomLocation |
string |
HttpGet
HTTPGet 會指定要執行的 HTTP 要求。
名稱 | 類型 | Description |
---|---|---|
host |
string |
要連線的主機名,預設為 Pod IP。 您可能想要改為在 HTTPHeaders 中設定 「Host」。 |
httpHeaders |
在要求中設定的自定義標頭。 HTTP 允許重複的標頭。 |
|
path |
string |
在 HTTP 伺服器上存取的路徑。 |
port |
integer |
容器上要存取的埠名稱或號碼。 數位的範圍必須介於 1 到 65535 之間。 名稱必須是IANA_SVC_NAME。 |
scheme |
用於連線到主機的配置。 默認為 HTTP。 |
HttpHeaders
在要求中設定的自定義標頭。 HTTP 允許重複的標頭。
名稱 | 類型 | Description |
---|---|---|
name |
string |
標頭功能變數名稱 |
value |
string |
標頭域值 |
HttpScaleRule
容器應用程式容器 Http 調整規則。
名稱 | 類型 | Description |
---|---|---|
auth |
自訂調整規則的驗證秘密。 |
|
metadata |
object |
描述 HTTP 縮放規則的元資料屬性。 |
Ingress
容器應用程式輸入組態。
名稱 | 類型 | 預設值 | Description |
---|---|---|---|
additionalPortMappings |
在容器應用程式上公開其他埠的設定 |
||
allowInsecure |
boolean |
False |
布爾值,指出是否允許 HTTP 連線。 如果設定為 false HTTP 連線,則會自動重新導向至 HTTPS 連線 |
clientCertificateMode |
mTLS 驗證的客戶端憑證模式。 Ignore 表示伺服器卸除轉送上的客戶端憑證。 Accept 表示伺服器轉送客戶端憑證,但不需要客戶端憑證。 Require 表示伺服器需要客戶端憑證。 |
||
corsPolicy |
容器應用程式的 CORS 原則 |
||
customDomains |
Container Apps 主機名的自定義網域系結。 |
||
exposedPort |
integer |
來自輸入之 TCP 流量的容器中公開埠 |
|
external |
boolean |
False |
指出應用程式是否公開外部 HTTP 端點的 Bool |
fqdn |
string |
主機名稱。 |
|
ipSecurityRestrictions |
限制傳入IP位址的規則。 |
||
stickySessions |
單一修訂模式的黏性會話 |
||
targetPort |
integer |
來自輸入流量的容器中目標埠 |
|
traffic |
應用程式修訂的流量權數 |
||
transport | auto |
輸入傳輸通訊協定 |
IngressClientCertificateMode
mTLS 驗證的客戶端憑證模式。 Ignore 表示伺服器卸除轉送上的客戶端憑證。 Accept 表示伺服器轉送客戶端憑證,但不需要客戶端憑證。 Require 表示伺服器需要客戶端憑證。
名稱 | 類型 | Description |
---|---|---|
accept |
string |
|
ignore |
string |
|
require |
string |
IngressPortMapping
容器應用程式輸入的埠對應
名稱 | 類型 | Description |
---|---|---|
exposedPort |
integer |
指定目標埠的公開埠。 如果未指定,則會預設為目標埠 |
external |
boolean |
指定應用程式埠是否可在環境外部存取 |
targetPort |
integer |
指定埠使用者的容器接聽 |
IngressTransportMethod
輸入傳輸通訊協定
名稱 | 類型 | Description |
---|---|---|
auto |
string |
|
http |
string |
|
http2 |
string |
|
tcp |
string |
InitContainer
容器應用程式init容器定義
名稱 | 類型 | Description |
---|---|---|
args |
string[] |
容器啟動命令自變數。 |
command |
string[] |
容器啟動命令。 |
env |
容器環境變數。 |
|
image |
string |
容器映像標籤。 |
name |
string |
自訂容器名稱。 |
resources |
容器資源需求。 |
|
volumeMounts |
容器磁碟區掛接。 |
IpSecurityRestrictionRule
限制傳入IP位址的規則。
名稱 | 類型 | Description |
---|---|---|
action |
允許或拒絕規則判斷傳入IP。 注意:規則只能包含 ALL 允許或 ALL 拒絕 |
|
description |
string |
描述要傳送至 container-app 的IP限制規則。 這是選擇性欄位。 |
ipAddressRange |
string |
符合傳入IP位址的CIDR表示法 |
name |
string |
IP 限制規則的名稱。 |
logLevel
設定 Dapr sidecar 的記錄層級。 允許的值為偵錯、資訊、警告、錯誤。 預設值為資訊。
名稱 | 類型 | Description |
---|---|---|
debug |
string |
|
error |
string |
|
info |
string |
|
warn |
string |
ManagedServiceIdentity
受控服務識別 (系統指派和/或使用者指派的身分識別)
名稱 | 類型 | Description |
---|---|---|
principalId |
string |
系統指派身分識別的服務主體標識碼。 此屬性只會針對系統指派的身分識別提供。 |
tenantId |
string |
系統指派身分識別的租用戶標識碼。 此屬性只會針對系統指派的身分識別提供。 |
type |
(允許 SystemAssigned 和 UserAssigned 類型的受控服務識別類型) 。 |
|
userAssignedIdentities |
<string,
User |
User-Assigned 身分識別 |
ManagedServiceIdentityType
(允許 SystemAssigned 和 UserAssigned 類型的受控服務識別類型) 。
名稱 | 類型 | Description |
---|---|---|
None |
string |
|
SystemAssigned |
string |
|
SystemAssigned,UserAssigned |
string |
|
UserAssigned |
string |
QueueScaleRule
容器應用程式容器 Azure 佇列型調整規則。
名稱 | 類型 | Description |
---|---|---|
auth |
佇列調整規則的驗證秘密。 |
|
queueLength |
integer |
佇列長度。 |
queueName |
string |
佇列名稱。 |
RegistryCredentials
容器應用程式私人登錄
名稱 | 類型 | Description |
---|---|---|
identity |
string |
用來向 Azure Container Registry 進行驗證的受控識別。 針對使用者指派的身分識別,請使用完整的使用者指派身分識別資源標識碼。 針對系統指派的身分識別,請使用 'system' |
passwordSecretRef |
string |
包含登錄登入密碼的秘密名稱 |
server |
string |
Container Registry Server |
username |
string |
Container Registry 用戶名稱 |
Scale
容器應用程式調整設定。
名稱 | 類型 | 預設值 | Description |
---|---|---|---|
maxReplicas |
integer |
10 |
選擇性。 容器復本的數目上限。 如果未設定,則預設為10。 |
minReplicas |
integer |
選擇性。 容器復本數目下限。 |
|
rules |
調整規則。 |
ScaleRule
容器應用程式容器調整規則。
名稱 | 類型 | Description |
---|---|---|
azureQueue |
以 Azure 隊列為基礎的調整。 |
|
custom |
自定義縮放規則。 |
|
http |
HTTP 要求型調整。 |
|
name |
string |
調整規則名稱 |
tcp |
Tcp 要求型調整。 |
ScaleRuleAuth
調整規則的驗證秘密
名稱 | 類型 | Description |
---|---|---|
secretRef |
string |
要從中提取驗證參數的秘密名稱。 |
triggerParameter |
string |
使用秘密的觸發程序參數 |
Scheme
用於連線至主機的配置。 默認為 HTTP。
名稱 | 類型 | Description |
---|---|---|
HTTP |
string |
|
HTTPS |
string |
Secret
秘密定義。
名稱 | 類型 | Description |
---|---|---|
identity |
string |
要向 Azure 金鑰保存庫 進行驗證的受控識別資源識別碼,或使用系統指派的身分識別。 |
keyVaultUrl |
string |
Azure 金鑰保存庫 URL,指向容器應用程式所參考的秘密。 |
name |
string |
秘密名稱。 |
value |
string |
秘密值。 |
SecretVolumeItem
要新增至磁碟區的秘密。
名稱 | 類型 | Description |
---|---|---|
path |
string |
項目密碼的路徑。 如果未提供路徑,path 預設為 secretRef 中列出的秘密名稱。 |
secretRef |
string |
要從中提取秘密值的容器應用程式秘密名稱。 |
Service
容器應用程式成為開發服務
名稱 | 類型 | Description |
---|---|---|
type |
string |
Dev ContainerApp 服務類型 |
ServiceBind
將 ContainerApp 系結至 Dev ContainerApp Service 的組態
名稱 | 類型 | Description |
---|---|---|
clientType |
string |
要用來連線至服務的客戶端類型 |
customizedKeys |
object |
自訂金鑰,可將插入的值自定義至應用程式 |
name |
string |
服務系結的名稱 |
serviceId |
string |
目標服務的資源標識碼 |
StickySessions
單一修訂模式的黏性會話
名稱 | 類型 | Description |
---|---|---|
affinity |
黏性會話親和性 |
StorageType
磁碟區的儲存類型。 如果未提供,請使用 EmptyDir。
名稱 | 類型 | Description |
---|---|---|
AzureFile |
string |
|
EmptyDir |
string |
|
Secret |
string |
systemData
與建立和上次修改資源相關的元數據。
名稱 | 類型 | Description |
---|---|---|
createdAt |
string |
資源建立的時間戳 (UTC) 。 |
createdBy |
string |
建立資源的身分識別。 |
createdByType |
建立資源的身分識別類型。 |
|
lastModifiedAt |
string |
上次修改的資源時間戳 (UTC) |
lastModifiedBy |
string |
上次修改資源的身分識別。 |
lastModifiedByType |
上次修改資源的身分識別類型。 |
TcpScaleRule
容器應用程式容器 Tcp 調整規則。
名稱 | 類型 | Description |
---|---|---|
auth |
tcp 調整規則的驗證秘密。 |
|
metadata |
object |
描述 tcp 縮放規則的元數據屬性。 |
TcpSocket
TCPSocket 指定涉及 TCP 連接埠的動作。 尚未支援 TCP 攔截。
名稱 | 類型 | Description |
---|---|---|
host |
string |
選擇性:要連線的主機名,預設為 Pod IP。 |
port |
integer |
容器上要存取的埠編號或名稱。 數位的範圍必須介於 1 到 65535 之間。 名稱必須是IANA_SVC_NAME。 |
Template
容器應用程式已建立版本的應用程式定義。 定義不可變修訂的預期狀態。 本節的任何變更將會導致建立新的修訂
名稱 | 類型 | Description |
---|---|---|
containers |
容器應用程式的容器定義清單。 |
|
initContainers |
在應用程式容器之前執行的特製化容器清單。 |
|
revisionSuffix |
string |
附加至修訂名稱的使用者易記後綴 |
scale |
調整容器應用程式的屬性。 |
|
serviceBinds |
系結至應用程式的容器應用程式服務清單 |
|
terminationGracePeriodSeconds |
integer |
容器應用程式實例需要正常終止的秒數選擇性持續時間。 值必須是非負整數。 零值表示透過終止訊號立即停止, (沒有機會關閉) 。 如果此值為 nil,則會改用預設寬限期。 將此值設為超過程序的預期清除時間。 預設為 30 秒。 |
volumes |
Volume[] |
容器應用程式的磁碟區定義清單。 |
TrafficWeight
指派給修訂的流量權數
名稱 | 類型 | 預設值 | Description |
---|---|---|---|
label |
string |
建立流量標籤與修訂的關聯 |
|
latestRevision |
boolean |
False |
表示流量權數屬於最新的穩定修訂 |
revisionName |
string |
修訂的名稱 |
|
weight |
integer |
指派給修訂的流量權數 |
Type
探查的類型。
名稱 | 類型 | Description |
---|---|---|
Liveness |
string |
|
Readiness |
string |
|
Startup |
string |
UserAssignedIdentity
使用者指派的身分識別屬性
名稱 | 類型 | Description |
---|---|---|
clientId |
string |
指派之身分識別的用戶端標識碼。 |
principalId |
string |
指派之身分識別的主體標識碼。 |
Volume
容器應用程式的磁碟區定義。
名稱 | 類型 | Description |
---|---|---|
mountOptions |
string |
掛接 AzureFile 時所使用的掛接選項。 必須是逗號分隔字串。 |
name |
string |
磁碟區名稱。 |
secrets |
要加入磁碟區中的秘密清單。 如果未提供任何秘密,集合中的所有秘密都會新增至磁碟區。 |
|
storageName |
string |
記憶體資源的名稱。 不需要提供 EmptyDir 和 Secret。 |
storageType |
磁碟區的儲存類型。 如果未提供,請使用 EmptyDir。 |
VolumeMount
容器應用程式的磁碟區掛接。
名稱 | 類型 | Description |
---|---|---|
mountPath |
string |
容器內應該掛接磁碟區的路徑。不得包含 『:』。 |
subPath |
string |
應該從中掛接容器磁碟區之磁碟區內的路徑。 預設為 “” (磁碟區的根) 。 |
volumeName |
string |
這必須符合磁碟區的名稱。 |