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 版本时,就会发生这种情况。
我有一个与 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 版本时,就会发生这种情况。