共用方式為


Microsoft.App containerApps 2023-05-02-preview

Bicep 資源定義

containerApps 資源類型可以使用目標作業來部署:

如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔

資源格式

若要建立 Microsoft.App/containerApps 資源,請將下列 Bicep 新增至範本。

resource symbolicname 'Microsoft.App/containerApps@2023-05-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
        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: [
        {
          name: 'string'
          serviceId: 'string'
        }
      ]
      terminationGracePeriodSeconds: int
      volumes: [
        {
          mountOptions: 'string'
          name: 'string'
          secrets: [
            {
              path: 'string'
              secretRef: 'string'
            }
          ]
          storageName: 'string'
          storageType: 'string'
        }
      ]
    }
    workloadProfileName: 'string'
  }
}

屬性值

containerApps

名字 描述 價值
名字 資源名稱 字串 (必要)

字元限制:2-32

合法字元:
小寫字母、數位和連字元。。

以字母開頭,並以英數位元結尾。
位置 資源所在的地理位置 字串 (必要)
標籤 資源標籤。 標記名稱和值的字典。 請參閱範本中的 標籤
extendedLocation 擴充位置的複雜類型。 ExtendedLocation
身份 容器應用程式的受控識別可與其他 Azure 服務互動,而不需在程式碼中維護任何秘密或認證。 ManagedServiceIdentity
managedBy 管理此資源之資源的完整資源標識碼。 指出此資源是否由另一個 Azure 資源管理。 如果存在,如果從範本中移除,則完整模式部署將不會刪除資源,因為該資源是由另一個資源管理。 字串
性能 ContainerApp 資源特定屬性 ContainerAppProperties

ExtendedLocation

名字 描述 價值
名字 擴充位置的名稱。 字串
類型 擴充位置的類型。 'CustomLocation'

ManagedServiceIdentity

名字 描述 價值
類型 受控服務識別的類型(允許 SystemAssigned 和 UserAssigned 類型)。 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (必要)
userAssignedIdentities 與資源相關聯的使用者指派身分識別集。 userAssignedIdentities 字典索引鍵的格式為 ARM 資源標識符:'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}。 字典值可以是要求中的空白物件({})。 UserAssignedIdentities

UserAssignedIdentities

名字 描述 價值
{自定義屬性} UserAssignedIdentity

UserAssignedIdentity

此物件不包含在部署期間設定的任何屬性。 所有屬性都是 ReadOnly。

ContainerAppProperties

名字 描述 價值
配置 非版本設定的容器應用程式組態屬性。 組態
environmentId 環境的資源標識碼。 字串
managedEnvironmentId 荒廢的。 容器應用程式環境的資源標識碼。 字串
範本 容器應用程式已建立版本的應用程式定義。 範本
workloadProfileName 要釘選以進行容器應用程式執行的工作負載配置檔名稱。 字串

配置

名字 描述 價值
activeRevisionsMode ActiveRevisionsMode 控制容器應用程式的使用中修訂處理方式:
{list}{item}多個:多個修訂可以作用中。{/item}{item}單一:一次只能有一個修訂作用中。 無法在此模式中使用修訂權數。 如果未提供任何值,則這是預設值。{/item}{/list}
'Multiple'
'Single'
dapr 容器應用程式的 Dapr 組態。 達普
入口 輸入組態。 輸入
maxInactiveRevisions 自選。 容器應用程式可以擁有的最大非使用中修訂。 int
登記處 容器應用程式所使用的容器的私人容器登錄認證集合 RegistryCredentials[]
秘密 容器應用程式所使用的秘密集合 秘密[]
服務 作為開發容器 App Service 的容器應用程式 Service

Dapr

名字 描述 價值
appId Dapr 應用程式識別碼 字串
appPort 告知 Dapr 您的應用程式正在接聽哪個埠 int
appProtocol 告知 Dapr 您的應用程式所使用的通訊協定。 有效的選項為 HTTP 和 grpc。 預設值為 HTTP 'grpc'
'http'
enableApiLogging 啟用 Dapr Sidecar 的 API 記錄 bool
啟用 布爾值,指出 Dapr 側車是否已啟用 bool
httpMaxRequestSize 增加 MB 中要求本文 HTTP 和 grpc 伺服器參數的大小上限,以處理大型檔案上傳。 預設值為 4 MB。 int
httpReadBufferSize 在傳送多 KB 標頭標頭時,要處理之 HTTP 標頭讀取緩衝區的大小上限。 預設值為 65KB。 int
logLevel 設定 Dapr 側車的記錄層級。 允許的值為偵錯、資訊、警告、錯誤。 預設值為 info。 'debug'
'error'
'info'
'warn'

入口

名字 描述 價值
additionalPortMappings 在容器應用程式上公開其他埠的設定 IngressPortMapping[]
allowInsecure 布爾,指出是否允許 HTTP 連線。 如果設定為 false HTTP 連線,則會自動重新導向至 HTTPS 連線 bool
clientCertificateMode mTLS 驗證的客戶端憑證模式。 Ignore 表示伺服器在轉送時卸除客戶端憑證。 Accept 表示伺服器轉送客戶端憑證,但不需要客戶端憑證。 Require 表示伺服器需要客戶端憑證。 'accept'
'ignore'
'require'
corsPolicy 容器應用程式的 CORS 原則 CorsPolicy
customDomains Container Apps 主機名的自定義網域系結。 CustomDomain[]
exposedPort 容器中公開的埠,用於來自輸入的 TCP 流量 int
外部 布爾值,指出應用程式是否公開外部 HTTP 端點 bool
ipSecurityRestrictions 限制連入IP位址的規則。 IpSecurityRestrictionRule[]
stickySessions 單一修訂模式的黏性會話 IngressStickySessions
targetPort 來自輸入流量的容器中目標埠 int
交通 應用程式修訂的流量權數 TrafficWeight[]
運輸 輸入傳輸通訊協定 'auto'
'http'
'http2'
'tcp'

IngressPortMapping

名字 描述 價值
exposedPort 指定目標埠的公開埠。 如果未指定,則會預設為目標埠 int
外部 指定應用程式埠是否可在環境外部存取 布林 (必要)
targetPort 指定埠使用者的容器接聽 int (必要)

CorsPolicy

名字 描述 價值
allowCredentials 指定資源是否允許認證 bool
allowedHeaders 指定 access-control-allow-headers 標頭的內容 string[]
allowedMethods 指定 access-control-allow-methods 標頭的內容 string[]
allowedOrigins 指定 access-control-allow-origins 標頭的內容 string[] (必要)
publicHeaders 指定 access-control-expose-headers 標頭的內容 string[]
maxAge 指定 access-control-max-age 標頭的內容 int

CustomDomain

名字 描述 價值
bindingType 自定義網域系結類型。 'Disabled'
'SniEnabled'
certificateId 要系結至此主機名之憑證的資源標識符。 必須存在於受控環境中。 字串
名字 主機名。 字串 (必要)

IpSecurityRestrictionRule

名字 描述 價值
行動 允許或拒絕規則來判斷傳入IP。 注意:規則只能包含 ALL 允許或全部拒絕 'Allow'
'拒絕' (必要)
描述 描述要傳送至 container-app 的IP限制規則。 這是選擇性欄位。 字串
ipAddressRange 符合連入IP位址的CIDR表示法 字串 (必要)
名字 IP 限制規則的名稱。 字串 (必要)

IngressStickySessions

名字 描述 價值
親和力 黏性會話親和性 'none'
'粘性'

TrafficWeight

名字 描述 價值
標籤 將流量標籤與修訂產生關聯 字串
latestRevision 表示流量權數屬於最新的穩定修訂 bool
revisionName 修訂的名稱 字串
重量 指派給修訂的流量權數 int

RegistryCredentials

名字 描述 價值
身份 用來向 Azure Container Registry 進行驗證的受控識別。 針對使用者指派的身分識別,請使用使用者指派的完整身分識別資源標識碼。 針對系統指派的身分識別,請使用 'system' 字串
passwordSecretRef 包含登錄登入密碼的秘密名稱 字串
伺服器 Container Registry Server 字串
username Container Registry 用戶名稱 字串

秘密

名字 描述 價值
身份 要向 Azure Key Vault 進行驗證的受控識別資源識別碼,或使用系統指派的身分識別。 字串
keyVaultUrl 指向容器應用程式所參考秘密的 Azure Key Vault URL。 字串
名字 秘密名稱。 字串
價值 秘密值。 字串

約束:
敏感性值。 以安全參數的形式傳入。

服務

名字 描述 價值
類型 Dev ContainerApp 服務類型 字串 (必要)

範本

名字 描述 價值
器皿 容器應用程式的容器定義清單。 容器[]
initContainers 在應用程式容器之前執行的特殊容器清單。 InitContainer[]
revisionSuffix 附加至修訂名稱的使用者易記後綴 字串
規模 調整容器應用程式的屬性。 調整
serviceBinds 系結至應用程式的容器應用程式服務清單 ServiceBind[]
terminationGracePeriodSeconds 容器應用程式實例必須正常終止的選擇性持續時間,以秒為單位。 值必須是非負整數。 值零表示透過終止訊號立即停止(沒有機會關閉)。 如果此值為 nil,則會改用預設寬限期。 設定此值的時間超過程式的預期清除時間。 預設值為30秒。 int
容器應用程式的磁碟區定義清單。 磁碟區[]

容器

名字 描述 價值
args 容器啟動命令自變數。 string[]
命令 容器啟動命令。 string[]
env 容器環境變數。 EnvironmentVar[]
圖像 容器映像標記。 字串
名字 自訂容器名稱。 字串
探針 容器的探查清單。 ContainerAppProbe[]
資源 容器資源需求。 ContainerResources
volumeMounts 容器磁碟區掛接。 VolumeMount[]

EnvironmentVar

名字 描述 價值
名字 環境變數名稱。 字串
secretRef 要從中提取環境變數值的容器應用程式秘密名稱。 字串
價值 非秘密環境變數值。 字串

ContainerAppProbe

名字 描述 價值
failureThreshold 探查在成功之後,要視為失敗的最小連續失敗。 預設值為 3。 最小值為 1。 最大值為 10。 int
httpGet HTTPGet 指定要執行的 HTTP 要求。 ContainerAppProbeHttpGet
initialDelaySeconds 在起始即時探查之前,容器啟動后的秒數。 最小值為 1。 最大值為 60。 int
periodSeconds 執行探查的頻率(以秒為單位)。 預設為10秒。 最小值為 1。 最大值為 240。 int
successThreshold 探查在失敗后要視為成功的最小連續成功。 預設值為 1。 對於活躍度和啟動,必須是1。 最小值為 1。 最大值為 10。 int
tcpSocket TCPSocket 會指定涉及 TCP 連接埠的動作。 尚不支援 TCP 攔截。 ContainerAppProbeTcpSocket
terminationGracePeriodSeconds Pod 必須在探查失敗時正常終止的選擇性持續時間,以秒為單位。 寬限期是在 Pod 中執行的進程傳送終止訊號,以及以終止訊號強制停止進程的時間後,以秒為單位的持續時間。 設定此值的時間超過程式的預期清除時間。 如果此值為 nil,將會使用 Pod 的終止GracePeriodSeconds。 否則,此值會覆寫Pod規格所提供的值。值必須是非負整數。 值零表示透過終止訊號立即停止(沒有機會關閉)。 這是Alpha字段,需要啟用 ProbeTerminationGracePeriod 功能閘道。 最大值為 3600 秒(1 小時) int
timeoutSeconds 探查逾時後的秒數。預設值為 1 秒。 最小值為 1。 最大值為 240。 int
類型 探查的類型。 '活潑'
「整備」
'Startup'

ContainerAppProbeHttpGet

名字 描述 價值
主機 要連線的主機名,預設為 Pod IP。 您可能想要改為在 HTTPHeaders 中設定 「Host」。 字串
httpHeaders 在要求中設定的自定義標頭。 HTTP 允許重複的標頭。 ContainerAppProbeHttpGetHttpHeadersItem[]
路徑 HTTP 伺服器上存取的路徑。 字串
港口 要存取容器的埠名稱或號碼。 數字必須介於 1 到 65535 的範圍內。 名稱必須是IANA_SVC_NAME。 int (必要)
方案 用於連線到主機的配置。 默認為 HTTP。 'HTTP'
'HTTPS'

ContainerAppProbeHttpGetHttpHeadersItem

名字 描述 價值
名字 標頭功能變數名稱 字串 (必要)
價值 標頭域值 字串 (必要)

ContainerAppProbeTcpSocket

名字 描述 價值
主機 選擇性:要連線的主機名,預設為 Pod IP。 字串
港口 要存取容器的埠數目或名稱。 數字必須介於 1 到 65535 的範圍內。 名稱必須是IANA_SVC_NAME。 int (必要)

ContainerResources

名字 描述 價值
中央處理器 核心中所需的 CPU,例如 0.5 若要指定十進位值,請使用 json() 函式。 int 或 json decimal
記憶 所需的記憶體,例如 “250Mb” 字串

VolumeMount

名字 描述 價值
mountPath 容器內應掛接磁碟區的路徑。不得包含 『:』。 字串
subPath 應從中掛接容器磁碟區所在的磁碟區路徑。 預設為 “” (磁碟區的根目錄)。 字串
volumeName 這必須符合磁碟區的名稱。 字串

InitContainer

名字 描述 價值
args 容器啟動命令自變數。 string[]
命令 容器啟動命令。 string[]
env 容器環境變數。 EnvironmentVar[]
圖像 容器映像標記。 字串
名字 自訂容器名稱。 字串
資源 容器資源需求。 ContainerResources
volumeMounts 容器磁碟區掛接。 VolumeMount[]

規模

名字 描述 價值
maxReplicas 自選。 容器復本的數目上限。 如果未設定,則預設為10。 int
minReplicas 自選。 容器復本數目下限。 int
規則 調整規則。 ScaleRule[]

ScaleRule

名字 描述 價值
azureQueue 以 Azure 隊列為基礎的調整。 QueueScaleRule
習慣 自定義縮放規則。 CustomScaleRule
http HTTP 要求型調整。 HttpScaleRule
名字 調整規則名稱 字串
tcp Tcp 要求型調整。 TcpScaleRule

QueueScaleRule

名字 描述 價值
認證 佇列調整規則的驗證秘密。 ScaleRuleAuth[]
queueLength 佇列長度。 int
queueName 佇列名稱。 字串

ScaleRuleAuth

名字 描述 價值
secretRef 要從中提取驗證參數的秘密名稱。 字串
triggerParameter 使用秘密的觸發程序參數 字串

CustomScaleRule

名字 描述 價值
認證 自訂調整規則的驗證秘密。 ScaleRuleAuth[]
元數據 描述自定義縮放規則的元數據屬性。 CustomScaleRuleMetadata
類型 自訂調整規則的類型
例如:azure-servicebus、redis 等。
字串

CustomScaleRuleMetadata

名字 描述 價值
{自定義屬性} 字串

HttpScaleRule

名字 描述 價值
認證 自訂調整規則的驗證秘密。 ScaleRuleAuth[]
元數據 描述 HTTP 縮放規則的元資料屬性。 HttpScaleRuleMetadata

HttpScaleRuleMetadata

名字 描述 價值
{自定義屬性} 字串

TcpScaleRule

名字 描述 價值
認證 TCP 調整規則的驗證秘密。 ScaleRuleAuth[]
元數據 描述 tcp 調整規則的元數據屬性。 TcpScaleRuleMetadata

TcpScaleRuleMetadata

名字 描述 價值
{自定義屬性} 字串

ServiceBind

名字 描述 價值
名字 服務系結的名稱 字串
serviceId 目標服務的資源標識碼 字串

名字 描述 價值
mountOptions 掛接 AzureFile 時所使用的掛接選項。 必須是逗號分隔字串。 字串
名字 磁碟區名稱。 字串
秘密 要加入磁碟區中的秘密清單。 如果未提供秘密,集合中的所有秘密都會新增至磁碟區。 SecretVolumeItem[]
storageName 記憶體資源的名稱。 不需要提供 EmptyDir 和 Secret。 字串
storageType 磁碟區的儲存類型。 如果未提供,請使用 EmptyDir。 'AzureFile'
'EmptyDir'
'Secret'

SecretVolumeItem

名字 描述 價值
路徑 專案秘密的路徑。 如果未提供路徑,則path預設為secretRef中列出的秘密名稱。 字串
secretRef 要從中提取秘密值的容器應用程式秘密名稱。 字串

快速入門範本

下列快速入門範本會部署此資源類型。

範本 描述
使用登錄建立容器應用程式和環境

部署至 Azure
使用 Azure Container Registry 的基本容器應用程式建立容器應用程式環境。 它也會部署Log Analytics工作區來儲存記錄。
使用容器應用程式環境建立兩個容器應用程式

部署至 Azure
使用基本容器應用程式建立兩個容器應用程式環境。 它也會部署Log Analytics工作區來儲存記錄。
在容器應用程式環境內建立容器應用程式

部署至 Azure
使用基本容器應用程式建立容器應用程式環境。 它也會部署Log Analytics工作區來儲存記錄。
使用定義的 HTTP 調整規則建立容器應用程式

部署至 Azure
使用以 HTTP 流量為基礎的基本容器應用程式來建立容器應用程式環境。
使用 VNET 建立外部容器應用程式環境

部署至 Azure
使用 VNET 建立外部容器應用程式環境。
使用 VNET 建立內部容器應用程式環境

部署至 Azure
使用 VNET 建立內部容器應用程式環境。

ARM 樣本資源定義

containerApps 資源類型可以使用目標作業來部署:

如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔

資源格式

若要建立 Microsoft.App/containerApps 資源,請將下列 JSON 新增至範本。

{
  "type": "Microsoft.App/containerApps",
  "apiVersion": "2023-05-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",
        "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": [
        {
          "name": "string",
          "serviceId": "string"
        }
      ],
      "terminationGracePeriodSeconds": "int",
      "volumes": [
        {
          "mountOptions": "string",
          "name": "string",
          "secrets": [
            {
              "path": "string",
              "secretRef": "string"
            }
          ],
          "storageName": "string",
          "storageType": "string"
        }
      ]
    },
    "workloadProfileName": "string"
  }
}

屬性值

containerApps

名字 描述 價值
類型 資源類型 'Microsoft.App/containerApps'
apiVersion 資源 API 版本 '2023-05-02-preview'
名字 資源名稱 字串 (必要)

字元限制:2-32

合法字元:
小寫字母、數位和連字元。。

以字母開頭,並以英數位元結尾。
位置 資源所在的地理位置 字串 (必要)
標籤 資源標籤。 標記名稱和值的字典。 請參閱範本中的 標籤
extendedLocation 擴充位置的複雜類型。 ExtendedLocation
身份 容器應用程式的受控識別可與其他 Azure 服務互動,而不需在程式碼中維護任何秘密或認證。 ManagedServiceIdentity
managedBy 管理此資源之資源的完整資源標識碼。 指出此資源是否由另一個 Azure 資源管理。 如果存在,如果從範本中移除,則完整模式部署將不會刪除資源,因為該資源是由另一個資源管理。 字串
性能 ContainerApp 資源特定屬性 ContainerAppProperties

ExtendedLocation

名字 描述 價值
名字 擴充位置的名稱。 字串
類型 擴充位置的類型。 'CustomLocation'

ManagedServiceIdentity

名字 描述 價值
類型 受控服務識別的類型(允許 SystemAssigned 和 UserAssigned 類型)。 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (必要)
userAssignedIdentities 與資源相關聯的使用者指派身分識別集。 userAssignedIdentities 字典索引鍵的格式為 ARM 資源標識符:'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}。 字典值可以是要求中的空白物件({})。 UserAssignedIdentities

UserAssignedIdentities

名字 描述 價值
{自定義屬性} UserAssignedIdentity

UserAssignedIdentity

此物件不包含在部署期間設定的任何屬性。 所有屬性都是 ReadOnly。

ContainerAppProperties

名字 描述 價值
配置 非版本設定的容器應用程式組態屬性。 組態
environmentId 環境的資源標識碼。 字串
managedEnvironmentId 荒廢的。 容器應用程式環境的資源標識碼。 字串
範本 容器應用程式已建立版本的應用程式定義。 範本
workloadProfileName 要釘選以進行容器應用程式執行的工作負載配置檔名稱。 字串

配置

名字 描述 價值
activeRevisionsMode ActiveRevisionsMode 控制容器應用程式的使用中修訂處理方式:
{list}{item}多個:多個修訂可以作用中。{/item}{item}單一:一次只能有一個修訂作用中。 無法在此模式中使用修訂權數。 如果未提供任何值,則這是預設值。{/item}{/list}
'Multiple'
'Single'
dapr 容器應用程式的 Dapr 組態。 達普
入口 輸入組態。 輸入
maxInactiveRevisions 自選。 容器應用程式可以擁有的最大非使用中修訂。 int
登記處 容器應用程式所使用的容器的私人容器登錄認證集合 RegistryCredentials[]
秘密 容器應用程式所使用的秘密集合 秘密[]
服務 作為開發容器 App Service 的容器應用程式 Service

Dapr

名字 描述 價值
appId Dapr 應用程式識別碼 字串
appPort 告知 Dapr 您的應用程式正在接聽哪個埠 int
appProtocol 告知 Dapr 您的應用程式所使用的通訊協定。 有效的選項為 HTTP 和 grpc。 預設值為 HTTP 'grpc'
'http'
enableApiLogging 啟用 Dapr Sidecar 的 API 記錄 bool
啟用 布爾值,指出 Dapr 側車是否已啟用 bool
httpMaxRequestSize 增加 MB 中要求本文 HTTP 和 grpc 伺服器參數的大小上限,以處理大型檔案上傳。 預設值為 4 MB。 int
httpReadBufferSize 在傳送多 KB 標頭標頭時,要處理之 HTTP 標頭讀取緩衝區的大小上限。 預設值為 65KB。 int
logLevel 設定 Dapr 側車的記錄層級。 允許的值為偵錯、資訊、警告、錯誤。 預設值為 info。 'debug'
'error'
'info'
'warn'

入口

名字 描述 價值
additionalPortMappings 在容器應用程式上公開其他埠的設定 IngressPortMapping[]
allowInsecure 布爾,指出是否允許 HTTP 連線。 如果設定為 false HTTP 連線,則會自動重新導向至 HTTPS 連線 bool
clientCertificateMode mTLS 驗證的客戶端憑證模式。 Ignore 表示伺服器在轉送時卸除客戶端憑證。 Accept 表示伺服器轉送客戶端憑證,但不需要客戶端憑證。 Require 表示伺服器需要客戶端憑證。 'accept'
'ignore'
'require'
corsPolicy 容器應用程式的 CORS 原則 CorsPolicy
customDomains Container Apps 主機名的自定義網域系結。 CustomDomain[]
exposedPort 容器中公開的埠,用於來自輸入的 TCP 流量 int
外部 布爾值,指出應用程式是否公開外部 HTTP 端點 bool
ipSecurityRestrictions 限制連入IP位址的規則。 IpSecurityRestrictionRule[]
stickySessions 單一修訂模式的黏性會話 IngressStickySessions
targetPort 來自輸入流量的容器中目標埠 int
交通 應用程式修訂的流量權數 TrafficWeight[]
運輸 輸入傳輸通訊協定 'auto'
'http'
'http2'
'tcp'

IngressPortMapping

名字 描述 價值
exposedPort 指定目標埠的公開埠。 如果未指定,則會預設為目標埠 int
外部 指定應用程式埠是否可在環境外部存取 布林 (必要)
targetPort 指定埠使用者的容器接聽 int (必要)

CorsPolicy

名字 描述 價值
allowCredentials 指定資源是否允許認證 bool
allowedHeaders 指定 access-control-allow-headers 標頭的內容 string[]
allowedMethods 指定 access-control-allow-methods 標頭的內容 string[]
allowedOrigins 指定 access-control-allow-origins 標頭的內容 string[] (必要)
publicHeaders 指定 access-control-expose-headers 標頭的內容 string[]
maxAge 指定 access-control-max-age 標頭的內容 int

CustomDomain

名字 描述 價值
bindingType 自定義網域系結類型。 'Disabled'
'SniEnabled'
certificateId 要系結至此主機名之憑證的資源標識符。 必須存在於受控環境中。 字串
名字 主機名。 字串 (必要)

IpSecurityRestrictionRule

名字 描述 價值
行動 允許或拒絕規則來判斷傳入IP。 注意:規則只能包含 ALL 允許或全部拒絕 'Allow'
'拒絕' (必要)
描述 描述要傳送至 container-app 的IP限制規則。 這是選擇性欄位。 字串
ipAddressRange 符合連入IP位址的CIDR表示法 字串 (必要)
名字 IP 限制規則的名稱。 字串 (必要)

IngressStickySessions

名字 描述 價值
親和力 黏性會話親和性 'none'
'粘性'

TrafficWeight

名字 描述 價值
標籤 將流量標籤與修訂產生關聯 字串
latestRevision 表示流量權數屬於最新的穩定修訂 bool
revisionName 修訂的名稱 字串
重量 指派給修訂的流量權數 int

RegistryCredentials

名字 描述 價值
身份 用來向 Azure Container Registry 進行驗證的受控識別。 針對使用者指派的身分識別,請使用使用者指派的完整身分識別資源標識碼。 針對系統指派的身分識別,請使用 'system' 字串
passwordSecretRef 包含登錄登入密碼的秘密名稱 字串
伺服器 Container Registry Server 字串
username Container Registry 用戶名稱 字串

秘密

名字 描述 價值
身份 要向 Azure Key Vault 進行驗證的受控識別資源識別碼,或使用系統指派的身分識別。 字串
keyVaultUrl 指向容器應用程式所參考秘密的 Azure Key Vault URL。 字串
名字 秘密名稱。 字串
價值 秘密值。 字串

約束:
敏感性值。 以安全參數的形式傳入。

服務

名字 描述 價值
類型 Dev ContainerApp 服務類型 字串 (必要)

範本

名字 描述 價值
器皿 容器應用程式的容器定義清單。 容器[]
initContainers 在應用程式容器之前執行的特殊容器清單。 InitContainer[]
revisionSuffix 附加至修訂名稱的使用者易記後綴 字串
規模 調整容器應用程式的屬性。 調整
serviceBinds 系結至應用程式的容器應用程式服務清單 ServiceBind[]
terminationGracePeriodSeconds 容器應用程式實例必須正常終止的選擇性持續時間,以秒為單位。 值必須是非負整數。 值零表示透過終止訊號立即停止(沒有機會關閉)。 如果此值為 nil,則會改用預設寬限期。 設定此值的時間超過程式的預期清除時間。 預設值為30秒。 int
容器應用程式的磁碟區定義清單。 磁碟區[]

容器

名字 描述 價值
args 容器啟動命令自變數。 string[]
命令 容器啟動命令。 string[]
env 容器環境變數。 EnvironmentVar[]
圖像 容器映像標記。 字串
名字 自訂容器名稱。 字串
探針 容器的探查清單。 ContainerAppProbe[]
資源 容器資源需求。 ContainerResources
volumeMounts 容器磁碟區掛接。 VolumeMount[]

EnvironmentVar

名字 描述 價值
名字 環境變數名稱。 字串
secretRef 要從中提取環境變數值的容器應用程式秘密名稱。 字串
價值 非秘密環境變數值。 字串

ContainerAppProbe

名字 描述 價值
failureThreshold 探查在成功之後,要視為失敗的最小連續失敗。 預設值為 3。 最小值為 1。 最大值為 10。 int
httpGet HTTPGet 指定要執行的 HTTP 要求。 ContainerAppProbeHttpGet
initialDelaySeconds 在起始即時探查之前,容器啟動后的秒數。 最小值為 1。 最大值為 60。 int
periodSeconds 執行探查的頻率(以秒為單位)。 預設為10秒。 最小值為 1。 最大值為 240。 int
successThreshold 探查在失敗后要視為成功的最小連續成功。 預設值為 1。 對於活躍度和啟動,必須是1。 最小值為 1。 最大值為 10。 int
tcpSocket TCPSocket 會指定涉及 TCP 連接埠的動作。 尚不支援 TCP 攔截。 ContainerAppProbeTcpSocket
terminationGracePeriodSeconds Pod 必須在探查失敗時正常終止的選擇性持續時間,以秒為單位。 寬限期是在 Pod 中執行的進程傳送終止訊號,以及以終止訊號強制停止進程的時間後,以秒為單位的持續時間。 設定此值的時間超過程式的預期清除時間。 如果此值為 nil,將會使用 Pod 的終止GracePeriodSeconds。 否則,此值會覆寫Pod規格所提供的值。值必須是非負整數。 值零表示透過終止訊號立即停止(沒有機會關閉)。 這是Alpha字段,需要啟用 ProbeTerminationGracePeriod 功能閘道。 最大值為 3600 秒(1 小時) int
timeoutSeconds 探查逾時後的秒數。預設值為 1 秒。 最小值為 1。 最大值為 240。 int
類型 探查的類型。 '活潑'
「整備」
'Startup'

ContainerAppProbeHttpGet

名字 描述 價值
主機 要連線的主機名,預設為 Pod IP。 您可能想要改為在 HTTPHeaders 中設定 「Host」。 字串
httpHeaders 在要求中設定的自定義標頭。 HTTP 允許重複的標頭。 ContainerAppProbeHttpGetHttpHeadersItem[]
路徑 HTTP 伺服器上存取的路徑。 字串
港口 要存取容器的埠名稱或號碼。 數字必須介於 1 到 65535 的範圍內。 名稱必須是IANA_SVC_NAME。 int (必要)
方案 用於連線到主機的配置。 默認為 HTTP。 'HTTP'
'HTTPS'

ContainerAppProbeHttpGetHttpHeadersItem

名字 描述 價值
名字 標頭功能變數名稱 字串 (必要)
價值 標頭域值 字串 (必要)

ContainerAppProbeTcpSocket

名字 描述 價值
主機 選擇性:要連線的主機名,預設為 Pod IP。 字串
港口 要存取容器的埠數目或名稱。 數字必須介於 1 到 65535 的範圍內。 名稱必須是IANA_SVC_NAME。 int (必要)

ContainerResources

名字 描述 價值
中央處理器 核心中所需的 CPU,例如 0.5 若要指定十進位值,請使用 json() 函式。 int 或 json decimal
記憶 所需的記憶體,例如 “250Mb” 字串

VolumeMount

名字 描述 價值
mountPath 容器內應掛接磁碟區的路徑。不得包含 『:』。 字串
subPath 應從中掛接容器磁碟區所在的磁碟區路徑。 預設為 “” (磁碟區的根目錄)。 字串
volumeName 這必須符合磁碟區的名稱。 字串

InitContainer

名字 描述 價值
args 容器啟動命令自變數。 string[]
命令 容器啟動命令。 string[]
env 容器環境變數。 EnvironmentVar[]
圖像 容器映像標記。 字串
名字 自訂容器名稱。 字串
資源 容器資源需求。 ContainerResources
volumeMounts 容器磁碟區掛接。 VolumeMount[]

規模

名字 描述 價值
maxReplicas 自選。 容器復本的數目上限。 如果未設定,則預設為10。 int
minReplicas 自選。 容器復本數目下限。 int
規則 調整規則。 ScaleRule[]

ScaleRule

名字 描述 價值
azureQueue 以 Azure 隊列為基礎的調整。 QueueScaleRule
習慣 自定義縮放規則。 CustomScaleRule
http HTTP 要求型調整。 HttpScaleRule
名字 調整規則名稱 字串
tcp Tcp 要求型調整。 TcpScaleRule

QueueScaleRule

名字 描述 價值
認證 佇列調整規則的驗證秘密。 ScaleRuleAuth[]
queueLength 佇列長度。 int
queueName 佇列名稱。 字串

ScaleRuleAuth

名字 描述 價值
secretRef 要從中提取驗證參數的秘密名稱。 字串
triggerParameter 使用秘密的觸發程序參數 字串

CustomScaleRule

名字 描述 價值
認證 自訂調整規則的驗證秘密。 ScaleRuleAuth[]
元數據 描述自定義縮放規則的元數據屬性。 CustomScaleRuleMetadata
類型 自訂調整規則的類型
例如:azure-servicebus、redis 等。
字串

CustomScaleRuleMetadata

名字 描述 價值
{自定義屬性} 字串

HttpScaleRule

名字 描述 價值
認證 自訂調整規則的驗證秘密。 ScaleRuleAuth[]
元數據 描述 HTTP 縮放規則的元資料屬性。 HttpScaleRuleMetadata

HttpScaleRuleMetadata

名字 描述 價值
{自定義屬性} 字串

TcpScaleRule

名字 描述 價值
認證 TCP 調整規則的驗證秘密。 ScaleRuleAuth[]
元數據 描述 tcp 調整規則的元數據屬性。 TcpScaleRuleMetadata

TcpScaleRuleMetadata

名字 描述 價值
{自定義屬性} 字串

ServiceBind

名字 描述 價值
名字 服務系結的名稱 字串
serviceId 目標服務的資源標識碼 字串

名字 描述 價值
mountOptions 掛接 AzureFile 時所使用的掛接選項。 必須是逗號分隔字串。 字串
名字 磁碟區名稱。 字串
秘密 要加入磁碟區中的秘密清單。 如果未提供秘密,集合中的所有秘密都會新增至磁碟區。 SecretVolumeItem[]
storageName 記憶體資源的名稱。 不需要提供 EmptyDir 和 Secret。 字串
storageType 磁碟區的儲存類型。 如果未提供,請使用 EmptyDir。 'AzureFile'
'EmptyDir'
'Secret'

SecretVolumeItem

名字 描述 價值
路徑 專案秘密的路徑。 如果未提供路徑,則path預設為secretRef中列出的秘密名稱。 字串
secretRef 要從中提取秘密值的容器應用程式秘密名稱。 字串

快速入門範本

下列快速入門範本會部署此資源類型。

範本 描述
使用登錄建立容器應用程式和環境

部署至 Azure
使用 Azure Container Registry 的基本容器應用程式建立容器應用程式環境。 它也會部署Log Analytics工作區來儲存記錄。
使用容器應用程式環境建立兩個容器應用程式

部署至 Azure
使用基本容器應用程式建立兩個容器應用程式環境。 它也會部署Log Analytics工作區來儲存記錄。
在容器應用程式環境內建立容器應用程式

部署至 Azure
使用基本容器應用程式建立容器應用程式環境。 它也會部署Log Analytics工作區來儲存記錄。
使用定義的 HTTP 調整規則建立容器應用程式

部署至 Azure
使用以 HTTP 流量為基礎的基本容器應用程式來建立容器應用程式環境。
使用 VNET 建立外部容器應用程式環境

部署至 Azure
使用 VNET 建立外部容器應用程式環境。
使用 VNET 建立內部容器應用程式環境

部署至 Azure
使用 VNET 建立內部容器應用程式環境。

Terraform (AzAPI 提供者) 資源定義

containerApps 資源類型可以使用目標作業來部署:

  • 資源群組

如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔

資源格式

若要建立 Microsoft.App/containerApps 資源,請將下列 Terraform 新增至範本。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.App/containerApps@2023-05-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
          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 = [
          {
            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"
  })
}

屬性值

containerApps

名字 描述 價值
類型 資源類型 “Microsoft.App/containerApps@2023-05-02-preview”
名字 資源名稱 字串 (必要)

字元限制:2-32

合法字元:
小寫字母、數位和連字元。。

以字母開頭,並以英數位元結尾。
位置 資源所在的地理位置 字串 (必要)
parent_id 若要部署至資源群組,請使用該資源群組的標識碼。 字串 (必要)
標籤 資源標籤。 標記名稱和值的字典。
extendedLocation 擴充位置的複雜類型。 ExtendedLocation
身份 容器應用程式的受控識別可與其他 Azure 服務互動,而不需在程式碼中維護任何秘密或認證。 ManagedServiceIdentity
managedBy 管理此資源之資源的完整資源標識碼。 指出此資源是否由另一個 Azure 資源管理。 如果存在,如果從範本中移除,則完整模式部署將不會刪除資源,因為該資源是由另一個資源管理。 字串
性能 ContainerApp 資源特定屬性 ContainerAppProperties

ExtendedLocation

名字 描述 價值
名字 擴充位置的名稱。 字串
類型 擴充位置的類型。 “CustomLocation”

ManagedServiceIdentity

名字 描述 價值
類型 受控服務識別的類型(允許 SystemAssigned 和 UserAssigned 類型)。 “SystemAssigned”
“SystemAssigned,UserAssigned”
“UserAssigned” (必要)
identity_ids 與資源相關聯的使用者指派身分識別集。 userAssignedIdentities 字典索引鍵的格式為 ARM 資源標識符:'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}。 字典值可以是要求中的空白物件({})。 使用者身分識別標識碼的陣列。

UserAssignedIdentities

名字 描述 價值
{自定義屬性} UserAssignedIdentity

UserAssignedIdentity

此物件不包含在部署期間設定的任何屬性。 所有屬性都是 ReadOnly。

ContainerAppProperties

名字 描述 價值
配置 非版本設定的容器應用程式組態屬性。 組態
environmentId 環境的資源標識碼。 字串
managedEnvironmentId 荒廢的。 容器應用程式環境的資源標識碼。 字串
範本 容器應用程式已建立版本的應用程式定義。 範本
workloadProfileName 要釘選以進行容器應用程式執行的工作負載配置檔名稱。 字串

配置

名字 描述 價值
activeRevisionsMode ActiveRevisionsMode 控制容器應用程式的使用中修訂處理方式:
{list}{item}多個:多個修訂可以作用中。{/item}{item}單一:一次只能有一個修訂作用中。 無法在此模式中使用修訂權數。 如果未提供任何值,則這是預設值。{/item}{/list}
“Multiple”
“Single”
dapr 容器應用程式的 Dapr 組態。 達普
入口 輸入組態。 輸入
maxInactiveRevisions 自選。 容器應用程式可以擁有的最大非使用中修訂。 int
登記處 容器應用程式所使用的容器的私人容器登錄認證集合 RegistryCredentials[]
秘密 容器應用程式所使用的秘密集合 秘密[]
服務 作為開發容器 App Service 的容器應用程式 Service

Dapr

名字 描述 價值
appId Dapr 應用程式識別碼 字串
appPort 告知 Dapr 您的應用程式正在接聽哪個埠 int
appProtocol 告知 Dapr 您的應用程式所使用的通訊協定。 有效的選項為 HTTP 和 grpc。 預設值為 HTTP “grpc”
http
enableApiLogging 啟用 Dapr Sidecar 的 API 記錄 bool
啟用 布爾值,指出 Dapr 側車是否已啟用 bool
httpMaxRequestSize 增加 MB 中要求本文 HTTP 和 grpc 伺服器參數的大小上限,以處理大型檔案上傳。 預設值為 4 MB。 int
httpReadBufferSize 在傳送多 KB 標頭標頭時,要處理之 HTTP 標頭讀取緩衝區的大小上限。 預設值為 65KB。 int
logLevel 設定 Dapr 側車的記錄層級。 允許的值為偵錯、資訊、警告、錯誤。 預設值為 info。 “debug”
“error”
“info”
“warn”

入口

名字 描述 價值
additionalPortMappings 在容器應用程式上公開其他埠的設定 IngressPortMapping[]
allowInsecure 布爾,指出是否允許 HTTP 連線。 如果設定為 false HTTP 連線,則會自動重新導向至 HTTPS 連線 bool
clientCertificateMode mTLS 驗證的客戶端憑證模式。 Ignore 表示伺服器在轉送時卸除客戶端憑證。 Accept 表示伺服器轉送客戶端憑證,但不需要客戶端憑證。 Require 表示伺服器需要客戶端憑證。 “accept”
“ignore”
“require”
corsPolicy 容器應用程式的 CORS 原則 CorsPolicy
customDomains Container Apps 主機名的自定義網域系結。 CustomDomain[]
exposedPort 容器中公開的埠,用於來自輸入的 TCP 流量 int
外部 布爾值,指出應用程式是否公開外部 HTTP 端點 bool
ipSecurityRestrictions 限制連入IP位址的規則。 IpSecurityRestrictionRule[]
stickySessions 單一修訂模式的黏性會話 IngressStickySessions
targetPort 來自輸入流量的容器中目標埠 int
交通 應用程式修訂的流量權數 TrafficWeight[]
運輸 輸入傳輸通訊協定 “auto”
http
http2
“tcp”

IngressPortMapping

名字 描述 價值
exposedPort 指定目標埠的公開埠。 如果未指定,則會預設為目標埠 int
外部 指定應用程式埠是否可在環境外部存取 布林 (必要)
targetPort 指定埠使用者的容器接聽 int (必要)

CorsPolicy

名字 描述 價值
allowCredentials 指定資源是否允許認證 bool
allowedHeaders 指定 access-control-allow-headers 標頭的內容 string[]
allowedMethods 指定 access-control-allow-methods 標頭的內容 string[]
allowedOrigins 指定 access-control-allow-origins 標頭的內容 string[] (必要)
publicHeaders 指定 access-control-expose-headers 標頭的內容 string[]
maxAge 指定 access-control-max-age 標頭的內容 int

CustomDomain

名字 描述 價值
bindingType 自定義網域系結類型。 “Disabled”
“SniEnabled”
certificateId 要系結至此主機名之憑證的資源標識符。 必須存在於受控環境中。 字串
名字 主機名。 字串 (必要)

IpSecurityRestrictionRule

名字 描述 價值
行動 允許或拒絕規則來判斷傳入IP。 注意:規則只能包含 ALL 允許或全部拒絕 “Allow”
“拒絕” (必要)
描述 描述要傳送至 container-app 的IP限制規則。 這是選擇性欄位。 字串
ipAddressRange 符合連入IP位址的CIDR表示法 字串 (必要)
名字 IP 限制規則的名稱。 字串 (必要)

IngressStickySessions

名字 描述 價值
親和力 黏性會話親和性 “none”
“粘性”

TrafficWeight

名字 描述 價值
標籤 將流量標籤與修訂產生關聯 字串
latestRevision 表示流量權數屬於最新的穩定修訂 bool
revisionName 修訂的名稱 字串
重量 指派給修訂的流量權數 int

RegistryCredentials

名字 描述 價值
身份 用來向 Azure Container Registry 進行驗證的受控識別。 針對使用者指派的身分識別,請使用使用者指派的完整身分識別資源標識碼。 針對系統指派的身分識別,請使用 'system' 字串
passwordSecretRef 包含登錄登入密碼的秘密名稱 字串
伺服器 Container Registry Server 字串
username Container Registry 用戶名稱 字串

秘密

名字 描述 價值
身份 要向 Azure Key Vault 進行驗證的受控識別資源識別碼,或使用系統指派的身分識別。 字串
keyVaultUrl 指向容器應用程式所參考秘密的 Azure Key Vault URL。 字串
名字 秘密名稱。 字串
價值 秘密值。 字串

約束:
敏感性值。 以安全參數的形式傳入。

服務

名字 描述 價值
類型 Dev ContainerApp 服務類型 字串 (必要)

範本

名字 描述 價值
器皿 容器應用程式的容器定義清單。 容器[]
initContainers 在應用程式容器之前執行的特殊容器清單。 InitContainer[]
revisionSuffix 附加至修訂名稱的使用者易記後綴 字串
規模 調整容器應用程式的屬性。 調整
serviceBinds 系結至應用程式的容器應用程式服務清單 ServiceBind[]
terminationGracePeriodSeconds 容器應用程式實例必須正常終止的選擇性持續時間,以秒為單位。 值必須是非負整數。 值零表示透過終止訊號立即停止(沒有機會關閉)。 如果此值為 nil,則會改用預設寬限期。 設定此值的時間超過程式的預期清除時間。 預設值為30秒。 int
容器應用程式的磁碟區定義清單。 磁碟區[]

容器

名字 描述 價值
args 容器啟動命令自變數。 string[]
命令 容器啟動命令。 string[]
env 容器環境變數。 EnvironmentVar[]
圖像 容器映像標記。 字串
名字 自訂容器名稱。 字串
探針 容器的探查清單。 ContainerAppProbe[]
資源 容器資源需求。 ContainerResources
volumeMounts 容器磁碟區掛接。 VolumeMount[]

EnvironmentVar

名字 描述 價值
名字 環境變數名稱。 字串
secretRef 要從中提取環境變數值的容器應用程式秘密名稱。 字串
價值 非秘密環境變數值。 字串

ContainerAppProbe

名字 描述 價值
failureThreshold 探查在成功之後,要視為失敗的最小連續失敗。 預設值為 3。 最小值為 1。 最大值為 10。 int
httpGet HTTPGet 指定要執行的 HTTP 要求。 ContainerAppProbeHttpGet
initialDelaySeconds 在起始即時探查之前,容器啟動后的秒數。 最小值為 1。 最大值為 60。 int
periodSeconds 執行探查的頻率(以秒為單位)。 預設為10秒。 最小值為 1。 最大值為 240。 int
successThreshold 探查在失敗后要視為成功的最小連續成功。 預設值為 1。 對於活躍度和啟動,必須是1。 最小值為 1。 最大值為 10。 int
tcpSocket TCPSocket 會指定涉及 TCP 連接埠的動作。 尚不支援 TCP 攔截。 ContainerAppProbeTcpSocket
terminationGracePeriodSeconds Pod 必須在探查失敗時正常終止的選擇性持續時間,以秒為單位。 寬限期是在 Pod 中執行的進程傳送終止訊號,以及以終止訊號強制停止進程的時間後,以秒為單位的持續時間。 設定此值的時間超過程式的預期清除時間。 如果此值為 nil,將會使用 Pod 的終止GracePeriodSeconds。 否則,此值會覆寫Pod規格所提供的值。值必須是非負整數。 值零表示透過終止訊號立即停止(沒有機會關閉)。 這是Alpha字段,需要啟用 ProbeTerminationGracePeriod 功能閘道。 最大值為 3600 秒(1 小時) int
timeoutSeconds 探查逾時後的秒數。預設值為 1 秒。 最小值為 1。 最大值為 240。 int
類型 探查的類型。 “活潑”
“整備程度”
“Startup”

ContainerAppProbeHttpGet

名字 描述 價值
主機 要連線的主機名,預設為 Pod IP。 您可能想要改為在 HTTPHeaders 中設定 「Host」。 字串
httpHeaders 在要求中設定的自定義標頭。 HTTP 允許重複的標頭。 ContainerAppProbeHttpGetHttpHeadersItem[]
路徑 HTTP 伺服器上存取的路徑。 字串
港口 要存取容器的埠名稱或號碼。 數字必須介於 1 到 65535 的範圍內。 名稱必須是IANA_SVC_NAME。 int (必要)
方案 用於連線到主機的配置。 默認為 HTTP。 “HTTP”
“HTTPS”

ContainerAppProbeHttpGetHttpHeadersItem

名字 描述 價值
名字 標頭功能變數名稱 字串 (必要)
價值 標頭域值 字串 (必要)

ContainerAppProbeTcpSocket

名字 描述 價值
主機 選擇性:要連線的主機名,預設為 Pod IP。 字串
港口 要存取容器的埠數目或名稱。 數字必須介於 1 到 65535 的範圍內。 名稱必須是IANA_SVC_NAME。 int (必要)

ContainerResources

名字 描述 價值
中央處理器 核心中必要的 CPU,例如 0.5 將十進位值指定為字串。 int 或 json decimal
記憶 所需的記憶體,例如 “250Mb” 字串

VolumeMount

名字 描述 價值
mountPath 容器內應掛接磁碟區的路徑。不得包含 『:』。 字串
subPath 應從中掛接容器磁碟區所在的磁碟區路徑。 預設為 “” (磁碟區的根目錄)。 字串
volumeName 這必須符合磁碟區的名稱。 字串

InitContainer

名字 描述 價值
args 容器啟動命令自變數。 string[]
命令 容器啟動命令。 string[]
env 容器環境變數。 EnvironmentVar[]
圖像 容器映像標記。 字串
名字 自訂容器名稱。 字串
資源 容器資源需求。 ContainerResources
volumeMounts 容器磁碟區掛接。 VolumeMount[]

規模

名字 描述 價值
maxReplicas 自選。 容器復本的數目上限。 如果未設定,則預設為10。 int
minReplicas 自選。 容器復本數目下限。 int
規則 調整規則。 ScaleRule[]

ScaleRule

名字 描述 價值
azureQueue 以 Azure 隊列為基礎的調整。 QueueScaleRule
習慣 自定義縮放規則。 CustomScaleRule
http HTTP 要求型調整。 HttpScaleRule
名字 調整規則名稱 字串
tcp Tcp 要求型調整。 TcpScaleRule

QueueScaleRule

名字 描述 價值
認證 佇列調整規則的驗證秘密。 ScaleRuleAuth[]
queueLength 佇列長度。 int
queueName 佇列名稱。 字串

ScaleRuleAuth

名字 描述 價值
secretRef 要從中提取驗證參數的秘密名稱。 字串
triggerParameter 使用秘密的觸發程序參數 字串

CustomScaleRule

名字 描述 價值
認證 自訂調整規則的驗證秘密。 ScaleRuleAuth[]
元數據 描述自定義縮放規則的元數據屬性。 CustomScaleRuleMetadata
類型 自訂調整規則的類型
例如:azure-servicebus、redis 等。
字串

CustomScaleRuleMetadata

名字 描述 價值
{自定義屬性} 字串

HttpScaleRule

名字 描述 價值
認證 自訂調整規則的驗證秘密。 ScaleRuleAuth[]
元數據 描述 HTTP 縮放規則的元資料屬性。 HttpScaleRuleMetadata

HttpScaleRuleMetadata

名字 描述 價值
{自定義屬性} 字串

TcpScaleRule

名字 描述 價值
認證 TCP 調整規則的驗證秘密。 ScaleRuleAuth[]
元數據 描述 tcp 調整規則的元數據屬性。 TcpScaleRuleMetadata

TcpScaleRuleMetadata

名字 描述 價值
{自定義屬性} 字串

ServiceBind

名字 描述 價值
名字 服務系結的名稱 字串
serviceId 目標服務的資源標識碼 字串

名字 描述 價值
mountOptions 掛接 AzureFile 時所使用的掛接選項。 必須是逗號分隔字串。 字串
名字 磁碟區名稱。 字串
秘密 要加入磁碟區中的秘密清單。 如果未提供秘密,集合中的所有秘密都會新增至磁碟區。 SecretVolumeItem[]
storageName 記憶體資源的名稱。 不需要提供 EmptyDir 和 Secret。 字串
storageType 磁碟區的儲存類型。 如果未提供,請使用 EmptyDir。 “AzureFile”
“EmptyDir”
“Secret”

SecretVolumeItem

名字 描述 價值
路徑 專案秘密的路徑。 如果未提供路徑,則path預設為secretRef中列出的秘密名稱。 字串
secretRef 要從中提取秘密值的容器應用程式秘密名稱。 字串