无法在ElasticBeanstalk create-application-version命令中使用新的统一AWS CLI

时间:2014-02-24 17:18:15

标签: windows elastic-beanstalk aws-cli

我正在尝试使用new(ish) AWS unified CLI命令aws elasticbeanstalk create-application-version,但无法正确获取--source-bundle参数的格式。

我尝试了各种格式,每次都会遇到类似的错误。这些命令通过Powershell在Windows Server 2008上运行。我可以毫无问题地使用aws s3 mbcp命令,所以我不相信它是安装,Python / PATH或Windows问题。

您将看到Powershell中定义的$builddate变量,如下所示:

$builddate = Get-Date -format MMddyyhhmmss

我尝试过的命令及其错误

命令:

aws elasticbeanstalk create-application-version --application-name Api.Mobile --version-label Api.Mobile-production-$builddate --source-bundle build-production/APIv1/build-production-$builddate.zip

错误:

Error parsing parameter --source-bundle, should be: --source-bundle S3Bucket=value,S3Key=value

然后我尝试以下命令以遵循建议的格式:

aws elasticbeanstalk create-application-version --application-name Api.Mobile --version-label Api.Mobile-production-$builddate --source-bundle S3Bucket=build-production/APIv1,S3Key=build-production-$builddate.zip

错误:

Unknown options: S3Key=build-production-022414101105.zip

我还尝试了没有子文件夹的S3Bucket=声明(即使文件在没有子文件夹的情况下不存在),仍然会出现Unknown options错误。

1 个答案:

答案 0 :(得分:0)

原来这是解析逗号的Powershell问题。

来自aws-cli Github的问题,由詹姆斯回答:

  

我认为问题是powershell正在解析逗号字符   在CLI看到参数列表之前输出。

     

例如,上面的命令被拆分成这样的参数   的powershell:

['elasticbeanstalk', 'create-application-version',
'--application-name', 'Api.Mobile', '--version-label',
'Api.Mobile-production-', '--source-bundle',
'S3Bucket=build-production/APIv1', 'S3Key=build-production-.zip']
  

如果用双引号括起值,那么powershell就会离开   逗号字符:

$ aws elasticbeanstalk create-application-version --application-name
Api.Mobile --version-label Api.Mobile-production-$builddate
--source-bundle "S3Bucket=build-production/APIv1,S3Key=build-production-$builddate.zip"

['elasticbeanstalk', 'create-application-version',
'--application-name', 'Api.Mobile', '--version-label',
'Api.Mobile-production-', '--source-bundle',
'S3Bucket=build-production/APIv1,S3Key=build-production-.zip']