gc5*_*gc5 2 arguments amazon-web-services aws-batch
我正在按照本教程在AWS Batch中运行一个简单的获取并运行示例。但是,我无法将参数传递给通过此示例获取的脚本。
基本示例将产生以下执行:
export BATCH_FILE_TYPE="script"
export BATCH_FILE_S3_URL="s3://my-bucket/my-script"
fetch_and_run.sh script-from-s3 [ <script arguments> ]
Run Code Online (Sandbox Code Playgroud)
仅在以下位置提及脚本参数:
这表明它支持BATCH_FILE_TYPE的两个值,即“ script”或“ zip”。设置“脚本”时,除了将任何其他参数传递给脚本之外,它还会导致fetch_and_run.sh下载单个文件然后执行该文件。
我尝试使用AWS CLI通过--parameters和--container-overrides参数(在command密钥下的后者)传递它们,但是未从脚本中接收到它们。
我不想ENTRYPOINT每次运行都修改我的Dockerfile 或fetch_and_run.sh脚本,但是我不明白如何以不同的方式实现这一点。
混合这些工作定义示例,可以aws batch使用以下方法实现:
aws batch submit-job --job-name <job_name> --job-definition <job_def_name> \
--job-queue <queue_name> \
--container-overrides '{
"command": ["<script-from-s3>", "Ref::param1", "Ref::param2"], \
"environment": [ \
{"name": "BATCH_FILE_S3_URL", "value": "<script-from-s3>"}, \
{"name": "BATCH_FILE_TYPE", "value": "script"}]}' \
--parameters '{"param1": "<param1>", "param2": "<param2>"}'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1638 次 |
| 最近记录: |