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[] |
env |
コンテナー環境変数。 |
EnvironmentVar[] |
画像 |
コンテナー イメージ タグ。 |
糸 |
名前 |
カスタム コンテナー名。 |
糸 |
プローブ |
コンテナーのプローブの一覧。 |
ContainerAppProbe[] |
リソース |
コンテナー リソースの要件。 |
ContainerResources の |
volumeMounts |
コンテナー ボリュームのマウント。 |
VolumeMount[] |
ContainerAppProbe
名前 |
形容 |
価値 |
failureThreshold |
成功した後に失敗したと見なされるプローブの連続する最小障害。 既定値は 3 です。 最小値は 1 です。 最大値は 10 です。 |
int |
httpGet |
HTTPGet は、実行する http 要求を指定します。 |
ContainerAppProbeHttpGet の |
initialDelaySeconds |
コンテナーが起動してから、liveness プローブが開始されるまでの秒数。 最小値は 1 です。 最大値は 60 です。 |
int |
periodSeconds |
プローブを実行する頻度 (秒単位)。 既定値は 10 秒です。 最小値は 1 です。 最大値は 240 です。 |
int |
successThreshold |
失敗した後にプローブが成功したと見なされる最小連続成功数。 既定値は 1 です。 ライブ性と起動には 1 にする必要があります。 最小値は 1 です。 最大値は 10 です。 |
int |
tcpSocket |
TCPSocket は、TCP ポートに関連するアクションを指定します。 TCP フックはまだサポートされていません。 |
ContainerAppProbeTcpSocket の |
terminationGracePeriodSeconds |
プローブの障害時にポッドを正常に終了する必要がある時間 (秒単位)。 猶予期間は、ポッドで実行されているプロセスが終了シグナルを送信してから数秒で、プロセスが強制終了シグナルで強制的に停止される時間です。 この値は、プロセスの予想されるクリーンアップ時間よりも長く設定します。 この値が nil の場合、ポッドの terminationGracePeriodSeconds が使用されます。 それ以外の場合、この値はポッド スペックによって提供される値をオーバーライドします。値は負以外の整数である必要があります。 値 0 は、強制終了信号を介して直ちに停止することを示します (シャットダウンする機会はありません)。 これはアルファ フィールドであり、ProbeTerminationGracePeriod 機能ゲートを有効にする必要があります。 最大値は 3600 秒 (1 時間) です。 |
int |
timeoutSeconds |
プローブがタイムアウトする秒数。既定値は 1 秒です。 最小値は 1 です。 最大値は 240 です。 |
int |
種類 |
プローブの種類。 |
'Liveness' 'Readiness' 'Startup' |
ContainerAppProbeHttpGet
名前 |
形容 |
価値 |
ホスト |
接続先のホスト名。既定ではポッド IP が使用されます。 代わりに httpHeaders で "Host" を設定することをお考えでしょう。 |
糸 |
httpHeaders |
要求で設定するカスタム ヘッダー。 HTTP では、ヘッダーを繰り返し使用できます。 |
ContainerAppProbeHttpGetHttpHeadersItem[] |
パス |
HTTP サーバー上のアクセスのパス。 |
糸 |
港 |
コンテナーでアクセスするポートの名前または番号。 数値は 1 ~ 65535 の範囲である必要があります。 名前はIANA_SVC_NAMEである必要があります。 |
int (必須) |
計画 |
ホストへの接続に使用するスキーム。 既定値は HTTP です。 |
'HTTP' 'HTTPS' |
名前 |
形容 |
価値 |
名前 |
ヘッダー フィールド名 |
string (必須) |
価値 |
ヘッダー フィールドの値 |
string (必須) |
ContainerAppProbeTcpSocket
名前 |
形容 |
価値 |
ホスト |
省略可能: 接続先のホスト名。既定ではポッド IP が使用されます。 |
糸 |
港 |
コンテナーでアクセスするポートの番号または名前。 数値は 1 ~ 65535 の範囲である必要があります。 名前はIANA_SVC_NAMEである必要があります。 |
int (必須) |
ContainerResources
名前 |
形容 |
価値 |
cpu |
コアで必要な CPU (例: 0.5) |
int |
記憶 |
必要なメモリ (例: "250Mb" ) |
糸 |
EnvironmentVar
名前 |
形容 |
価値 |
名前 |
環境変数の名前。 |
糸 |
secretRef |
環境変数の値をプルするコンテナー アプリ シークレットの名前。 |
糸 |
価値 |
シークレット以外の環境変数の値。 |
糸 |
InitContainer
名前 |
形容 |
価値 |
args |
コンテナーの開始コマンド引数。 |
string[] |
命令 |
コンテナーの開始コマンド。 |
string[] |
env |
コンテナー環境変数。 |
EnvironmentVar[] |
画像 |
コンテナー イメージ タグ。 |
糸 |
名前 |
カスタム コンテナー名。 |
糸 |
リソース |
コンテナー リソースの要件。 |
ContainerResources の |
volumeMounts |
コンテナー ボリュームのマウント。 |
VolumeMount[] |
JobConfiguration
名前 |
形容 |
価値 |
manualTriggerConfig |
1 つの実行ジョブの手動トリガー構成。 プロパティ replicaCompletionCount と並列処理は既定で 1 に設定されます |
JobConfigurationManualTriggerConfig |
レジストリ |
コンテナー アプリ ジョブによって使用されるプライベート コンテナー レジストリ資格情報のコレクション |
RegistryCredentials[] |
replicaRetryLimit |
ジョブが失敗するまでの再試行の最大数。 |
int |
replicaTimeout |
レプリカの実行が許可される最大秒数。 |
int (必須) |
scheduleTriggerConfig |
Cron は cronjobs の繰り返しトリガー スケジュール ("* * * * *") を書式設定しました。 プロパティの入力候補と並列処理は既定で 1 に設定されます |
JobConfigurationScheduleTriggerConfig |
秘密 |
Container Apps ジョブによって使用されるシークレットのコレクション |
シークレット[] |
triggerType |
ジョブのトリガーの種類 |
'Event' 'Manual' 'Schedule' (必須) |
JobConfigurationManualTriggerConfig
名前 |
形容 |
価値 |
平行 |
特定の時刻に実行できるジョブの並列レプリカの数。 |
int |
replicaCompletionCount |
全体的なジョブの完了前の正常なレプリカの完了の最小数。 |
int |
JobConfigurationScheduleTriggerConfig
名前 |
形容 |
価値 |
cronExpression |
Cron は 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 |
糸 |
username |
Container Registry Username |
糸 |
秘密
名前 |
形容 |
価値 |
同一性 |
Azure Key Vault で認証するマネージド ID のリソース ID、またはシステム割り当て ID を使用するシステム。 |
糸 |
keyVaultUrl |
コンテナー アプリによって参照されるシークレットを指す Azure Key Vault URL。 |
糸 |
名前 |
シークレット名。 |
糸 |
価値 |
シークレット値。 |
糸
制約: 機密性の高い値。 セキュリティで保護されたパラメーターとして渡します。 |
SecretVolumeItem
名前 |
形容 |
価値 |
パス |
プロジェクト シークレットのパス。 パスが指定されていない場合、path は既定で secretRef にリストされているシークレットの名前になります。 |
糸 |
secretRef |
シークレット値のプル元のコンテナー アプリ シークレットの名前。 |
糸 |
UserAssignedIdentities
UserAssignedIdentity
容積
名前 |
形容 |
価値 |
名前 |
ボリューム名。 |
糸 |
秘密 |
ボリュームに追加するシークレットの一覧。 シークレットが指定されていない場合、コレクション内のすべてのシークレットがボリュームに追加されます。 |
SecretVolumeItem[] |
storageName |
ストレージ リソースの名前。 EmptyDir とシークレットを指定する必要はありません。 |
糸 |
storageType |
ボリュームのストレージの種類。 指定しない場合は、EmptyDir を使用します。 |
'AzureFile' 'EmptyDir' 'Secret' |
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[] |
env |
コンテナー環境変数。 |
EnvironmentVar[] |
画像 |
コンテナー イメージ タグ。 |
糸 |
名前 |
カスタム コンテナー名。 |
糸 |
プローブ |
コンテナーのプローブの一覧。 |
ContainerAppProbe[] |
リソース |
コンテナー リソースの要件。 |
ContainerResources の |
volumeMounts |
コンテナー ボリュームのマウント。 |
VolumeMount[] |
ContainerAppProbe
名前 |
形容 |
価値 |
failureThreshold |
成功した後に失敗したと見なされるプローブの連続する最小障害。 既定値は 3 です。 最小値は 1 です。 最大値は 10 です。 |
int |
httpGet |
HTTPGet は、実行する http 要求を指定します。 |
ContainerAppProbeHttpGet の |
initialDelaySeconds |
コンテナーが起動してから、liveness プローブが開始されるまでの秒数。 最小値は 1 です。 最大値は 60 です。 |
int |
periodSeconds |
プローブを実行する頻度 (秒単位)。 既定値は 10 秒です。 最小値は 1 です。 最大値は 240 です。 |
int |
successThreshold |
失敗した後にプローブが成功したと見なされる最小連続成功数。 既定値は 1 です。 ライブ性と起動には 1 にする必要があります。 最小値は 1 です。 最大値は 10 です。 |
int |
tcpSocket |
TCPSocket は、TCP ポートに関連するアクションを指定します。 TCP フックはまだサポートされていません。 |
ContainerAppProbeTcpSocket の |
terminationGracePeriodSeconds |
プローブの障害時にポッドを正常に終了する必要がある時間 (秒単位)。 猶予期間は、ポッドで実行されているプロセスが終了シグナルを送信してから数秒で、プロセスが強制終了シグナルで強制的に停止される時間です。 この値は、プロセスの予想されるクリーンアップ時間よりも長く設定します。 この値が nil の場合、ポッドの terminationGracePeriodSeconds が使用されます。 それ以外の場合、この値はポッド スペックによって提供される値をオーバーライドします。値は負以外の整数である必要があります。 値 0 は、強制終了信号を介して直ちに停止することを示します (シャットダウンする機会はありません)。 これはアルファ フィールドであり、ProbeTerminationGracePeriod 機能ゲートを有効にする必要があります。 最大値は 3600 秒 (1 時間) です。 |
int |
timeoutSeconds |
プローブがタイムアウトする秒数。既定値は 1 秒です。 最小値は 1 です。 最大値は 240 です。 |
int |
種類 |
プローブの種類。 |
'Liveness' 'Readiness' 'Startup' |
ContainerAppProbeHttpGet
名前 |
形容 |
価値 |
ホスト |
接続先のホスト名。既定ではポッド IP が使用されます。 代わりに httpHeaders で "Host" を設定することをお考えでしょう。 |
糸 |
httpHeaders |
要求で設定するカスタム ヘッダー。 HTTP では、ヘッダーを繰り返し使用できます。 |
ContainerAppProbeHttpGetHttpHeadersItem[] |
パス |
HTTP サーバー上のアクセスのパス。 |
糸 |
港 |
コンテナーでアクセスするポートの名前または番号。 数値は 1 ~ 65535 の範囲である必要があります。 名前はIANA_SVC_NAMEである必要があります。 |
int (必須) |
計画 |
ホストへの接続に使用するスキーム。 既定値は HTTP です。 |
'HTTP' 'HTTPS' |
名前 |
形容 |
価値 |
名前 |
ヘッダー フィールド名 |
string (必須) |
価値 |
ヘッダー フィールドの値 |
string (必須) |
ContainerAppProbeTcpSocket
名前 |
形容 |
価値 |
ホスト |
省略可能: 接続先のホスト名。既定ではポッド IP が使用されます。 |
糸 |
港 |
コンテナーでアクセスするポートの番号または名前。 数値は 1 ~ 65535 の範囲である必要があります。 名前はIANA_SVC_NAMEである必要があります。 |
int (必須) |
ContainerResources
名前 |
形容 |
価値 |
cpu |
コアで必要な CPU (例: 0.5) |
int |
記憶 |
必要なメモリ (例: "250Mb" ) |
糸 |
EnvironmentVar
名前 |
形容 |
価値 |
名前 |
環境変数の名前。 |
糸 |
secretRef |
環境変数の値をプルするコンテナー アプリ シークレットの名前。 |
糸 |
価値 |
シークレット以外の環境変数の値。 |
糸 |
InitContainer
名前 |
形容 |
価値 |
args |
コンテナーの開始コマンド引数。 |
string[] |
命令 |
コンテナーの開始コマンド。 |
string[] |
env |
コンテナー環境変数。 |
EnvironmentVar[] |
画像 |
コンテナー イメージ タグ。 |
糸 |
名前 |
カスタム コンテナー名。 |
糸 |
リソース |
コンテナー リソースの要件。 |
ContainerResources の |
volumeMounts |
コンテナー ボリュームのマウント。 |
VolumeMount[] |
JobConfiguration
名前 |
形容 |
価値 |
manualTriggerConfig |
1 つの実行ジョブの手動トリガー構成。 プロパティ replicaCompletionCount と並列処理は既定で 1 に設定されます |
JobConfigurationManualTriggerConfig |
レジストリ |
コンテナー アプリ ジョブによって使用されるプライベート コンテナー レジストリ資格情報のコレクション |
RegistryCredentials[] |
replicaRetryLimit |
ジョブが失敗するまでの再試行の最大数。 |
int |
replicaTimeout |
レプリカの実行が許可される最大秒数。 |
int (必須) |
scheduleTriggerConfig |
Cron は cronjobs の繰り返しトリガー スケジュール ("* * * * *") を書式設定しました。 プロパティの入力候補と並列処理は既定で 1 に設定されます |
JobConfigurationScheduleTriggerConfig |
秘密 |
Container Apps ジョブによって使用されるシークレットのコレクション |
シークレット[] |
triggerType |
ジョブのトリガーの種類 |
'Event' 'Manual' 'Schedule' (必須) |
JobConfigurationManualTriggerConfig
名前 |
形容 |
価値 |
平行 |
特定の時刻に実行できるジョブの並列レプリカの数。 |
int |
replicaCompletionCount |
全体的なジョブの完了前の正常なレプリカの完了の最小数。 |
int |
JobConfigurationScheduleTriggerConfig
名前 |
形容 |
価値 |
cronExpression |
Cron は 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 |
糸 |
username |
Container Registry Username |
糸 |
秘密
名前 |
形容 |
価値 |
同一性 |
Azure Key Vault で認証するマネージド ID のリソース ID、またはシステム割り当て ID を使用するシステム。 |
糸 |
keyVaultUrl |
コンテナー アプリによって参照されるシークレットを指す Azure Key Vault URL。 |
糸 |
名前 |
シークレット名。 |
糸 |
価値 |
シークレット値。 |
糸
制約: 機密性の高い値。 セキュリティで保護されたパラメーターとして渡します。 |
SecretVolumeItem
名前 |
形容 |
価値 |
パス |
プロジェクト シークレットのパス。 パスが指定されていない場合、path は既定で secretRef にリストされているシークレットの名前になります。 |
糸 |
secretRef |
シークレット値のプル元のコンテナー アプリ シークレットの名前。 |
糸 |
UserAssignedIdentities
UserAssignedIdentity
容積
名前 |
形容 |
価値 |
名前 |
ボリューム名。 |
糸 |
秘密 |
ボリュームに追加するシークレットの一覧。 シークレットが指定されていない場合、コレクション内のすべてのシークレットがボリュームに追加されます。 |
SecretVolumeItem[] |
storageName |
ストレージ リソースの名前。 EmptyDir とシークレットを指定する必要はありません。 |
糸 |
storageType |
ボリュームのストレージの種類。 指定しない場合は、EmptyDir を使用します。 |
'AzureFile' 'EmptyDir' 'Secret' |
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[] |
env |
コンテナー環境変数。 |
EnvironmentVar[] |
画像 |
コンテナー イメージ タグ。 |
糸 |
名前 |
カスタム コンテナー名。 |
糸 |
プローブ |
コンテナーのプローブの一覧。 |
ContainerAppProbe[] |
リソース |
コンテナー リソースの要件。 |
ContainerResources の |
volumeMounts |
コンテナー ボリュームのマウント。 |
VolumeMount[] |
ContainerAppProbe
名前 |
形容 |
価値 |
failureThreshold |
成功した後に失敗したと見なされるプローブの連続する最小障害。 既定値は 3 です。 最小値は 1 です。 最大値は 10 です。 |
int |
httpGet |
HTTPGet は、実行する http 要求を指定します。 |
ContainerAppProbeHttpGet の |
initialDelaySeconds |
コンテナーが起動してから、liveness プローブが開始されるまでの秒数。 最小値は 1 です。 最大値は 60 です。 |
int |
periodSeconds |
プローブを実行する頻度 (秒単位)。 既定値は 10 秒です。 最小値は 1 です。 最大値は 240 です。 |
int |
successThreshold |
失敗した後にプローブが成功したと見なされる最小連続成功数。 既定値は 1 です。 ライブ性と起動には 1 にする必要があります。 最小値は 1 です。 最大値は 10 です。 |
int |
tcpSocket |
TCPSocket は、TCP ポートに関連するアクションを指定します。 TCP フックはまだサポートされていません。 |
ContainerAppProbeTcpSocket の |
terminationGracePeriodSeconds |
プローブの障害時にポッドを正常に終了する必要がある時間 (秒単位)。 猶予期間は、ポッドで実行されているプロセスが終了シグナルを送信してから数秒で、プロセスが強制終了シグナルで強制的に停止される時間です。 この値は、プロセスの予想されるクリーンアップ時間よりも長く設定します。 この値が nil の場合、ポッドの terminationGracePeriodSeconds が使用されます。 それ以外の場合、この値はポッド スペックによって提供される値をオーバーライドします。値は負以外の整数である必要があります。 値 0 は、強制終了信号を介して直ちに停止することを示します (シャットダウンする機会はありません)。 これはアルファ フィールドであり、ProbeTerminationGracePeriod 機能ゲートを有効にする必要があります。 最大値は 3600 秒 (1 時間) です。 |
int |
timeoutSeconds |
プローブがタイムアウトする秒数。既定値は 1 秒です。 最小値は 1 です。 最大値は 240 です。 |
int |
種類 |
プローブの種類。 |
'Liveness' 'Readiness' 'Startup' |
ContainerAppProbeHttpGet
名前 |
形容 |
価値 |
ホスト |
接続先のホスト名。既定ではポッド IP が使用されます。 代わりに httpHeaders で "Host" を設定することをお考えでしょう。 |
糸 |
httpHeaders |
要求で設定するカスタム ヘッダー。 HTTP では、ヘッダーを繰り返し使用できます。 |
ContainerAppProbeHttpGetHttpHeadersItem[] |
パス |
HTTP サーバー上のアクセスのパス。 |
糸 |
港 |
コンテナーでアクセスするポートの名前または番号。 数値は 1 ~ 65535 の範囲である必要があります。 名前はIANA_SVC_NAMEである必要があります。 |
int (必須) |
計画 |
ホストへの接続に使用するスキーム。 既定値は HTTP です。 |
'HTTP' 'HTTPS' |
名前 |
形容 |
価値 |
名前 |
ヘッダー フィールド名 |
string (必須) |
価値 |
ヘッダー フィールドの値 |
string (必須) |
ContainerAppProbeTcpSocket
名前 |
形容 |
価値 |
ホスト |
省略可能: 接続先のホスト名。既定ではポッド IP が使用されます。 |
糸 |
港 |
コンテナーでアクセスするポートの番号または名前。 数値は 1 ~ 65535 の範囲である必要があります。 名前はIANA_SVC_NAMEである必要があります。 |
int (必須) |
ContainerResources
名前 |
形容 |
価値 |
cpu |
コアで必要な CPU (例: 0.5) |
int |
記憶 |
必要なメモリ (例: "250Mb" ) |
糸 |
EnvironmentVar
名前 |
形容 |
価値 |
名前 |
環境変数の名前。 |
糸 |
secretRef |
環境変数の値をプルするコンテナー アプリ シークレットの名前。 |
糸 |
価値 |
シークレット以外の環境変数の値。 |
糸 |
InitContainer
名前 |
形容 |
価値 |
args |
コンテナーの開始コマンド引数。 |
string[] |
命令 |
コンテナーの開始コマンド。 |
string[] |
env |
コンテナー環境変数。 |
EnvironmentVar[] |
画像 |
コンテナー イメージ タグ。 |
糸 |
名前 |
カスタム コンテナー名。 |
糸 |
リソース |
コンテナー リソースの要件。 |
ContainerResources の |
volumeMounts |
コンテナー ボリュームのマウント。 |
VolumeMount[] |
JobConfiguration
名前 |
形容 |
価値 |
manualTriggerConfig |
1 つの実行ジョブの手動トリガー構成。 プロパティ replicaCompletionCount と並列処理は既定で 1 に設定されます |
JobConfigurationManualTriggerConfig |
レジストリ |
コンテナー アプリ ジョブによって使用されるプライベート コンテナー レジストリ資格情報のコレクション |
RegistryCredentials[] |
replicaRetryLimit |
ジョブが失敗するまでの再試行の最大数。 |
int |
replicaTimeout |
レプリカの実行が許可される最大秒数。 |
int (必須) |
scheduleTriggerConfig |
Cron は cronjobs の繰り返しトリガー スケジュール ("* * * * *") を書式設定しました。 プロパティの入力候補と並列処理は既定で 1 に設定されます |
JobConfigurationScheduleTriggerConfig |
秘密 |
Container Apps ジョブによって使用されるシークレットのコレクション |
シークレット[] |
triggerType |
ジョブのトリガーの種類 |
'Event' 'Manual' 'Schedule' (必須) |
JobConfigurationManualTriggerConfig
名前 |
形容 |
価値 |
平行 |
特定の時刻に実行できるジョブの並列レプリカの数。 |
int |
replicaCompletionCount |
全体的なジョブの完了前の正常なレプリカの完了の最小数。 |
int |
JobConfigurationScheduleTriggerConfig
名前 |
形容 |
価値 |
cronExpression |
Cron は 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 |
糸 |
username |
Container Registry Username |
糸 |
秘密
名前 |
形容 |
価値 |
同一性 |
Azure Key Vault で認証するマネージド ID のリソース ID、またはシステム割り当て ID を使用するシステム。 |
糸 |
keyVaultUrl |
コンテナー アプリによって参照されるシークレットを指す Azure Key Vault URL。 |
糸 |
名前 |
シークレット名。 |
糸 |
価値 |
シークレット値。 |
糸
制約: 機密性の高い値。 セキュリティで保護されたパラメーターとして渡します。 |
SecretVolumeItem
名前 |
形容 |
価値 |
パス |
プロジェクト シークレットのパス。 パスが指定されていない場合、path は既定で secretRef にリストされているシークレットの名前になります。 |
糸 |
secretRef |
シークレット値のプル元のコンテナー アプリ シークレットの名前。 |
糸 |
UserAssignedIdentities
UserAssignedIdentity
容積
名前 |
形容 |
価値 |
名前 |
ボリューム名。 |
糸 |
秘密 |
ボリュームに追加するシークレットの一覧。 シークレットが指定されていない場合、コレクション内のすべてのシークレットがボリュームに追加されます。 |
SecretVolumeItem[] |
storageName |
ストレージ リソースの名前。 EmptyDir とシークレットを指定する必要はありません。 |
糸 |
storageType |
ボリュームのストレージの種類。 指定しない場合は、EmptyDir を使用します。 |
'AzureFile' 'EmptyDir' 'Secret' |
VolumeMount
名前 |
形容 |
価値 |
mountPath |
ボリュームをマウントするコンテナー内のパス。':' を含めてはなりません。 |
糸 |
volumeName |
これはボリュームの名前と一致する必要があります。 |
糸 |