我有一个与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
运行的脚本。问题是我们应该采取什么方法来使上述情况发挥作用。我们只是升级版本吗?然而,这可能会破坏事情。
另一种方法是将新版本与现有版本并排安装,但我对此并不完全有信心。任何人有类似的问题或遇到类似的情况?
答案 0 :(得分:1)
我在数据管道的shell活动中运行aws s3 cp
命令时遇到了类似的问题,并在参考资料部分中将Image Id
作为ami-63b25203
解决了这个问题。实际上,当ec2机器具有支持旧命令而不是新命令的旧ami版本时会发生这种情况。