参考:使用 ContainerProperties 的作业定义模板 - AWS Batch

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

参考:使用 ContainerProperties 的作业定义模板

以下是一个空的作业定义模板,其中包含一个容器。您可以使用此模板创建任务定义,随后可将任务定义保存到文件并与 AWS CLI --cli-input-json 选项结合使用。有关这些参数的更多信息,请参阅 JobDefinition

注意

您可以使用以下 AWS CLI 命令生成单容器作业定义模板:

$ aws batch register-job-definition --generate-cli-skeleton
{ "jobDefinitionName": "", "type": "container", "parameters": { "KeyName": "" }, "schedulingPriority": 0, "containerProperties": { "image": "", "vcpus": 0, "memory": 0, "command": [ "" ], "jobRoleArn": "", "executionRoleArn": "", "volumes": [ { "host": { "sourcePath": "" }, "name": "", "efsVolumeConfiguration": { "fileSystemId": "", "rootDirectory": "", "transitEncryption": "ENABLED", "transitEncryptionPort": 0, "authorizationConfig": { "accessPointId": "", "iam": "DISABLED" } } } ], "environment": [ { "name": "", "value": "" } ], "mountPoints": [ { "containerPath": "", "readOnly": true, "sourceVolume": "" } ], "readonlyRootFilesystem": true, "privileged": true, "ulimits": [ { "hardLimit": 0, "name": "", "softLimit": 0 } ], "user": "", "instanceType": "", "resourceRequirements": [ { "value": "", "type": "MEMORY" } ], "linuxParameters": { "devices": [ { "hostPath": "", "containerPath": "", "permissions": [ "WRITE" ] } ], "initProcessEnabled": true, "sharedMemorySize": 0, "tmpfs": [ { "containerPath": "", "size": 0, "mountOptions": [ "" ] } ], "maxSwap": 0, "swappiness": 0 }, "logConfiguration": { "logDriver": "syslog", "options": { "KeyName": "" }, "secretOptions": [ { "name": "", "valueFrom": "" } ] }, "secrets": [ { "name": "", "valueFrom": "" } ], "networkConfiguration": { "assignPublicIp": "DISABLED" }, "fargatePlatformConfiguration": { "platformVersion": "" } }, "nodeProperties": { "numNodes": 0, "mainNode": 0, "nodeRangeProperties": [ { "targetNodes": "", "container": { "image": "", "vcpus": 0, "memory": 0, "command": [ "" ], "jobRoleArn": "", "executionRoleArn": "", "volumes": [ { "host": { "sourcePath": "" }, "name": "", "efsVolumeConfiguration": { "fileSystemId": "", "rootDirectory": "", "transitEncryption": "DISABLED", "transitEncryptionPort": 0, "authorizationConfig": { "accessPointId": "", "iam": "ENABLED" } } } ], "environment": [ { "name": "", "value": "" } ], "mountPoints": [ { "containerPath": "", "readOnly": true, "sourceVolume": "" } ], "readonlyRootFilesystem": true, "privileged": true, "ulimits": [ { "hardLimit": 0, "name": "", "softLimit": 0 } ], "user": "", "instanceType": "", "resourceRequirements": [ { "value": "", "type": "MEMORY" } ], "linuxParameters": { "devices": [ { "hostPath": "", "containerPath": "", "permissions": [ "WRITE" ] } ], "initProcessEnabled": true, "sharedMemorySize": 0, "tmpfs": [ { "containerPath": "", "size": 0, "mountOptions": [ "" ] } ], "maxSwap": 0, "swappiness": 0 }, "logConfiguration": { "logDriver": "awslogs", "options": { "KeyName": "" }, "secretOptions": [ { "name": "", "valueFrom": "" } ] }, "secrets": [ { "name": "", "valueFrom": "" } ], "networkConfiguration": { "assignPublicIp": "DISABLED" }, "fargatePlatformConfiguration": { "platformVersion": "" } } } ] }, "retryStrategy": { "attempts": 0, "evaluateOnExit": [ { "onStatusReason": "", "onReason": "", "onExitCode": "", "action": "RETRY" } ] }, "propagateTags": true, "timeout": { "attemptDurationSeconds": 0 }, "tags": { "KeyName": "" }, "platformCapabilities": [ "EC2" ], "eksProperties": { "podProperties": { "serviceAccountName": "", "hostNetwork": true, "dnsPolicy": "", "containers": [ { "name": "", "image": "", "imagePullPolicy": "", "command": [ "" ], "args": [ "" ], "env": [ { "name": "", "value": "" } ], "resources": { "limits": { "KeyName": "" }, "requests": { "KeyName": "" } }, "volumeMounts": [ { "name": "", "mountPath": "", "readOnly": true } ], "securityContext": { "runAsUser": 0, "runAsGroup": 0, "privileged": true, "readOnlyRootFilesystem": true, "runAsNonRoot": true } } ], "volumes": [ { "name": "", "hostPath": { "path": "" }, "emptyDir": { "medium": "", "sizeLimit": "" }, "secret": { "secretName": "", "optional": true } } ] } } }