AWS CLI 及其版本问题之间的差异

AWS CLI and difference between its versions issue

我有一个与 AWS 控制台 (EMR/S3) 交互的程序,当对 AWS CLI 使用以下版本时一切正常:

aws-cli/1.3.9 Python/2.6.9 Linux/3.14.20-20.44.amzn1.x86_64

但是,由于现有配置,无论使用上述版本成功运行,都需要使用较早版本的 AWS CLI 运行:

aws-cli/1.3.2 Python/2.6.5 Linux/2.6.32-71.el6.x86_64

失败的命令是:

aws emr add-steps --cluster-id xxxxxxxxx --steps xxxxx

错误看起来像:

aws: error: argument operation: Invalid choice, valid choices are:....

(如果我错了,请更正)这基本上意味着 1.3.9 支持的某些步骤不支持 1.3.2。然后我尝试通过替换一些似乎是早期版本替代品的函数来将“'translate'”转换为早期版本,但这引入了更多的复杂性,例如无法识别某些现有参数等:

例如,用 add-job-flow-steps command(1.3.2) 替换 add-steps command(1.3.9) 仍然无法工作并抱怨 cluster-id 参数,并且需要作业流 id ,对我来说突然变得丑陋了。

我们有许多使用旧 AWS CLi 版本运行的脚本 1.3.2。问题是我们应该采取什么方法才能使上述情况发挥作用。难道我们只升级版本?然而,这可能会破坏事情。

另一种方法是将新版本与现有版本并排安装,但我对此并不完全有信心。有人遇到过类似的问题或遇到过类似的情况吗?

我在数据管道的 shell activity 中执行 运行 aws s3 cp 命令时遇到了类似的问题,并通过将 Image Id 作为 ami-63b25203 在资源部分。实际上,当 ec2 机器有支持旧命令而不是新命令的旧 ami 版本时,就会发生这种情况。