Bicep 리소스 정의
작업 리소스 종류는 다음을 대상으로 하는 작업과 함께 배포할 수 있습니다.
각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.
Microsoft.App/jobs 리소스를 만들려면 템플릿에 다음 Bicep을 추가합니다.
resource symbolicname 'Microsoft.App/jobs@2022-11-01-preview' = {
identity: {
type: 'string'
userAssignedIdentities: {
{customized property}: {}
}
}
location: 'string'
name: 'string'
properties: {
configuration: {
manualTriggerConfig: {
parallelism: int
replicaCompletionCount: int
}
registries: [
{
identity: 'string'
passwordSecretRef: 'string'
server: 'string'
username: 'string'
}
]
replicaRetryLimit: int
replicaTimeout: int
scheduleTriggerConfig: {
cronExpression: 'string'
parallelism: int
replicaCompletionCount: int
}
secrets: [
{
identity: 'string'
keyVaultUrl: 'string'
name: 'string'
value: 'string'
}
]
triggerType: 'string'
}
environmentId: '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: int
memory: 'string'
}
volumeMounts: [
{
mountPath: 'string'
volumeName: 'string'
}
]
}
]
initContainers: [
{
args: [
'string'
]
command: [
'string'
]
env: [
{
name: 'string'
secretRef: 'string'
value: 'string'
}
]
image: 'string'
name: 'string'
resources: {
cpu: int
memory: 'string'
}
volumeMounts: [
{
mountPath: 'string'
volumeName: 'string'
}
]
}
]
volumes: [
{
name: 'string'
secrets: [
{
path: 'string'
secretRef: 'string'
}
]
storageName: 'string'
storageType: 'string'
}
]
}
workloadProfileName: 'string'
}
tags: {
{customized property}: 'string'
}
}
속성 값
컨테이너
이름 |
묘사 |
값 |
인수(args) |
컨테이너 시작 명령 인수입니다. |
string[] |
명령 |
컨테이너 시작 명령입니다. |
string[] |
환경을 |
컨테이너 환경 변수입니다. |
EnvironmentVar[] |
이미지 |
컨테이너 이미지 태그입니다. |
문자열 |
이름 |
사용자 지정 컨테이너 이름입니다. |
문자열 |
프로브 |
컨테이너에 대한 프로브 목록입니다. |
ContainerAppProbe[] |
리소스 |
컨테이너 리소스 요구 사항. |
containerResources |
volumeMounts |
컨테이너 볼륨 탑재. |
VolumeMount[] |
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 사양에서 제공하는 값을 재정의합니다. 값은 음수가 아닌 정수여야 합니다. 값 0은 kill 신호를 통해 즉시 중지됨을 나타냅니다(종료할 기회가 없음). 알파 필드이며 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(cpu) |
코어의 필수 CPU(예: 0.5) |
int |
기억 |
필요한 메모리(예: "250Mb") |
문자열 |
EnvironmentVar
이름 |
묘사 |
값 |
이름 |
환경 변수 이름입니다. |
문자열 |
secretRef |
환경 변수 값을 끌어올 컨테이너 앱 비밀의 이름입니다. |
문자열 |
값 |
비밀이 아닌 환경 변수 값입니다. |
문자열 |
InitContainer
이름 |
묘사 |
값 |
인수(args) |
컨테이너 시작 명령 인수입니다. |
string[] |
명령 |
컨테이너 시작 명령입니다. |
string[] |
환경을 |
컨테이너 환경 변수입니다. |
EnvironmentVar[] |
이미지 |
컨테이너 이미지 태그입니다. |
문자열 |
이름 |
사용자 지정 컨테이너 이름입니다. |
문자열 |
리소스 |
컨테이너 리소스 요구 사항. |
containerResources |
volumeMounts |
컨테이너 볼륨 탑재. |
VolumeMount[] |
JobConfiguration
이름 |
묘사 |
값 |
manualTriggerConfig |
단일 실행 작업에 대한 수동 트리거 구성입니다. 속성 replicaCompletionCount 및 병렬 처리는 기본적으로 1로 설정됩니다. |
JobConfigurationManualTriggerConfig |
레지스트리 |
컨테이너 앱 작업에서 사용하는 프라이빗 컨테이너 레지스트리 자격 증명 컬렉션 |
RegistryCredentials[] |
replicaRetryLimit |
작업에 실패하기 전 최대 재시도 횟수입니다. |
int |
replicaTimeout |
복제본을 실행할 수 있는 최대 시간(초)입니다. |
int(필수) |
scheduleTriggerConfig |
cron 형식의 반복 트리거 일정("* * * * *")은 cronjobs에 대해 지정되었습니다. 속성 완성 및 병렬 처리는 기본적으로 1로 설정됩니다. |
JobConfigurationScheduleTriggerConfig |
비밀 |
Container Apps 작업에서 사용하는 비밀 컬렉션 |
비밀[] |
triggerType |
작업 트리거 유형 |
'Event' '수동' 'Schedule'(필수) |
JobConfigurationManualTriggerConfig
이름 |
묘사 |
값 |
평행도 |
지정된 시간에 실행할 수 있는 작업의 병렬 복제본 수입니다. |
int |
replicaCompletionCount |
전체 작업을 완료하기 전에 복제본 완료에 성공한 최소 수입니다. |
int |
JobConfigurationScheduleTriggerConfig
이름 |
묘사 |
값 |
cronExpression |
Cron 작업의 반복 일정("* * * * *")을 지정했습니다. |
string(필수) |
평행도 |
지정된 시간에 실행할 수 있는 작업의 병렬 복제본 수입니다. |
int |
replicaCompletionCount |
전체 작업을 완료하기 전에 복제본 완료에 성공한 최소 수입니다. |
int |
JobProperties
이름 |
묘사 |
값 |
구성 |
Container Apps 작업 구성 속성입니다. |
JobConfiguration |
environmentId |
환경의 리소스 ID입니다. |
문자열 |
템플렛 |
Container Apps 작업 정의입니다. |
JobTemplate |
workloadProfileName |
컨테이너 앱 작업 실행을 위해 고정할 워크로드 프로필 이름입니다. |
문자열 |
JobTemplate
이름 |
묘사 |
값 |
컨테이너 |
컨테이너 앱에 대한 컨테이너 정의 목록입니다. |
컨테이너[] |
initContainers |
앱 컨테이너 앞에서 실행되는 특수 컨테이너 목록입니다. |
InitContainer[] |
볼륨 |
컨테이너 앱에 대한 볼륨 정의 목록입니다. |
볼륨[] |
ManagedServiceIdentity
이름 |
묘사 |
값 |
형 |
관리 서비스 ID의 유형입니다(SystemAssigned 및 UserAssigned 형식이 모두 허용되는 경우). |
'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' 'UserAssigned'(필수) |
userAssignedIdentities |
리소스와 연결된 사용자 할당 ID 집합입니다. userAssignedIdentities 사전 키는 '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} 형식의 ARM 리소스 ID입니다. 사전 값은 요청에서 빈 개체({})일 수 있습니다. |
UserAssignedIdentities |
Microsoft.App/jobs
이름 |
묘사 |
값 |
신원 |
코드에서 비밀 또는 자격 증명을 유지 관리하지 않기 위해 컨테이너 앱 작업에서 다른 Azure 서비스와 상호 작용하는 데 필요한 관리 ID입니다. |
ManagedServiceIdentity |
위치 |
리소스가 있는 지리적 위치 |
string(필수) |
이름 |
리소스 이름 |
string(필수) |
속성 |
Container Apps 작업 리소스 관련 속성입니다. |
JobProperties |
태그 |
리소스 태그 |
태그 이름 및 값의 사전입니다. 템플릿 태그를 참조하세요. |
RegistryCredentials
이름 |
묘사 |
값 |
신원 |
Azure Container Registry로 인증하는 데 사용할 관리 ID입니다. 사용자 할당 ID의 경우 전체 사용자 할당 ID 리소스 ID를 사용합니다. 시스템 할당 ID의 경우 'system'을 사용합니다. |
문자열 |
passwordSecretRef |
레지스트리 로그인 암호를 포함하는 비밀의 이름입니다. |
문자열 |
서버 |
Container Registry Server |
문자열 |
사용자 이름 |
Container Registry 사용자 이름 |
문자열 |
비밀
이름 |
묘사 |
값 |
신원 |
Azure Key Vault로 인증할 관리 ID의 리소스 ID 또는 시스템 할당 ID를 사용하는 시스템입니다. |
문자열 |
keyVaultUrl |
컨테이너 앱에서 참조하는 비밀을 가리키는 Azure Key Vault URL입니다. |
문자열 |
이름 |
비밀 이름입니다. |
문자열 |
값 |
비밀 값입니다. |
문자열
제약 조건: 중요한 값입니다. 보안 매개 변수로 전달합니다. |
SecretVolumeItem
이름 |
묘사 |
값 |
길 |
프로젝트 비밀에 대한 경로입니다. 경로가 제공되지 않은 경우 경로는 기본적으로 secretRef에 나열된 비밀의 이름으로 설정됩니다. |
문자열 |
secretRef |
비밀 값을 끌어올 컨테이너 앱 비밀의 이름입니다. |
문자열 |
UserAssignedIdentities
UserAssignedIdentity
음량
이름 |
묘사 |
값 |
이름 |
볼륨 이름입니다. |
문자열 |
비밀 |
볼륨에 추가할 비밀 목록입니다. 비밀이 제공되지 않으면 컬렉션의 모든 비밀이 볼륨에 추가됩니다. |
SecretVolumeItem[] |
storageName |
스토리지 리소스의 이름입니다. EmptyDir 및 Secret을 제공할 필요가 없습니다. |
문자열 |
storageType |
볼륨의 스토리지 유형입니다. 제공되지 않은 경우 EmptyDir을 사용합니다. |
'AzureFile' 'EmptyDir' '비밀' |
VolumeMount
이름 |
묘사 |
값 |
mountPath |
볼륨을 탑재해야 하는 컨테이너 내의 경로입니다. ':'을 포함하지 않아야 합니다. |
문자열 |
volumeName |
볼륨의 이름과 일치해야 합니다. |
문자열 |
ARM 템플릿 리소스 정의
작업 리소스 종류는 다음을 대상으로 하는 작업과 함께 배포할 수 있습니다.
각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.
Microsoft.App/jobs 리소스를 만들려면 템플릿에 다음 JSON을 추가합니다.
{
"type": "Microsoft.App/jobs",
"apiVersion": "2022-11-01-preview",
"name": "string",
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": {
}
}
},
"location": "string",
"properties": {
"configuration": {
"manualTriggerConfig": {
"parallelism": "int",
"replicaCompletionCount": "int"
},
"registries": [
{
"identity": "string",
"passwordSecretRef": "string",
"server": "string",
"username": "string"
}
],
"replicaRetryLimit": "int",
"replicaTimeout": "int",
"scheduleTriggerConfig": {
"cronExpression": "string",
"parallelism": "int",
"replicaCompletionCount": "int"
},
"secrets": [
{
"identity": "string",
"keyVaultUrl": "string",
"name": "string",
"value": "string"
}
],
"triggerType": "string"
},
"environmentId": "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": "int",
"memory": "string"
},
"volumeMounts": [
{
"mountPath": "string",
"volumeName": "string"
}
]
}
],
"initContainers": [
{
"args": [ "string" ],
"command": [ "string" ],
"env": [
{
"name": "string",
"secretRef": "string",
"value": "string"
}
],
"image": "string",
"name": "string",
"resources": {
"cpu": "int",
"memory": "string"
},
"volumeMounts": [
{
"mountPath": "string",
"volumeName": "string"
}
]
}
],
"volumes": [
{
"name": "string",
"secrets": [
{
"path": "string",
"secretRef": "string"
}
],
"storageName": "string",
"storageType": "string"
}
]
},
"workloadProfileName": "string"
},
"tags": {
"{customized property}": "string"
}
}
속성 값
컨테이너
이름 |
묘사 |
값 |
인수(args) |
컨테이너 시작 명령 인수입니다. |
string[] |
명령 |
컨테이너 시작 명령입니다. |
string[] |
환경을 |
컨테이너 환경 변수입니다. |
EnvironmentVar[] |
이미지 |
컨테이너 이미지 태그입니다. |
문자열 |
이름 |
사용자 지정 컨테이너 이름입니다. |
문자열 |
프로브 |
컨테이너에 대한 프로브 목록입니다. |
ContainerAppProbe[] |
리소스 |
컨테이너 리소스 요구 사항. |
containerResources |
volumeMounts |
컨테이너 볼륨 탑재. |
VolumeMount[] |
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 사양에서 제공하는 값을 재정의합니다. 값은 음수가 아닌 정수여야 합니다. 값 0은 kill 신호를 통해 즉시 중지됨을 나타냅니다(종료할 기회가 없음). 알파 필드이며 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(cpu) |
코어의 필수 CPU(예: 0.5) |
int |
기억 |
필요한 메모리(예: "250Mb") |
문자열 |
EnvironmentVar
이름 |
묘사 |
값 |
이름 |
환경 변수 이름입니다. |
문자열 |
secretRef |
환경 변수 값을 끌어올 컨테이너 앱 비밀의 이름입니다. |
문자열 |
값 |
비밀이 아닌 환경 변수 값입니다. |
문자열 |
InitContainer
이름 |
묘사 |
값 |
인수(args) |
컨테이너 시작 명령 인수입니다. |
string[] |
명령 |
컨테이너 시작 명령입니다. |
string[] |
환경을 |
컨테이너 환경 변수입니다. |
EnvironmentVar[] |
이미지 |
컨테이너 이미지 태그입니다. |
문자열 |
이름 |
사용자 지정 컨테이너 이름입니다. |
문자열 |
리소스 |
컨테이너 리소스 요구 사항. |
containerResources |
volumeMounts |
컨테이너 볼륨 탑재. |
VolumeMount[] |
JobConfiguration
이름 |
묘사 |
값 |
manualTriggerConfig |
단일 실행 작업에 대한 수동 트리거 구성입니다. 속성 replicaCompletionCount 및 병렬 처리는 기본적으로 1로 설정됩니다. |
JobConfigurationManualTriggerConfig |
레지스트리 |
컨테이너 앱 작업에서 사용하는 프라이빗 컨테이너 레지스트리 자격 증명 컬렉션 |
RegistryCredentials[] |
replicaRetryLimit |
작업에 실패하기 전 최대 재시도 횟수입니다. |
int |
replicaTimeout |
복제본을 실행할 수 있는 최대 시간(초)입니다. |
int(필수) |
scheduleTriggerConfig |
cron 형식의 반복 트리거 일정("* * * * *")은 cronjobs에 대해 지정되었습니다. 속성 완성 및 병렬 처리는 기본적으로 1로 설정됩니다. |
JobConfigurationScheduleTriggerConfig |
비밀 |
Container Apps 작업에서 사용하는 비밀 컬렉션 |
비밀[] |
triggerType |
작업 트리거 유형 |
'Event' '수동' 'Schedule'(필수) |
JobConfigurationManualTriggerConfig
이름 |
묘사 |
값 |
평행도 |
지정된 시간에 실행할 수 있는 작업의 병렬 복제본 수입니다. |
int |
replicaCompletionCount |
전체 작업을 완료하기 전에 복제본 완료에 성공한 최소 수입니다. |
int |
JobConfigurationScheduleTriggerConfig
이름 |
묘사 |
값 |
cronExpression |
Cron 작업의 반복 일정("* * * * *")을 지정했습니다. |
string(필수) |
평행도 |
지정된 시간에 실행할 수 있는 작업의 병렬 복제본 수입니다. |
int |
replicaCompletionCount |
전체 작업을 완료하기 전에 복제본 완료에 성공한 최소 수입니다. |
int |
JobProperties
이름 |
묘사 |
값 |
구성 |
Container Apps 작업 구성 속성입니다. |
JobConfiguration |
environmentId |
환경의 리소스 ID입니다. |
문자열 |
템플렛 |
Container Apps 작업 정의입니다. |
JobTemplate |
workloadProfileName |
컨테이너 앱 작업 실행을 위해 고정할 워크로드 프로필 이름입니다. |
문자열 |
JobTemplate
이름 |
묘사 |
값 |
컨테이너 |
컨테이너 앱에 대한 컨테이너 정의 목록입니다. |
컨테이너[] |
initContainers |
앱 컨테이너 앞에서 실행되는 특수 컨테이너 목록입니다. |
InitContainer[] |
볼륨 |
컨테이너 앱에 대한 볼륨 정의 목록입니다. |
볼륨[] |
ManagedServiceIdentity
이름 |
묘사 |
값 |
형 |
관리 서비스 ID의 유형입니다(SystemAssigned 및 UserAssigned 형식이 모두 허용되는 경우). |
'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' 'UserAssigned'(필수) |
userAssignedIdentities |
리소스와 연결된 사용자 할당 ID 집합입니다. userAssignedIdentities 사전 키는 '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} 형식의 ARM 리소스 ID입니다. 사전 값은 요청에서 빈 개체({})일 수 있습니다. |
UserAssignedIdentities |
Microsoft.App/jobs
이름 |
묘사 |
값 |
apiVersion |
api 버전 |
'2022-11-01-preview' |
신원 |
코드에서 비밀 또는 자격 증명을 유지 관리하지 않기 위해 컨테이너 앱 작업에서 다른 Azure 서비스와 상호 작용하는 데 필요한 관리 ID입니다. |
ManagedServiceIdentity |
위치 |
리소스가 있는 지리적 위치 |
string(필수) |
이름 |
리소스 이름 |
string(필수) |
속성 |
Container Apps 작업 리소스 관련 속성입니다. |
JobProperties |
태그 |
리소스 태그 |
태그 이름 및 값의 사전입니다. 템플릿 태그를 참조하세요. |
형 |
리소스 종류 |
'Microsoft.App/jobs' |
RegistryCredentials
이름 |
묘사 |
값 |
신원 |
Azure Container Registry로 인증하는 데 사용할 관리 ID입니다. 사용자 할당 ID의 경우 전체 사용자 할당 ID 리소스 ID를 사용합니다. 시스템 할당 ID의 경우 'system'을 사용합니다. |
문자열 |
passwordSecretRef |
레지스트리 로그인 암호를 포함하는 비밀의 이름입니다. |
문자열 |
서버 |
Container Registry Server |
문자열 |
사용자 이름 |
Container Registry 사용자 이름 |
문자열 |
비밀
이름 |
묘사 |
값 |
신원 |
Azure Key Vault로 인증할 관리 ID의 리소스 ID 또는 시스템 할당 ID를 사용하는 시스템입니다. |
문자열 |
keyVaultUrl |
컨테이너 앱에서 참조하는 비밀을 가리키는 Azure Key Vault URL입니다. |
문자열 |
이름 |
비밀 이름입니다. |
문자열 |
값 |
비밀 값입니다. |
문자열
제약 조건: 중요한 값입니다. 보안 매개 변수로 전달합니다. |
SecretVolumeItem
이름 |
묘사 |
값 |
길 |
프로젝트 비밀에 대한 경로입니다. 경로가 제공되지 않은 경우 경로는 기본적으로 secretRef에 나열된 비밀의 이름으로 설정됩니다. |
문자열 |
secretRef |
비밀 값을 끌어올 컨테이너 앱 비밀의 이름입니다. |
문자열 |
UserAssignedIdentities
UserAssignedIdentity
음량
이름 |
묘사 |
값 |
이름 |
볼륨 이름입니다. |
문자열 |
비밀 |
볼륨에 추가할 비밀 목록입니다. 비밀이 제공되지 않으면 컬렉션의 모든 비밀이 볼륨에 추가됩니다. |
SecretVolumeItem[] |
storageName |
스토리지 리소스의 이름입니다. EmptyDir 및 Secret을 제공할 필요가 없습니다. |
문자열 |
storageType |
볼륨의 스토리지 유형입니다. 제공되지 않은 경우 EmptyDir을 사용합니다. |
'AzureFile' 'EmptyDir' '비밀' |
VolumeMount
이름 |
묘사 |
값 |
mountPath |
볼륨을 탑재해야 하는 컨테이너 내의 경로입니다. ':'을 포함하지 않아야 합니다. |
문자열 |
volumeName |
볼륨의 이름과 일치해야 합니다. |
문자열 |
작업 리소스 종류는 다음을 대상으로 하는 작업과 함께 배포할 수 있습니다.
각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.
Microsoft.App/jobs 리소스를 만들려면 템플릿에 다음 Terraform을 추가합니다.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.App/jobs@2022-11-01-preview"
name = "string"
identity = {
type = "string"
userAssignedIdentities = {
{customized property} = {
}
}
}
location = "string"
tags = {
{customized property} = "string"
}
body = jsonencode({
properties = {
configuration = {
manualTriggerConfig = {
parallelism = int
replicaCompletionCount = int
}
registries = [
{
identity = "string"
passwordSecretRef = "string"
server = "string"
username = "string"
}
]
replicaRetryLimit = int
replicaTimeout = int
scheduleTriggerConfig = {
cronExpression = "string"
parallelism = int
replicaCompletionCount = int
}
secrets = [
{
identity = "string"
keyVaultUrl = "string"
name = "string"
value = "string"
}
]
triggerType = "string"
}
environmentId = "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 = int
memory = "string"
}
volumeMounts = [
{
mountPath = "string"
volumeName = "string"
}
]
}
]
initContainers = [
{
args = [
"string"
]
command = [
"string"
]
env = [
{
name = "string"
secretRef = "string"
value = "string"
}
]
image = "string"
name = "string"
resources = {
cpu = int
memory = "string"
}
volumeMounts = [
{
mountPath = "string"
volumeName = "string"
}
]
}
]
volumes = [
{
name = "string"
secrets = [
{
path = "string"
secretRef = "string"
}
]
storageName = "string"
storageType = "string"
}
]
}
workloadProfileName = "string"
}
})
}
속성 값
컨테이너
이름 |
묘사 |
값 |
인수(args) |
컨테이너 시작 명령 인수입니다. |
string[] |
명령 |
컨테이너 시작 명령입니다. |
string[] |
환경을 |
컨테이너 환경 변수입니다. |
EnvironmentVar[] |
이미지 |
컨테이너 이미지 태그입니다. |
문자열 |
이름 |
사용자 지정 컨테이너 이름입니다. |
문자열 |
프로브 |
컨테이너에 대한 프로브 목록입니다. |
ContainerAppProbe[] |
리소스 |
컨테이너 리소스 요구 사항. |
containerResources |
volumeMounts |
컨테이너 볼륨 탑재. |
VolumeMount[] |
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 사양에서 제공하는 값을 재정의합니다. 값은 음수가 아닌 정수여야 합니다. 값 0은 kill 신호를 통해 즉시 중지됨을 나타냅니다(종료할 기회가 없음). 알파 필드이며 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(cpu) |
코어의 필수 CPU(예: 0.5) |
int |
기억 |
필요한 메모리(예: "250Mb") |
문자열 |
EnvironmentVar
이름 |
묘사 |
값 |
이름 |
환경 변수 이름입니다. |
문자열 |
secretRef |
환경 변수 값을 끌어올 컨테이너 앱 비밀의 이름입니다. |
문자열 |
값 |
비밀이 아닌 환경 변수 값입니다. |
문자열 |
InitContainer
이름 |
묘사 |
값 |
인수(args) |
컨테이너 시작 명령 인수입니다. |
string[] |
명령 |
컨테이너 시작 명령입니다. |
string[] |
환경을 |
컨테이너 환경 변수입니다. |
EnvironmentVar[] |
이미지 |
컨테이너 이미지 태그입니다. |
문자열 |
이름 |
사용자 지정 컨테이너 이름입니다. |
문자열 |
리소스 |
컨테이너 리소스 요구 사항. |
containerResources |
volumeMounts |
컨테이너 볼륨 탑재. |
VolumeMount[] |
JobConfiguration
이름 |
묘사 |
값 |
manualTriggerConfig |
단일 실행 작업에 대한 수동 트리거 구성입니다. 속성 replicaCompletionCount 및 병렬 처리는 기본적으로 1로 설정됩니다. |
JobConfigurationManualTriggerConfig |
레지스트리 |
컨테이너 앱 작업에서 사용하는 프라이빗 컨테이너 레지스트리 자격 증명 컬렉션 |
RegistryCredentials[] |
replicaRetryLimit |
작업에 실패하기 전 최대 재시도 횟수입니다. |
int |
replicaTimeout |
복제본을 실행할 수 있는 최대 시간(초)입니다. |
int(필수) |
scheduleTriggerConfig |
cron 형식의 반복 트리거 일정("* * * * *")은 cronjobs에 대해 지정되었습니다. 속성 완성 및 병렬 처리는 기본적으로 1로 설정됩니다. |
JobConfigurationScheduleTriggerConfig |
비밀 |
Container Apps 작업에서 사용하는 비밀 컬렉션 |
비밀[] |
triggerType |
작업 트리거 유형 |
'Event' '수동' 'Schedule'(필수) |
JobConfigurationManualTriggerConfig
이름 |
묘사 |
값 |
평행도 |
지정된 시간에 실행할 수 있는 작업의 병렬 복제본 수입니다. |
int |
replicaCompletionCount |
전체 작업을 완료하기 전에 복제본 완료에 성공한 최소 수입니다. |
int |
JobConfigurationScheduleTriggerConfig
이름 |
묘사 |
값 |
cronExpression |
Cron 작업의 반복 일정("* * * * *")을 지정했습니다. |
string(필수) |
평행도 |
지정된 시간에 실행할 수 있는 작업의 병렬 복제본 수입니다. |
int |
replicaCompletionCount |
전체 작업을 완료하기 전에 복제본 완료에 성공한 최소 수입니다. |
int |
JobProperties
이름 |
묘사 |
값 |
구성 |
Container Apps 작업 구성 속성입니다. |
JobConfiguration |
environmentId |
환경의 리소스 ID입니다. |
문자열 |
템플렛 |
Container Apps 작업 정의입니다. |
JobTemplate |
workloadProfileName |
컨테이너 앱 작업 실행을 위해 고정할 워크로드 프로필 이름입니다. |
문자열 |
JobTemplate
이름 |
묘사 |
값 |
컨테이너 |
컨테이너 앱에 대한 컨테이너 정의 목록입니다. |
컨테이너[] |
initContainers |
앱 컨테이너 앞에서 실행되는 특수 컨테이너 목록입니다. |
InitContainer[] |
볼륨 |
컨테이너 앱에 대한 볼륨 정의 목록입니다. |
볼륨[] |
ManagedServiceIdentity
이름 |
묘사 |
값 |
형 |
관리 서비스 ID의 유형입니다(SystemAssigned 및 UserAssigned 형식이 모두 허용되는 경우). |
'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' 'UserAssigned'(필수) |
userAssignedIdentities |
리소스와 연결된 사용자 할당 ID 집합입니다. userAssignedIdentities 사전 키는 '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} 형식의 ARM 리소스 ID입니다. 사전 값은 요청에서 빈 개체({})일 수 있습니다. |
UserAssignedIdentities |
Microsoft.App/jobs
이름 |
묘사 |
값 |
신원 |
코드에서 비밀 또는 자격 증명을 유지 관리하지 않기 위해 컨테이너 앱 작업에서 다른 Azure 서비스와 상호 작용하는 데 필요한 관리 ID입니다. |
ManagedServiceIdentity |
위치 |
리소스가 있는 지리적 위치 |
string(필수) |
이름 |
리소스 이름 |
string(필수) |
속성 |
Container Apps 작업 리소스 관련 속성입니다. |
JobProperties |
태그 |
리소스 태그 |
태그 이름 및 값의 사전입니다. |
형 |
리소스 종류 |
"Microsoft.App/jobs@2022-11-01-preview" |
RegistryCredentials
이름 |
묘사 |
값 |
신원 |
Azure Container Registry로 인증하는 데 사용할 관리 ID입니다. 사용자 할당 ID의 경우 전체 사용자 할당 ID 리소스 ID를 사용합니다. 시스템 할당 ID의 경우 'system'을 사용합니다. |
문자열 |
passwordSecretRef |
레지스트리 로그인 암호를 포함하는 비밀의 이름입니다. |
문자열 |
서버 |
Container Registry Server |
문자열 |
사용자 이름 |
Container Registry 사용자 이름 |
문자열 |
비밀
이름 |
묘사 |
값 |
신원 |
Azure Key Vault로 인증할 관리 ID의 리소스 ID 또는 시스템 할당 ID를 사용하는 시스템입니다. |
문자열 |
keyVaultUrl |
컨테이너 앱에서 참조하는 비밀을 가리키는 Azure Key Vault URL입니다. |
문자열 |
이름 |
비밀 이름입니다. |
문자열 |
값 |
비밀 값입니다. |
문자열
제약 조건: 중요한 값입니다. 보안 매개 변수로 전달합니다. |
SecretVolumeItem
이름 |
묘사 |
값 |
길 |
프로젝트 비밀에 대한 경로입니다. 경로가 제공되지 않은 경우 경로는 기본적으로 secretRef에 나열된 비밀의 이름으로 설정됩니다. |
문자열 |
secretRef |
비밀 값을 끌어올 컨테이너 앱 비밀의 이름입니다. |
문자열 |
UserAssignedIdentities
UserAssignedIdentity
음량
이름 |
묘사 |
값 |
이름 |
볼륨 이름입니다. |
문자열 |
비밀 |
볼륨에 추가할 비밀 목록입니다. 비밀이 제공되지 않으면 컬렉션의 모든 비밀이 볼륨에 추가됩니다. |
SecretVolumeItem[] |
storageName |
스토리지 리소스의 이름입니다. EmptyDir 및 Secret을 제공할 필요가 없습니다. |
문자열 |
storageType |
볼륨의 스토리지 유형입니다. 제공되지 않은 경우 EmptyDir을 사용합니다. |
'AzureFile' 'EmptyDir' '비밀' |
VolumeMount
이름 |
묘사 |
값 |
mountPath |
볼륨을 탑재해야 하는 컨테이너 내의 경로입니다. ':'을 포함하지 않아야 합니다. |
문자열 |
volumeName |
볼륨의 이름과 일치해야 합니다. |
문자열 |