我有一个普通的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
很奇怪,因为帮助确实说你需要在s3-location参数中使用bundleType和key。就像测试一样,我删除了这些未知选项:
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"
返回:
--s3-location must specify bucket, key and bundleType.
那么,现在您知道这些选项并要求它们吗?这里发生了什么?我错过了一些明显的东西吗?
答案 0 :(得分:0)
当我运行您提供的代码时,我返回了以下内容:
$ 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是哪个版本?
答案 1 :(得分:0)
我有同样的问题。它似乎与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"