Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Modifica dell'ambiente di runtime

Modalità Focus
Modifica dell'ambiente di runtime - AWS Lambda

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

È possibile utilizzare le estensioni interne per modificare il processo di runtime. Le estensioni interne non sono processi separati, sono eseguiti nell'ambito del processo di runtime.

Lambda fornisce variabili di ambiente specifiche della lingua che è possibile impostare per aggiungere opzioni e strumenti al runtime. Lambda fornisce anche Script wrapper, che consentono a Lambda di delegare l'avvio del runtime allo script. È possibile creare uno script wrapper per personalizzare il comportamento di avvio del runtime.

Variabili di ambiente specifiche della lingua

Lambda supporta metodi di sola configurazione per abilitare il precaricamento del codice durante l'inizializzazione della funzione tramite le seguenti variabili di ambiente specifiche della lingua:

  • JAVA_TOOL_OPTIONS: su Java, Lambda supporta questa variabile di ambiente per impostare ulteriori variabili della riga di comando in Lambda. Questa variabile di ambiente consente di specificare l'inizializzazione degli strumenti, in particolare l'avvio di agenti del linguaggio di programmazione nativo o Java utilizzando le opzioni agentlib o javaagent. Per ulteriori informazioni, consulta la sezione Variabili di ambiente JAVA_TOOL_OPTIONS.

  • NODE_OPTIONS: disponibile nei runtime di Node.js.

  • DOTNET_STARTUP_HOOKS – Su.NET Core 3.1 e versioni successive, questa variabile di ambiente specifica un percorso ad un assembly (dll) che Lambda può utilizzare.

L'utilizzo di variabili di ambiente specifiche della lingua è il modo preferito per impostare le proprietà di avvio.

Script wrapper

È possibile creare uno script wrapper per personalizzare il comportamento di avvio runtime della funzione Lambda. Uno script wrapper consente di impostare parametri di configurazione che non possono essere impostati tramite variabili di ambiente specifiche della lingua.

Nota

Le chiamate potrebbero non riuscire se lo script wrapper non avvia correttamente il processo di runtime.

Gli script wrapper sono supportati su tutti i runtime Lambda nativi. Gli script wrapper non sono supportati su Runtime solo per il sistema operativo (la famiglia di runtime provided).

Quando si utilizza uno script wrapper per la funzione, Lambda avvia il runtime utilizzando lo script. Lambda invia allo script il percorso all'interprete e tutti gli argomenti originali per l'avvio del runtime standard. Lo script può estendere o trasformare il comportamento di avvio del programma. Ad esempio, lo script può iniettare e modificare argomenti, impostare variabili di ambiente o acquisire metriche, errori e altre informazioni diagnostiche.

È possibile specificare lo script impostando il valore della variabile di ambiente AWS_LAMBDA_EXEC_WRAPPER come percorso del file system di un file binario o di uno script eseguibile.

Esempio: creare e utilizzare uno script wrapper come layer Lambda

Nell'esempio seguente, si crea uno script wrapper per avviare l'interprete Python con l'opzione -X importtime. Quando si esegue la funzione, Lambda genera una voce di log per mostrare la durata del tempo di importazione per ogni importazione.

Per creare e utilizzare uno script wrapper come livello
  1. Crea una directory per il livello:

    mkdir -p python-wrapper-layer/bin cd python-wrapper-layer/bin
  2. Nella bin directory, incollate il codice seguente in un nuovo file denominatoimporttime_wrapper. Questo è lo script wrapper.

    #!/bin/bash # the path to the interpreter and all of the originally intended arguments args=("$@") # the extra options to pass to the interpreter extra_args=("-X" "importtime") # insert the extra options args=("${args[@]:0:$#-1}" "${extra_args[@]}" "${args[@]: -1}") # start the runtime with the extra options exec "${args[@]}"
  3. Assegnare autorizzazioni eseguibili a tutti gli script.

    chmod +x importtime_wrapper
  4. Crea un file .zip per il livello:

    cd .. zip -r ../python-wrapper-layer.zip .
  5. Verifica che il file .zip abbia la seguente struttura di directory:

    python-wrapper-layer.zip
    └ bin
        └ importtime_wrapper
  6. Create un livello utilizzando il pacchetto.zip.

  7. Crea una funzione utilizzando la console Lambda.

    1. Aprire la console Lambda.

    2. Scegli Crea funzione.

    3. Immetti un nome per la funzione.

    4. Per Runtime, scegli l'ultimo runtime supportato di Python.

    5. Scegli Crea funzione.

  8. Aggiungi il livello alla tua funzione.

    1. Scegliere la funzione, quindi scegliere Codice se non è già selezionato.

    2. Scorri verso il basso fino alla sezione Livelli, quindi scegli Aggiungi un livello.

    3. Per Layer source, seleziona Livelli personalizzati, quindi scegli il tuo livello dall'elenco a discesa Livelli personalizzati.

    4. In Version (Versione), selezionare 1.

    5. Scegli Aggiungi.

  9. Aggiungi la variabile di ambiente wrapper.

    1. Scegli Configurazione, quindi scegli Variabili di ambiente.

    2. In Environment variables (Variabili di ambiente), scegliere Edit (Modifica).

    3. Scegli Add environment variable (Aggiungi variabile d'ambiente).

    4. In Chiave, inserire AWS_LAMBDA_EXEC_WRAPPER.

    5. Per Value, inserisci /opt/bin/importtime_wrapper (/opt/+ la struttura delle cartelle del tuo livello.zip).

    6. Seleziona Salva.

  10. Provate lo script wrapper.

    1. Seleziona la scheda Test.

    2. In Evento di prova, scegli Test. Non è necessario creare un evento di test: l'evento predefinito funzionerà.

    3. Scorri verso il basso fino a Log output. Poiché lo script wrapper ha avviato l'interprete Python con l'opzione -X importtime, i log mostrano il tempo richiesto per ogni importazione. Ad esempio:

      532 |           collections
      import time:        63 |         63 |           _functools
      import time:      1053 |       3646 |         functools
      import time:      2163 |       7499 |       enum
      import time:       100 |        100 |         _sre
      import time:       446 |        446 |           re._constants
      import time:       691 |       1136 |         re._parser
      import time:       378 |        378 |         re._casefix
      import time:       670 |       2283 |       re._compiler
      import time:       416 |        416 |       copyreg
PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.