命令`aws elasticbeanstalk`和`eb`有什么区别?

时间:2018-02-14 17:13:16

标签: amazon-web-services elastic-beanstalk

两个命令aws elasticbeanstalkeb似乎是做同样事情的替代方法。它们的语法似乎略有不同,例如aws elasticbeanstalk create-environmenteb create

然而,帮助页面(aws elasticbeanstalk create-environment helpeb create --help)的输出相当远,以至于它们似乎是单独开发的。

使用aws elasticbeanstalk和(在venv中)eb在macOS上安装brew install awsclipip install awsebcli时有什么区别?

1 个答案:

答案 0 :(得分:0)

  

然而帮助页面的输出(aws elasticbeanstalk创建环境帮助和eb创建--help)足够远,它们似乎是单独开发的。

你是对的,它们完全不同,但它们都是CLI。 aws基本上与AWS SDK相当。即如果我没有错,对于每个Beanstalk AWS SDK操作都有一个AWS CLI命令,而每个eb命令都是多个AWS SDK命令的组合。

aws elasticbeanstalk命令来自AWSCLI,而eb来自EBCLI / AWSEBCLI。

eb create是一个非常重的命令。它为您创建应用程序版本,将其存储在S3位置,执行必要的权限检查,实现与CodeCommit和CodeBuild的集成,允许指定基于环境的配置模板名称,支持在VPC内部创建环境等等,然后,当然,创造一个环境。从这个意义上说,它是浏览器中与Beanstalk控制台等效的CLI。

然而,

aws elasticbeanstalk create-environment只是创造了一个环境。在执行命令之前,您需要将应用程序版本上传到S3。

  1. 通常,eb操作通常是您所需要的,但aws操作也有其时间和地点。
  2. eb操作与特定应用程序绑定,并要求执行它们的目录为eb init-ed,而aws操作是可以从任何计算机执行的独立操作任何目录。
  3.   

    ...使用brew install awscli和(在venv中)安装在macOS上pip install awsebcli?

    至于两个命令安装的内容 - brew install ...版本可能并不总是安装最新版本的eb。截至今天,看起来homebrew指的是EBCLI的旧版本。

    我认为您的问题与virtualenvs中的brew install awsebcli vs pip install awsebcli有关。从本质上讲,brew install ...方法可以让MacOS用户更轻松地轻松安装eb。这不是理想的,恕我直言,因为它污染了系统/库命名空间 - 就个人而言,我想保持我的包被划分为virtualenv为我提供的能力。