[英]How to pass a string from python to AWS Run Powershell script commands section using boto3
[英]How to submit multiple commands to AWS Batch using Boto3?
我正在嘗試使用 AWS Batch 和 boto3 通過 Docker 運行多個 shell 命令。 當我嘗試使用 & 符號提交多個命令時,作業失敗。
我的嘗試
import boto3
client = boto3.client("batch")
response = client.submit_job(
jobName='AndrewJob',
jobQueue='AndrewJobQueue',
jobDefinition='AndrewJobDefinition',
containerOverrides={
'command': 'ls & python myjob.py'.split(),
},
timeout = {'attemptDurationSeconds': 100}
)
print(response)
錯誤是:
ls: 無法訪問“&”: 沒有那個文件或目錄
根據此處的 Docker 文檔https://docs.docker.com/engine/reference/builder/#cmd和此處的這篇文章docker run <IMAGE> <MULTIPLE COMMANDS>似乎這應該可以在 shell 形式中實現。
看起來 Batch 的行為類似於subprocess.Popen
,因為它將命令作為一個命令執行,其中第一個參數是命令名稱,其余參數是命令參數。 我讓它與subprocess.Popen
,所以我打賭它可以與 Batch 一起使用:
subprocess.Popen(["/bin/bash", "-c", "ls && echo \"Hello world\""])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.