Zappa: UpdateFunctionConfiguration de l'opération: L'opération ne peut être effectuée à ce moment. Une mise à jour est en cours sur les ressources de

0

La question

Je suis d'essayer de mettre à jour un lambda par zappa, j'ai créé virtualenv et active virtualenv et installer les bibliothèques, mais dans l'instant d'exécuter zappa mise à jour de l'environnement, j'ai ce problème: Comment puis-je résoudre ce problème :(

 zappa update qa
(pip 18.1 (/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages), Requirement.parse('pip>=20.3'), {'pip-tools'})
Calling update for stage qa..
Downloading and installing dependencies..
Packaging project as zip.
Uploading maximo-copy-customers-qa-1637639364.zip (6.0MiB)..
100%|███████████████████████████████████████████████████████████████| 6.32M/6.32M [00:09<00:00, 664kB/s]
Updating Lambda function code..
Updating Lambda function configuration..
Oh no! An error occurred! :(

==============

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/zappa/cli.py", line 2778, in handle
    sys.exit(cli.handle())
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/zappa/cli.py", line 512, in handle
    self.dispatch_command(self.command, stage)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/zappa/cli.py", line 559, in dispatch_command
    self.update(self.vargs['zip'], self.vargs['no_upload'])
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/zappa/cli.py", line 979, in update
    layers=self.layers
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/zappa/core.py", line 1224, in update_lambda_configuration
    Layers=layers
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/botocore/client.py", line 357, in _api_call
    return self._make_api_call(operation_name, kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/botocore/client.py", line 676, in _make_api_call
    raise error_class(parsed_response, operation_name)
botocore.errorfactory.ResourceConflictException: An error occurred (ResourceConflictException) when calling the UpdateFunctionConfiguration operation: The operation cannot be performed at this time. An update is in progress for resource: arn:aws:lambda:us-east-1:937280411572:function:maximo-copy-customers-qa
amazon-web-services aws-lambda zappa
2021-11-23 04:06:44
3

La meilleure réponse

1

Vous devez attendre que le code de la fonction de mise à jour soit terminée avant de procéder à la mise à jour de la configuration de la fonction. Insérer le script suivant entre les étapes de ce processus d'attente:

STATE=$(aws lambda get-function --function-name "$FN_NAME" --query 'Configuration.LastUpdateStatus' --output text)
while [[ "$STATE" == "InProgress" ]]
do
    echo "sleep 5sec ...."
    sleep 5s
    STATE=$(aws lambda get-function --function-name "$FN_NAME" --query 'Configuration.LastUpdateStatus' --output text)
    echo $STATE
done
2021-12-06 10:49:59
0

Ajouter à votre zappa_settings.json:

"lambda_description": "aws:states:opt-out"

Zappa question à ce sujet

2021-11-23 12:48:59

Je l'ai essayer, mais l'erreur est la même.
daniel____

essayez de mettre aws états:l'opt-out à lambda description. aller à la lambda -> configuration -> configuration générale de lien à ce sujet: aws.amazon.com/pt/blogs/compute/...
Vinícius OA

C'est temporaire plan
tsincss
0

Je voudrais ajouter une solution plus élaborée de ce qui est mentionné LiriB plus tôt. Utiliser aws lambda de la cli qui a la fonction-commande mise à jour (documentation).

Exemple: aws lambda wait function-updated --function-name "$FN_NAME"

Cette commande va attendre jusqu'à ce que la fonction est mis à jour. Dans le cas où elle n'est pas mise à jour en 5 minutes, il va arrêter l'exécution.

2021-12-24 19:11:55

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................