Direkt zum Inhalt

Wie behebe ich den Fehler „pg module not found“ in meiner Secrets Manager Lambda-Funktionsrotation?

Lesedauer: 2 Minute
0

Ich möchte den Fehler „pg module not found“ in meinen AWS Secrets Manager-Lambda-Funktionsprotokollen beheben, wenn AWS Lambda Geheimnisse nicht rotieren kann.

Kurzbeschreibung

Wenn die Lambda-Funktion automatisch von Python 3.7 auf eine neuere Version aktualisiert wird, erhältst du möglicherweise den Fehler „pg module not found“. Neuere Versionen, wie Python 3.9, unterstützen die erforderlichen Module möglicherweise nicht. Informationen zu unterstützten Modulen und Bibliotheken in allen Python-Versionen in Lambda findest du unter Unterstützte Laufzeiten.

Lösung

Die Python-Version der Lambda-Funktion überprüfen

Führe die folgenden Schritte aus:

  1. Öffne die Lambda-Konsole.

  2. Wähle im Navigationsbereich Funktionen und wähle dann den Namen des Lambdas aus, das nicht rotierte.

  3. Wähle die Registerkarte Code.

  4. Notiere dir in den Laufzeit-Einstellungen die Python-Version.

  5. Wähle Aktionen, dann Exportfunktion und dann Bereitstellungspaket herunterladen.

  6. Führe den folgenden Linux-Befehl find aus dem Verzeichnis der unkomprimierten .zip-Datei aus:

    find ./ -name “*cpython-*-x86_64-linux-gnu.so”
  7. Vergewissere dich, dass die Version der Python-Laufzeit im Namen der .so-Datei enthalten ist.
    Zum Beispiel**_cffi_backend.cpython-37m-x86_64-linux-gnu.so**.
    Hinweis: Wenn du Python 3.7 .so-Dateien findest, aber die Lambda-Laufzeit zeigt eine neuere Version an, dies bestätigt einen Versionskonflikt. Du musst diese Diskrepanz durch den Aktualisierungsprozess der CloudFormation-Vorlage beheben.

Aktualisieren der AWS CloudFormation-Vorlage

Gehe wie folgt vor, um den Lambda-Funktionsfehler zu beheben:

  1. Aktualisiere den Stack-Vorlage, mit der du die Lambda-Funktion erstellt hast.
  2. Füge die Laufzeit-Eigenschaft dem HostedRotationLambda-Objekt in AWS::SecretsManager::RotationSchedule HostedRotationLambda hinzu.
  3. Stelle den CloudFormation-Stack erneut bereit, um die Änderungen zu übernehmen.
    CloudFormation ändert die Lambda-Rotationsfunktion zurück auf Python 3.7.
    Hinweis: Für Python 3.7 muss der Laufzeit-Schlüsselwert python3.7 sein.

Ähnliche Informationen

Eine bestehende Rotationsfunktion von Python 3.7 auf 3.9 aktualisieren

AWS OFFICIALAktualisiert vor 6 Monaten