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à.
Compilazione di funzioni Lambda con Ruby
Puoi eseguire il codice Ruby in AWS Lambda. Lambda fornisce Runtime per Ruby che eseguono il tuo codice per elaborare gli eventi. Il codice viene eseguito in un ambiente che include AWS SDK for Ruby, con le credenziali di un ruolo AWS Identity and Access Management (IAM) che gestisci. Per saperne di più sulle versioni degli SDK incluse nei runtime di Ruby, consulta Versioni SDK incluse nel runtime.
Lambda supporta i seguenti runtime di Ruby.
Nome | Identificatore | Sistema operativo | Data di ritiro | Blocco creazione funzioni | Blocco aggiornamento funzioni |
---|---|---|---|---|---|
Ruby 3.3 |
|
Amazon Linux 2023 |
31 marzo 2027 |
30 aprile 2027 |
31 maggio 2027 |
Ruby 3.2 |
|
Amazon Linux 2 |
31 marzo 2026 |
30 aprile 2026 |
31 maggio 2026 |
Per creare una funzione Ruby
-
Aprire la console Lambda
. -
Scegli Crea funzione.
-
Configurare le impostazioni seguenti:
-
Nome della funzione: inserisci il nome della funzione.
-
Runtime: scegli Ruby 3.2.
-
-
Scegli Crea funzione.
La console crea una funzione Lambda con un singolo file di origine denominato lambda_function.rb
. È possibile modificare questo file e aggiungere altri file nell'editor di codice predefinito. Nella sezione DEPLOY, scegli Implementa per aggiornare il codice della tua funzione. Quindi, per eseguire il codice, scegli Crea evento di test nella sezione EVENTI DI TEST.
Il file lambda_function.rb
esporta una funzione denominata lambda_handler
che richiede un oggetto evento e un oggetto contesto. Questa è la funzione del gestore chiamata da Lambda quando la funzione viene richiamata. Il runtime della funzione Ruby riceve gli eventi di chiamata da Lambda e li passa al gestore. Nella configurazione della funzione il valore del gestore è lambda_function.lambda_handler
.
Quando si salva il codice funzione, la console Lambda crea un pacchetto di implementazione dell'archivio di file .zip. Quando sviluppi il codice funzione al di fuori della console (utilizzando un IDE) devi creare un pacchetto di implementazione per caricare il codice nella funzione Lambda.
Il runtime della funzione passa un oggetto contesto al gestore, oltre all'evento di chiamata. L'oggetto contesto contiene ulteriori informazioni sulla chiamata, sulla funzione e sull'ambiente di esecuzione. Altre informazioni sono disponibili con le variabili di ambiente.
La funzione Lambda include un gruppo di CloudWatch log Logs. Il runtime della funzione invia i dettagli su ogni chiamata a Logs. CloudWatch Si trasmette qualsiasi log che la tua funzione emette durante la chiamata. Se la funzione restituisce un errore, Lambda formatta l'errore e lo restituisce al chiamante.
Argomenti
Versioni SDK incluse nel runtime
La versione dell' AWS SDK inclusa nel runtime di Ruby dipende dalla versione di runtime e dalla tua. Regione AWS L' AWS SDK for Ruby è progettato per essere modulare ed è separato da. Servizio AWS Per trovare la versione di una determinata gemma di servizio inclusa nel runtime che stai utilizzando, crea una funzione Lambda con il codice nel seguente formato. Sostituisci aws-sdk-s3
e Aws::S3
con il nome delle gemme di servizio utilizzate dal tuo codice.
require 'aws-sdk-s3' def lambda_handler(event:, context:) puts "Service gem version: #{Aws::S3::GEM_VERSION}" puts "Core version: #{Aws::CORE_GEM_VERSION}" end
Abilitazione di Yet Another Ruby JIT (YJIT)
Il runtime di Ruby 3.2 supporta YJIT
YJIT non è abilitato per impostazione predefinita. Per abilitare YJIT per una funzione Ruby 3.2, imposta la variabile di ambiente RUBY_YJIT_ENABLE
su 1
. Per verificare che YJIT sia abilitato, stampa il risultato del metodo RubyVM::YJIT.enabled?
.
Esempio - Conferma che YJIT è abilitato
puts(RubyVM::YJIT.enabled?()) # => true