Bicep 资源定义
可以使用目标操作部署 containerApps 资源类型:
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
若要创建 Microsoft.App/containerApps 资源,请将以下 Bicep 添加到模板。
resource symbolicname 'Microsoft.App/containerApps@2022-03-01' = {
name: 'string'
location: 'string'
tags: {
tagName1: 'tagValue1'
tagName2: 'tagValue2'
}
identity: {
type: 'string'
userAssignedIdentities: {
{customized property}: {}
}
}
properties: {
configuration: {
activeRevisionsMode: 'string'
dapr: {
appId: 'string'
appPort: int
appProtocol: 'string'
enabled: bool
}
ingress: {
allowInsecure: bool
customDomains: [
{
bindingType: 'string'
certificateId: 'string'
name: 'string'
}
]
external: bool
targetPort: int
traffic: [
{
label: 'string'
latestRevision: bool
revisionName: 'string'
weight: int
}
]
transport: 'string'
}
registries: [
{
identity: 'string'
passwordSecretRef: 'string'
server: 'string'
username: 'string'
}
]
secrets: [
{
name: 'string'
value: 'string'
}
]
}
managedEnvironmentId: 'string'
template: {
containers: [
{
args: [
'string'
]
command: [
'string'
]
env: [
{
name: 'string'
secretRef: 'string'
value: 'string'
}
]
image: 'string'
name: 'string'
probes: [
{
failureThreshold: int
httpGet: {
host: 'string'
httpHeaders: [
{
name: 'string'
value: 'string'
}
]
path: 'string'
port: int
scheme: 'string'
}
initialDelaySeconds: int
periodSeconds: int
successThreshold: int
tcpSocket: {
host: 'string'
port: int
}
terminationGracePeriodSeconds: int
timeoutSeconds: int
type: 'string'
}
]
resources: {
cpu: json('decimal-as-string')
memory: 'string'
}
volumeMounts: [
{
mountPath: 'string'
volumeName: 'string'
}
]
}
]
revisionSuffix: 'string'
scale: {
maxReplicas: int
minReplicas: int
rules: [
{
azureQueue: {
auth: [
{
secretRef: 'string'
triggerParameter: 'string'
}
]
queueLength: int
queueName: 'string'
}
custom: {
auth: [
{
secretRef: 'string'
triggerParameter: 'string'
}
]
metadata: {
{customized property}: 'string'
}
type: 'string'
}
http: {
auth: [
{
secretRef: 'string'
triggerParameter: 'string'
}
]
metadata: {
{customized property}: 'string'
}
}
name: 'string'
}
]
}
volumes: [
{
name: 'string'
storageName: 'string'
storageType: 'string'
}
]
}
}
}
属性值
containerApps
名字 |
描述 |
价值 |
名字 |
资源名称 |
string (必需)
字符限制:2-32
有效字符: 小写字母、数字和连字符。
以字母开头,以字母数字结尾。 |
位置 |
资源所在的地理位置 |
string (必需) |
标签 |
资源标记。 |
标记名称和值的字典。 请参阅模板 中的 标记 |
身份 |
容器应用的托管标识可以与其他 Azure 服务交互,而无需在代码中维护任何机密或凭据。 |
ManagedServiceIdentity |
性能 |
ContainerApp 资源特定属性 |
ContainerAppProperties |
ManagedServiceIdentity
名字 |
描述 |
价值 |
类型 |
托管服务标识的类型(其中允许 SystemAssigned 和 UserAssigned 类型)。 |
“None” “SystemAssigned” “SystemAssigned,UserAssigned” “UserAssigned”(必需) |
userAssignedIdentities |
与资源关联的用户分配标识集。 userAssignedIdentities 字典密钥将为 ARM 资源 ID,格式为“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 字典值可以是请求中的空对象({})。 |
UserAssignedIdentities |
UserAssignedIdentities
UserAssignedIdentity
此对象不包含在部署期间设置的任何属性。 所有属性都是 ReadOnly。
ContainerAppProperties
名字 |
描述 |
价值 |
配置 |
非版本控制容器应用配置属性。 |
配置 |
managedEnvironmentId |
容器应用环境的资源 ID。 |
字符串 |
模板 |
容器应用版本控制的应用程序定义。 |
模板 |
配置
名字 |
描述 |
价值 |
activeRevisionsMode |
ActiveRevisionsMode 控制如何处理容器应用的活动修订: {list}{item}多个:多个修订可以处于活动状态。{/item}{item}单一:一次只能有一个修订处于活动状态。 无法在此模式下使用修订权重。 如果未提供任何值,则为默认值。{/item}{/list} |
“Multiple” “Single” |
dapr |
容器应用的 Dapr 配置。 |
Dapr |
入口 |
入口配置。 |
入口 |
登记处 |
容器应用使用的容器的专用容器注册表凭据的集合 |
RegistryCredentials[] |
秘密 |
容器应用使用的机密集合 |
机密[] |
Dapr
名字 |
描述 |
价值 |
appId |
Dapr 应用程序标识符 |
字符串 |
appPort |
告知 Dapr 应用程序正在侦听的端口 |
int |
appProtocol |
告知 Dapr 应用程序使用的协议。 有效选项为 http 和 grpc。 默认值为 http |
“grpc” “http ” |
启用 |
指示 Dapr 侧车是否已启用的布尔值 |
bool |
入口
名字 |
描述 |
价值 |
allowInsecure |
指示是否允许与 HTTP 连接的布尔值。 如果设置为 false HTTP 连接,则会自动重定向到 HTTPS 连接 |
bool |
customDomains |
容器应用的主机名的自定义域绑定。 |
CustomDomain[] |
外部 |
指示应用是否公开外部 http 终结点的布尔值 |
bool |
targetPort |
用于来自入口的流量的容器中的目标端口 |
int |
交通 |
应用修订的流量权重 |
TrafficWeight[] |
运输 |
入口传输协议 |
“auto” “http ” “http2 ” |
CustomDomain
名字 |
描述 |
价值 |
bindingType |
自定义域绑定类型。 |
“Disabled” 'SniEnabled' |
certificateId |
要绑定到此主机名的证书的资源 ID。 |
字符串 |
名字 |
主机名。 |
string (必需) |
TrafficWeight
名字 |
描述 |
价值 |
标签 |
将流量标签与修订相关联 |
字符串 |
latestRevision |
指示流量权重属于最新的稳定修订 |
bool |
revisionName |
修订的名称 |
字符串 |
重量 |
分配给修订的流量权重 |
int |
RegistryCredentials
名字 |
描述 |
价值 |
身份 |
用于通过 Azure 容器注册表进行身份验证的托管标识。 对于用户分配的标识,请使用完整的用户分配标识资源 ID。 对于系统分配的标识,请使用“system” |
字符串 |
passwordSecretRef |
包含注册表登录密码的机密的名称 |
字符串 |
服务器 |
容器注册表服务器 |
字符串 |
username |
容器注册表用户名 |
字符串 |
秘密
名字 |
描述 |
价值 |
名字 |
机密名称。 |
字符串 |
价值 |
机密值。 |
字符串
约束: 敏感值。 以安全参数的形式传入。
|
模板
名字 |
描述 |
价值 |
器皿 |
容器应用的容器定义列表。 |
容器[] |
revisionSuffix |
追加到修订名称的用户友好后缀 |
字符串 |
规模 |
缩放容器应用的属性。 |
缩放 |
卷 |
容器应用的卷定义列表。 |
卷[] |
容器
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 的 terminationGracePeriodSeconds。 否则,此值将替代 Pod 规范提供的值。值必须是非负整数。 值零表示通过终止信号立即停止(没有关闭机会)。 这是 alpha 字段,需要启用 ProbeTerminationGracePeriod 功能门。 最大值为 3600 秒(1 小时) |
int |
timeoutSeconds |
探测超时的秒数。默认值为 1 秒。 最小值为 1。 最大值为 240。 |
int |
类型 |
探测的类型。 |
“Liveness” “就绪情况” “Startup” |
ContainerAppProbeHttpGet
名字 |
描述 |
价值 |
主机 |
要连接的主机名,默认为 Pod IP。 你可能想要改为在 httpHeaders 中设置“主机”。 |
字符串 |
httpHeaders |
在请求中设置的自定义标头。 HTTP 允许重复标头。 |
ContainerAppProbeHttpGetHttpHeadersItem[] |
路径 |
在 HTTP 服务器上访问的路径。 |
字符串 |
港口 |
要在容器上访问的端口的名称或编号。 数字必须介于 1 到 65535 的范围内。 名称必须是IANA_SVC_NAME。 |
int (必需) |
方案 |
用于连接到主机的方案。 默认为 HTTP。 |
“HTTP” “HTTPS” |
名字 |
描述 |
价值 |
名字 |
标头字段名称 |
string (必需) |
价值 |
标头字段值 |
string (必需) |
ContainerAppProbeTcpSocket
名字 |
描述 |
价值 |
主机 |
可选:要连接到的主机名,默认为 Pod IP。 |
字符串 |
港口 |
要在容器上访问的端口的编号或名称。 数字必须介于 1 到 65535 的范围内。 名称必须是IANA_SVC_NAME。 |
int (必需) |
ContainerResources
名字 |
描述 |
价值 |
中央处理器 |
核心中所需的 CPU,例如 0.5 若要指定十进制值,请使用 json() 函数。 |
int 或 json decimal |
记忆 |
所需的内存,例如“250Mb” |
字符串 |
VolumeMount
名字 |
描述 |
价值 |
mountPath |
容器中应装载卷的路径。不得包含“:”。 |
字符串 |
volumeName |
这必须与卷的名称匹配。 |
字符串 |
规模
名字 |
描述 |
价值 |
maxReplicas |
自选。 容器副本的最大数目。 如果未设置,则默认为 10。 |
int |
minReplicas |
自选。 容器副本的最小数量。 |
int |
规则 |
缩放规则。 |
ScaleRule[] |
ScaleRule
QueueScaleRule
名字 |
描述 |
价值 |
认证 |
队列缩放规则的身份验证机密。 |
ScaleRuleAuth[] |
queueLength |
队列长度。 |
int |
queueName |
队列名称。 |
字符串 |
ScaleRuleAuth
名字 |
描述 |
价值 |
secretRef |
要从中提取身份验证参数的容器应用机密的名称。 |
字符串 |
triggerParameter |
使用机密的触发器参数 |
字符串 |
CustomScaleRule
HttpScaleRule
卷
名字 |
描述 |
价值 |
名字 |
卷名称。 |
字符串 |
storageName |
存储资源的名称。 无需为 EmptyDir 提供。 |
字符串 |
storageType |
卷的存储类型。 如果未提供,请使用 EmptyDir。 |
“AzureFile” “EmptyDir” |
快速入门模板
以下快速入门模板部署此资源类型。
ARM 模板资源定义
可以使用目标操作部署 containerApps 资源类型:
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
若要创建 Microsoft.App/containerApps 资源,请将以下 JSON 添加到模板。
{
"type": "Microsoft.App/containerApps",
"apiVersion": "2022-03-01",
"name": "string",
"location": "string",
"tags": {
"tagName1": "tagValue1",
"tagName2": "tagValue2"
},
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": {}
}
},
"properties": {
"configuration": {
"activeRevisionsMode": "string",
"dapr": {
"appId": "string",
"appPort": "int",
"appProtocol": "string",
"enabled": "bool"
},
"ingress": {
"allowInsecure": "bool",
"customDomains": [
{
"bindingType": "string",
"certificateId": "string",
"name": "string"
}
],
"external": "bool",
"targetPort": "int",
"traffic": [
{
"label": "string",
"latestRevision": "bool",
"revisionName": "string",
"weight": "int"
}
],
"transport": "string"
},
"registries": [
{
"identity": "string",
"passwordSecretRef": "string",
"server": "string",
"username": "string"
}
],
"secrets": [
{
"name": "string",
"value": "string"
}
]
},
"managedEnvironmentId": "string",
"template": {
"containers": [
{
"args": [ "string" ],
"command": [ "string" ],
"env": [
{
"name": "string",
"secretRef": "string",
"value": "string"
}
],
"image": "string",
"name": "string",
"probes": [
{
"failureThreshold": "int",
"httpGet": {
"host": "string",
"httpHeaders": [
{
"name": "string",
"value": "string"
}
],
"path": "string",
"port": "int",
"scheme": "string"
},
"initialDelaySeconds": "int",
"periodSeconds": "int",
"successThreshold": "int",
"tcpSocket": {
"host": "string",
"port": "int"
},
"terminationGracePeriodSeconds": "int",
"timeoutSeconds": "int",
"type": "string"
}
],
"resources": {
"cpu": "[json('decimal-as-string')]",
"memory": "string"
},
"volumeMounts": [
{
"mountPath": "string",
"volumeName": "string"
}
]
}
],
"revisionSuffix": "string",
"scale": {
"maxReplicas": "int",
"minReplicas": "int",
"rules": [
{
"azureQueue": {
"auth": [
{
"secretRef": "string",
"triggerParameter": "string"
}
],
"queueLength": "int",
"queueName": "string"
},
"custom": {
"auth": [
{
"secretRef": "string",
"triggerParameter": "string"
}
],
"metadata": {
"{customized property}": "string"
},
"type": "string"
},
"http": {
"auth": [
{
"secretRef": "string",
"triggerParameter": "string"
}
],
"metadata": {
"{customized property}": "string"
}
},
"name": "string"
}
]
},
"volumes": [
{
"name": "string",
"storageName": "string",
"storageType": "string"
}
]
}
}
}
属性值
containerApps
名字 |
描述 |
价值 |
类型 |
资源类型 |
“Microsoft.App/containerApps” |
apiVersion |
资源 API 版本 |
'2022-03-01' |
名字 |
资源名称 |
string (必需)
字符限制:2-32
有效字符: 小写字母、数字和连字符。
以字母开头,以字母数字结尾。 |
位置 |
资源所在的地理位置 |
string (必需) |
标签 |
资源标记。 |
标记名称和值的字典。 请参阅模板 中的 标记 |
身份 |
容器应用的托管标识可以与其他 Azure 服务交互,而无需在代码中维护任何机密或凭据。 |
ManagedServiceIdentity |
性能 |
ContainerApp 资源特定属性 |
ContainerAppProperties |
ManagedServiceIdentity
名字 |
描述 |
价值 |
类型 |
托管服务标识的类型(其中允许 SystemAssigned 和 UserAssigned 类型)。 |
“None” “SystemAssigned” “SystemAssigned,UserAssigned” “UserAssigned”(必需) |
userAssignedIdentities |
与资源关联的用户分配标识集。 userAssignedIdentities 字典密钥将为 ARM 资源 ID,格式为“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 字典值可以是请求中的空对象({})。 |
UserAssignedIdentities |
UserAssignedIdentities
UserAssignedIdentity
此对象不包含在部署期间设置的任何属性。 所有属性都是 ReadOnly。
ContainerAppProperties
名字 |
描述 |
价值 |
配置 |
非版本控制容器应用配置属性。 |
配置 |
managedEnvironmentId |
容器应用环境的资源 ID。 |
字符串 |
模板 |
容器应用版本控制的应用程序定义。 |
模板 |
配置
名字 |
描述 |
价值 |
activeRevisionsMode |
ActiveRevisionsMode 控制如何处理容器应用的活动修订: {list}{item}多个:多个修订可以处于活动状态。{/item}{item}单一:一次只能有一个修订处于活动状态。 无法在此模式下使用修订权重。 如果未提供任何值,则为默认值。{/item}{/list} |
“Multiple” “Single” |
dapr |
容器应用的 Dapr 配置。 |
Dapr |
入口 |
入口配置。 |
入口 |
登记处 |
容器应用使用的容器的专用容器注册表凭据的集合 |
RegistryCredentials[] |
秘密 |
容器应用使用的机密集合 |
机密[] |
Dapr
名字 |
描述 |
价值 |
appId |
Dapr 应用程序标识符 |
字符串 |
appPort |
告知 Dapr 应用程序正在侦听的端口 |
int |
appProtocol |
告知 Dapr 应用程序使用的协议。 有效选项为 http 和 grpc。 默认值为 http |
“grpc” “http ” |
启用 |
指示 Dapr 侧车是否已启用的布尔值 |
bool |
入口
名字 |
描述 |
价值 |
allowInsecure |
指示是否允许与 HTTP 连接的布尔值。 如果设置为 false HTTP 连接,则会自动重定向到 HTTPS 连接 |
bool |
customDomains |
容器应用的主机名的自定义域绑定。 |
CustomDomain[] |
外部 |
指示应用是否公开外部 http 终结点的布尔值 |
bool |
targetPort |
用于来自入口的流量的容器中的目标端口 |
int |
交通 |
应用修订的流量权重 |
TrafficWeight[] |
运输 |
入口传输协议 |
“auto” “http ” “http2 ” |
CustomDomain
名字 |
描述 |
价值 |
bindingType |
自定义域绑定类型。 |
“Disabled” 'SniEnabled' |
certificateId |
要绑定到此主机名的证书的资源 ID。 |
字符串 |
名字 |
主机名。 |
string (必需) |
TrafficWeight
名字 |
描述 |
价值 |
标签 |
将流量标签与修订相关联 |
字符串 |
latestRevision |
指示流量权重属于最新的稳定修订 |
bool |
revisionName |
修订的名称 |
字符串 |
重量 |
分配给修订的流量权重 |
int |
RegistryCredentials
名字 |
描述 |
价值 |
身份 |
用于通过 Azure 容器注册表进行身份验证的托管标识。 对于用户分配的标识,请使用完整的用户分配标识资源 ID。 对于系统分配的标识,请使用“system” |
字符串 |
passwordSecretRef |
包含注册表登录密码的机密的名称 |
字符串 |
服务器 |
容器注册表服务器 |
字符串 |
username |
容器注册表用户名 |
字符串 |
秘密
名字 |
描述 |
价值 |
名字 |
机密名称。 |
字符串 |
价值 |
机密值。 |
字符串
约束: 敏感值。 以安全参数的形式传入。
|
模板
名字 |
描述 |
价值 |
器皿 |
容器应用的容器定义列表。 |
容器[] |
revisionSuffix |
追加到修订名称的用户友好后缀 |
字符串 |
规模 |
缩放容器应用的属性。 |
缩放 |
卷 |
容器应用的卷定义列表。 |
卷[] |
容器
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 的 terminationGracePeriodSeconds。 否则,此值将替代 Pod 规范提供的值。值必须是非负整数。 值零表示通过终止信号立即停止(没有关闭机会)。 这是 alpha 字段,需要启用 ProbeTerminationGracePeriod 功能门。 最大值为 3600 秒(1 小时) |
int |
timeoutSeconds |
探测超时的秒数。默认值为 1 秒。 最小值为 1。 最大值为 240。 |
int |
类型 |
探测的类型。 |
“Liveness” “就绪情况” “Startup” |
ContainerAppProbeHttpGet
名字 |
描述 |
价值 |
主机 |
要连接的主机名,默认为 Pod IP。 你可能想要改为在 httpHeaders 中设置“主机”。 |
字符串 |
httpHeaders |
在请求中设置的自定义标头。 HTTP 允许重复标头。 |
ContainerAppProbeHttpGetHttpHeadersItem[] |
路径 |
在 HTTP 服务器上访问的路径。 |
字符串 |
港口 |
要在容器上访问的端口的名称或编号。 数字必须介于 1 到 65535 的范围内。 名称必须是IANA_SVC_NAME。 |
int (必需) |
方案 |
用于连接到主机的方案。 默认为 HTTP。 |
“HTTP” “HTTPS” |
名字 |
描述 |
价值 |
名字 |
标头字段名称 |
string (必需) |
价值 |
标头字段值 |
string (必需) |
ContainerAppProbeTcpSocket
名字 |
描述 |
价值 |
主机 |
可选:要连接到的主机名,默认为 Pod IP。 |
字符串 |
港口 |
要在容器上访问的端口的编号或名称。 数字必须介于 1 到 65535 的范围内。 名称必须是IANA_SVC_NAME。 |
int (必需) |
ContainerResources
名字 |
描述 |
价值 |
中央处理器 |
核心中所需的 CPU,例如 0.5 若要指定十进制值,请使用 json() 函数。 |
int 或 json decimal |
记忆 |
所需的内存,例如“250Mb” |
字符串 |
VolumeMount
名字 |
描述 |
价值 |
mountPath |
容器中应装载卷的路径。不得包含“:”。 |
字符串 |
volumeName |
这必须与卷的名称匹配。 |
字符串 |
规模
名字 |
描述 |
价值 |
maxReplicas |
自选。 容器副本的最大数目。 如果未设置,则默认为 10。 |
int |
minReplicas |
自选。 容器副本的最小数量。 |
int |
规则 |
缩放规则。 |
ScaleRule[] |
ScaleRule
QueueScaleRule
名字 |
描述 |
价值 |
认证 |
队列缩放规则的身份验证机密。 |
ScaleRuleAuth[] |
queueLength |
队列长度。 |
int |
queueName |
队列名称。 |
字符串 |
ScaleRuleAuth
名字 |
描述 |
价值 |
secretRef |
要从中提取身份验证参数的容器应用机密的名称。 |
字符串 |
triggerParameter |
使用机密的触发器参数 |
字符串 |
CustomScaleRule
HttpScaleRule
卷
名字 |
描述 |
价值 |
名字 |
卷名称。 |
字符串 |
storageName |
存储资源的名称。 无需为 EmptyDir 提供。 |
字符串 |
storageType |
卷的存储类型。 如果未提供,请使用 EmptyDir。 |
“AzureFile” “EmptyDir” |
快速入门模板
以下快速入门模板部署此资源类型。
可以使用目标操作部署 containerApps 资源类型:
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
若要创建 Microsoft.App/containerApps 资源,请将以下 Terraform 添加到模板。
resource "azapi_resource" "symbolicname" {
type = "Microsoft.App/containerApps@2022-03-01"
name = "string"
location = "string"
parent_id = "string"
tags = {
tagName1 = "tagValue1"
tagName2 = "tagValue2"
}
identity {
type = "string"
identity_ids = []
}
body = jsonencode({
properties = {
configuration = {
activeRevisionsMode = "string"
dapr = {
appId = "string"
appPort = int
appProtocol = "string"
enabled = bool
}
ingress = {
allowInsecure = bool
customDomains = [
{
bindingType = "string"
certificateId = "string"
name = "string"
}
]
external = bool
targetPort = int
traffic = [
{
label = "string"
latestRevision = bool
revisionName = "string"
weight = int
}
]
transport = "string"
}
registries = [
{
identity = "string"
passwordSecretRef = "string"
server = "string"
username = "string"
}
]
secrets = [
{
name = "string"
value = "string"
}
]
}
managedEnvironmentId = "string"
template = {
containers = [
{
args = [
"string"
]
command = [
"string"
]
env = [
{
name = "string"
secretRef = "string"
value = "string"
}
]
image = "string"
name = "string"
probes = [
{
failureThreshold = int
httpGet = {
host = "string"
httpHeaders = [
{
name = "string"
value = "string"
}
]
path = "string"
port = int
scheme = "string"
}
initialDelaySeconds = int
periodSeconds = int
successThreshold = int
tcpSocket = {
host = "string"
port = int
}
terminationGracePeriodSeconds = int
timeoutSeconds = int
type = "string"
}
]
resources = {
cpu = "decimal-as-string"
memory = "string"
}
volumeMounts = [
{
mountPath = "string"
volumeName = "string"
}
]
}
]
revisionSuffix = "string"
scale = {
maxReplicas = int
minReplicas = int
rules = [
{
azureQueue = {
auth = [
{
secretRef = "string"
triggerParameter = "string"
}
]
queueLength = int
queueName = "string"
}
custom = {
auth = [
{
secretRef = "string"
triggerParameter = "string"
}
]
metadata = {
{customized property} = "string"
}
type = "string"
}
http = {
auth = [
{
secretRef = "string"
triggerParameter = "string"
}
]
metadata = {
{customized property} = "string"
}
}
name = "string"
}
]
}
volumes = [
{
name = "string"
storageName = "string"
storageType = "string"
}
]
}
}
})
}
属性值
containerApps
名字 |
描述 |
价值 |
类型 |
资源类型 |
“Microsoft.App/containerApps@2022-03-01” |
名字 |
资源名称 |
string (必需)
字符限制:2-32
有效字符: 小写字母、数字和连字符。
以字母开头,以字母数字结尾。 |
位置 |
资源所在的地理位置 |
string (必需) |
parent_id |
若要部署到资源组,请使用该资源组的 ID。 |
string (必需) |
标签 |
资源标记。 |
标记名称和值的字典。 |
身份 |
容器应用的托管标识可以与其他 Azure 服务交互,而无需在代码中维护任何机密或凭据。 |
ManagedServiceIdentity |
性能 |
ContainerApp 资源特定属性 |
ContainerAppProperties |
ManagedServiceIdentity
名字 |
描述 |
价值 |
类型 |
托管服务标识的类型(其中允许 SystemAssigned 和 UserAssigned 类型)。 |
“SystemAssigned” “SystemAssigned,UserAssigned” “UserAssigned”(必需) |
identity_ids |
与资源关联的用户分配标识集。 userAssignedIdentities 字典密钥将为 ARM 资源 ID,格式为“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 字典值可以是请求中的空对象({})。 |
用户标识 ID 的数组。 |
UserAssignedIdentities
UserAssignedIdentity
此对象不包含在部署期间设置的任何属性。 所有属性都是 ReadOnly。
ContainerAppProperties
名字 |
描述 |
价值 |
配置 |
非版本控制容器应用配置属性。 |
配置 |
managedEnvironmentId |
容器应用环境的资源 ID。 |
字符串 |
模板 |
容器应用版本控制的应用程序定义。 |
模板 |
配置
名字 |
描述 |
价值 |
activeRevisionsMode |
ActiveRevisionsMode 控制如何处理容器应用的活动修订: {list}{item}多个:多个修订可以处于活动状态。{/item}{item}单一:一次只能有一个修订处于活动状态。 无法在此模式下使用修订权重。 如果未提供任何值,则为默认值。{/item}{/list} |
“Multiple” “Single” |
dapr |
容器应用的 Dapr 配置。 |
Dapr |
入口 |
入口配置。 |
入口 |
登记处 |
容器应用使用的容器的专用容器注册表凭据的集合 |
RegistryCredentials[] |
秘密 |
容器应用使用的机密集合 |
机密[] |
Dapr
名字 |
描述 |
价值 |
appId |
Dapr 应用程序标识符 |
字符串 |
appPort |
告知 Dapr 应用程序正在侦听的端口 |
int |
appProtocol |
告知 Dapr 应用程序使用的协议。 有效选项为 http 和 grpc。 默认值为 http |
“grpc” “http ” |
启用 |
指示 Dapr 侧车是否已启用的布尔值 |
bool |
入口
名字 |
描述 |
价值 |
allowInsecure |
指示是否允许与 HTTP 连接的布尔值。 如果设置为 false HTTP 连接,则会自动重定向到 HTTPS 连接 |
bool |
customDomains |
容器应用的主机名的自定义域绑定。 |
CustomDomain[] |
外部 |
指示应用是否公开外部 http 终结点的布尔值 |
bool |
targetPort |
用于来自入口的流量的容器中的目标端口 |
int |
交通 |
应用修订的流量权重 |
TrafficWeight[] |
运输 |
入口传输协议 |
“auto” “http ” “http2 ” |
CustomDomain
名字 |
描述 |
价值 |
bindingType |
自定义域绑定类型。 |
“Disabled” “SniEnabled” |
certificateId |
要绑定到此主机名的证书的资源 ID。 |
字符串 |
名字 |
主机名。 |
string (必需) |
TrafficWeight
名字 |
描述 |
价值 |
标签 |
将流量标签与修订相关联 |
字符串 |
latestRevision |
指示流量权重属于最新的稳定修订 |
bool |
revisionName |
修订的名称 |
字符串 |
重量 |
分配给修订的流量权重 |
int |
RegistryCredentials
名字 |
描述 |
价值 |
身份 |
用于通过 Azure 容器注册表进行身份验证的托管标识。 对于用户分配的标识,请使用完整的用户分配标识资源 ID。 对于系统分配的标识,请使用“system” |
字符串 |
passwordSecretRef |
包含注册表登录密码的机密的名称 |
字符串 |
服务器 |
容器注册表服务器 |
字符串 |
username |
容器注册表用户名 |
字符串 |
秘密
名字 |
描述 |
价值 |
名字 |
机密名称。 |
字符串 |
价值 |
机密值。 |
字符串
约束: 敏感值。 以安全参数的形式传入。
|
模板
名字 |
描述 |
价值 |
器皿 |
容器应用的容器定义列表。 |
容器[] |
revisionSuffix |
追加到修订名称的用户友好后缀 |
字符串 |
规模 |
缩放容器应用的属性。 |
缩放 |
卷 |
容器应用的卷定义列表。 |
卷[] |
容器
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 的 terminationGracePeriodSeconds。 否则,此值将替代 Pod 规范提供的值。值必须是非负整数。 值零表示通过终止信号立即停止(没有关闭机会)。 这是 alpha 字段,需要启用 ProbeTerminationGracePeriod 功能门。 最大值为 3600 秒(1 小时) |
int |
timeoutSeconds |
探测超时的秒数。默认值为 1 秒。 最小值为 1。 最大值为 240。 |
int |
类型 |
探测的类型。 |
“活泼” “就绪情况” “Startup” |
ContainerAppProbeHttpGet
名字 |
描述 |
价值 |
主机 |
要连接的主机名,默认为 Pod IP。 你可能想要改为在 httpHeaders 中设置“主机”。 |
字符串 |
httpHeaders |
在请求中设置的自定义标头。 HTTP 允许重复标头。 |
ContainerAppProbeHttpGetHttpHeadersItem[] |
路径 |
在 HTTP 服务器上访问的路径。 |
字符串 |
港口 |
要在容器上访问的端口的名称或编号。 数字必须介于 1 到 65535 的范围内。 名称必须是IANA_SVC_NAME。 |
int (必需) |
方案 |
用于连接到主机的方案。 默认为 HTTP。 |
“HTTP” “HTTPS” |
名字 |
描述 |
价值 |
名字 |
标头字段名称 |
string (必需) |
价值 |
标头字段值 |
string (必需) |
ContainerAppProbeTcpSocket
名字 |
描述 |
价值 |
主机 |
可选:要连接到的主机名,默认为 Pod IP。 |
字符串 |
港口 |
要在容器上访问的端口的编号或名称。 数字必须介于 1 到 65535 的范围内。 名称必须是IANA_SVC_NAME。 |
int (必需) |
ContainerResources
名字 |
描述 |
价值 |
中央处理器 |
核心中所需的 CPU,例如 0.5 将十进制值指定为字符串。 |
int 或 json decimal |
记忆 |
所需的内存,例如“250Mb” |
字符串 |
VolumeMount
名字 |
描述 |
价值 |
mountPath |
容器中应装载卷的路径。不得包含“:”。 |
字符串 |
volumeName |
这必须与卷的名称匹配。 |
字符串 |
规模
名字 |
描述 |
价值 |
maxReplicas |
自选。 容器副本的最大数目。 如果未设置,则默认为 10。 |
int |
minReplicas |
自选。 容器副本的最小数量。 |
int |
规则 |
缩放规则。 |
ScaleRule[] |
ScaleRule
QueueScaleRule
名字 |
描述 |
价值 |
认证 |
队列缩放规则的身份验证机密。 |
ScaleRuleAuth[] |
queueLength |
队列长度。 |
int |
queueName |
队列名称。 |
字符串 |
ScaleRuleAuth
名字 |
描述 |
价值 |
secretRef |
要从中提取身份验证参数的容器应用机密的名称。 |
字符串 |
triggerParameter |
使用机密的触发器参数 |
字符串 |
CustomScaleRule
HttpScaleRule
卷
名字 |
描述 |
价值 |
名字 |
卷名称。 |
字符串 |
storageName |
存储资源的名称。 无需为 EmptyDir 提供。 |
字符串 |
storageType |
卷的存储类型。 如果未提供,请使用 EmptyDir。 |
“AzureFile” “EmptyDir” |