AWS CLI - CodeDeploy 创建部署有未知选项错误

AWS CLI - CodeDeploy Create-Deployment has Unknown Options error

我有一个正常的 CodeDeploy 包,可以使用控制台部署而没有任何问题,但是当使用 CLI 时,我收到一个奇怪的错误。

aws deploy create-deployment --application-name MyApp --s3-location bucket=mybucket,key=My.Zip.1.1.1.zip,bundleType=zip --deployment-group-name MyDeploymentGroup --deployment-config-name CodeDeployDefault.OneAtATime --description "This throwns an error"

运行 以上,我得到以下返回:

usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters]
To see help text, you can run:

  aws help
  aws <command> help
  aws <command> <subcommand> help

Unknown options: bundleType=zip, key=My.Zip.1.1.1.zip

很奇怪,因为帮助确实说您需要 bundleType 并在 s3-location 参数中键入。作为测试,我删除了这些未知选项:

aws deploy create-deployment --application-name MyApp --s3-location bucket=mybucket --deployment-group-name MyDeploymentGroup --deployment-config-name CodeDeployDefault.OneAtATime --description "This throwns an error"

哪个returns:

--s3-location must specify bucket, key and bundleType.

那么,现在您知道这些选项并需要它们了吗?这里发生了什么?我是否漏掉了一些明显的东西?

当我 运行 您提供的代码时,我得到以下返回:

$ aws --version
aws-cli/1.10.60 Python/2.7.11 Darwin/15.6.0 botocore/1.4.50 
$ aws deploy create-deployment --application-name ...snip

An error occurred (ApplicationDoesNotExistException) when calling the CreateDeployment operation: No application found for name: MyApp

这(AWS 服务器端错误)是预期的行为(我猜)。

您的 CLI 引发验证错误的一种可能是您的 AWS CLI 已过时。

您的 AWS CLI 是哪个版本?

我遇到了同样的问题。好像和PowerShell的版本有关。它适用于 v5,但不适用于 v4。

为了修复它,我只是在 s3-location 参数周围加上了双引号:

aws deploy create-deployment --application-name MyApp --s3-location "bucket=mybucket,key=My.Zip.1.1.1.zip,bundleType=zip" --deployment-group-name MyDeploymentGroup --deployment-config-name CodeDeployDefault.OneAtATime --description "This throwns an error"