我正在尝试部署到Elastic Beanstalk,特别是使用CircleCI,但遇到了此错误:
ERROR: UndefinedModelAttributeError - "serviceId" not defined in the metadata of the model: <botocore.model.ServiceModel object at 0x7fdc908efc10>
从我的Google搜索中,我发现这是一个有意义的Python错误,因为这就是Elastic Beanstalk所使用的。但是没有针对此特定情况的信息。有谁知道为什么会这样吗?

最佳答案

更新

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

之前 ...

要解决此问题:

  • 将awsebcli升级到3.14.5:将awsebcli升级到3.14.6
    pip install awsebcli --upgrade
    

  • 或者
  • 如果必须继续使用awsebcli
    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。

    09-04 22:10