【问题标题】:Elastic Beanstalk Deployment: UndefinedModelAttributeErrorElastic Beanstalk 部署:UndefinedModelAttributeError
【发布时间】:2019-02-13 16:46:02
【问题描述】:

我正在尝试部署到 Elastic Beanstalk,特别是使用 CircleCI,我遇到了这个错误:

ERROR: UndefinedModelAttributeError - "serviceId" not defined in the metadata of the model: <botocore.model.ServiceModel object at 0x7fdc908efc10>

从我的 Google 搜索中,我发现这是一个 Python 错误,这是有道理的,因为 Elastic Beanstalk 就是这样使用的。但是没有关于这个具体案例的信息。有谁知道为什么会这样?

【问题讨论】:

  • 我知道这无济于事,但我也明白了。几天前开始。最糟糕的是它返回一个“0”作为错误代码,所以我们的构建已经被破坏,但我们认为它们正在工作。
  • 这里也一样 :(如果我想出办法我会发布答案
  • 从今天开始我可以支持它。好像 aws-cli 得到了更新。在 CI(Bitbucket 管道)上,我得到:aws-cli/1.16.10 Python/2.7.13 Linux/4.14.63-coreos botocore/1.12.0(抛出错误)在本地我有:aws-cli/1.15.59 Python /3.6.4 达尔文/17.7.0 botocore/1.10.58(工作)

标签: amazon-web-services amazon-elastic-beanstalk circleci


【解决方案1】:

更新

EBCLI 3.14.6 与当前最新的 AWS CLI (> 1.16.10) 兼容。


以前...

解决这个问题:

  1. 将 awsebcli 升级到 3.14.5:将 awsebcli 升级到 3.14.6

    pip install awsebcli --upgrade
    

  1. 如果您必须继续使用

    pip install 'botocore<1.12'
    

问题的核心是 awsebcli botocore 上的开放依赖范围,以便用户始终可以访问最新的 AWS CLI 命令/AWS API(botocore manages AWS 服务模型)。

botocore 发布 1.12 版时,它在 EBCLI 中造成了不兼容性。 EBCLI 3.14.5 将对 botocore 的依赖限制为

编辑:顺便说一句,请注意 EBCLI 3.14.5 与 AWS CLI 1.16.10 不兼容。相反,请使用 AWS CLI 1.16.9。

【讨论】:

  • pip install --upgrade 'botocore&gt;=1.11,&lt;1.12' 为我工作 ? (今天发货时发生错误)
  • 谢谢...也许 AWS 会让我们知道。猜猜我们必须在 SO 上找到它才能得到真正的答案哈哈。
  • pip install 'botocore&lt;1.12' 为我做了。升级没有用...
  • 太棒了,保留 pip install awsebcli --upgradepip install --upgrade botocore 两条线为我修复了它
【解决方案2】:

在 awsebcli 之后安装 awscli 后,我遇到了同样的错误。 botocore 依赖项不匹配。 因此,如果您想使用 awsebcli 命令,请确保不要覆盖其依赖项:

  1. 要么降级 awscli
  2. 或者在 awsebcli 之前安装它(适用于我的用例,但可能会随机中断)

【讨论】:

    猜你喜欢
    • 2015-09-20
    • 2020-08-02
    • 2018-06-06
    • 2014-12-25
    • 2016-09-24
    • 1970-01-01
    • 2017-04-11
    • 2012-09-10
    • 2015-05-15
    相关资源
    最近更新 更多