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

时间:2015-01-06 17:44:55

标签: shell amazon-web-services aws-cli

我有一个与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支持的某些步骤。我试着翻译''''通过替换一些似乎是早期版本的替代品的功能,这更早的版本,但这引入了更多的复杂性,例如不识别一些现有参数等等:

例如,使用add-job-steps-steps命令(1.3.2)替换add-steps命令(1.3.9)仍然无效并且抱怨cluster-id参数,并且需要一个作业流ID,并且对我来说突然变得丑陋。

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

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

1 个答案:

答案 0 :(得分:1)

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