Salta al contenuto

Come posso risolvere l'errore "pg module not found" nella rotazione della mia funzione Lambda in Secrets Manager?

2 minuti di lettura
0

Desidero risolvere l'errore "pg module not found" nei log della mia funzione Lambda in AWS Secrets Manager quando AWS Lambda non riesce a ruotare i segreti.

Breve descrizione

Se la funzione Lambda viene aggiornata automaticamente da Python 3.7 a una versione più recente, potresti ricevere l'errore "pg module not found". Le versioni più recenti, come Python 3.9, potrebbero non supportare i moduli richiesti. Per informazioni sui moduli e le librerie supportati nelle versioni di Python in Lambda, consulta Runtime supportati.

Risoluzione

Controlla la versione Python della funzione Lambda

Completa i seguenti passaggi:

  1. Apri la console Lambda.

  2. Nel pannello di navigazione, scegli Funzioni, quindi seleziona il nome della funzione Lambda che non ha eseguito la rotazione.

  3. Scegli la scheda Codice.

  4. Nelle impostazioni Runtime, annota la versione di Python.

  5. Scegli Operazioni, scegli Esporta funzione, quindi Scarica pacchetto di distribuzione.

  6. Esegui questo comando Linux find dalla directory del file .zip non compresso:

    find ./ -name “*cpython-*-x86_64-linux-gnu.so”
  7. Verifica che la versione del runtime di Python sia nel nome del file .so.
    Ad esempio, _cffi_backend.cpython-37m-x86_64-linux-gnu.so.
    Nota: se individui i file .so di Python 3.7 ma il runtime di Lambda mostra una versione più recente, ciò conferma una mancata corrispondenza della versione. Devi risolvere questa discrepanza tramite il processo di aggiornamento del modello CloudFormation.

Aggiorna il modello AWS CloudFormation

Per risolvere l'errore della funzione Lambda, completa i seguenti passaggi:

  1. Aggiorna il modello di stack che hai usato per creare la funzione Lambda.
  2. Aggiungi la proprietà Runtime all'oggetto HostedRotationLambda in AWS::SecretsManager::RotationSchedule HostedRotationLambda.
  3. Ridistribuisci lo stack CloudFormation per applicare le modifiche.
    CloudFormation riporta la funzione di rotazione Lambda in Python 3.7.
    Nota: per Python 3.7 il valore della chiave Runtime deve essere python3.7.

Informazioni correlate

Aggiornare una funzione di rotazione esistente da Python 3.7 a 3.9

AWS UFFICIALEAggiornata 5 mesi fa