web-dev-qa-db-fra.com

Déploiement Elastic Beanstalk: UndefinedModelAttributeError

J'essaie de déployer sur Elastic Beanstalk, en utilisant spécifiquement CircleCI, et j'ai rencontré cette erreur:

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

D'après ma recherche sur Google, je vois qu'il s'agit d'une erreur Python, ce qui est logique car c'est ce que Elastic Beanstalk utilise. Mais il n'y a aucune information disponible pour ce cas particulier. Est-ce que quelqu'un sait pourquoi cela se produit?

8
Martavis P.

Mettre à jour

EBCLI 3.14.6 est compatible avec la dernière version de l'AWS CLI (> 1.16.10).


Auparavant ...

Pour résoudre ce problème:

  1. Améliorez awsebcli en 3.14.5: Améliorez awsebcli en 3.14.6

    pip install awsebcli --upgrade
    

OR

  1. Si vous devez continuer à utiliser awsebcli <3.14.5, procédez comme suit:

    pip install 'botocore<1.12'
    

Le problème réside essentiellement dans la plage de dépendance ouverte sur botocore autorisée par awsebcli <3.14.5, afin que les utilisateurs puissent toujours avoir accès aux dernières commandes/API AWS CLI ( botocore gère modèles de service AWS).

Lorsque botocore a publié la version 1.12, cela a créé une incompatibilité dans EBCLI. EBCLI 3.14.5 limite la dépendance de botocore à <1.12.

EDIT: Soit dit en passant, EBCLI 3.14.5 est incompatible avec AWS CLI 1.16.10. A la place, utilisez AWS CLI 1.16.9.

11
progfan

Je viens d'avoir la même erreur après l'installation de awscli après awsebcli. Les dépendances de botocore ne correspondent pas à . Donc, si vous voulez utiliser les commandes awsebcli, assurez-vous de ne pas écraser ses dépendances:

  1. Soit déclasser awscli
  2. Ou installez-le avant awsebcli (fonctionne pour mon cas d'utilisation mais risque de tomber en panne de manière aléatoire)
2
Karens