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 SDK versioni incluse nei runtime di Ruby, consulta. Versioni incluse in runtime SDK
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 |
Non programmato |
Non programmato |
Non programmato |
Ruby 3.2 |
|
Amazon Linux 2 |
Non programmato |
Non programmato |
Non programmato |
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.
-
Per configurare un evento di test scegliere Test.
-
Per Event name (Nome evento) immettere
test
. -
Scegli Save changes (Salva modifiche).
-
Per invocare la funzione, scegliere Test (Testa).
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. Per salvare le modifiche, scegliere Save (Salva). Quindi, per eseguire il codice, scegliere Test (Testa).
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 della funzione all'esterno della console (utilizzando unIDE), devi creare un pacchetto di distribuzione 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 incluse in runtime SDK
- Abilitare Yet Another Ruby JIT () YJIT
- Definisci il gestore di funzioni Lambda in Ruby
- Distribuire le funzioni Ruby Lambda con gli archivi di file .zip
- Distribuisci funzioni Lambda per Ruby con immagini di container
- Utilizzo dell'oggetto contesto Lambda per recuperare le informazioni sulla funzione Ruby
- Registra e monitora le funzioni di Ruby Lambda
- Strumentazione del codice Ruby in AWS Lambda
Versioni incluse in runtime SDK
La versione AWS SDK inclusa nel runtime di Ruby dipende dalla versione di runtime e dalla tua. Regione AWS Il AWS SDK for Ruby è progettato per essere modulare ed è separato da. Servizio AWS Per trovare il numero di versione di un particolare service gem incluso nel runtime che stai utilizzando, crea una funzione Lambda con codice nel seguente formato. Sostituisci aws-sdk-s3
e Aws::S3
con il nome dei service gem utilizzati 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
Abilitare Yet Another Ruby JIT () YJIT
Il runtime di Ruby 3.2 supporta un YJIT
YJITnon è abilitato per impostazione predefinita. YJITPer abilitare una funzione Ruby 3.2, imposta la variabile di RUBY_YJIT_ENABLE
ambiente su1
. Per confermare che YJIT sia abilitata, stampa il risultato del RubyVM::YJIT.enabled?
metodo.
Esempio — Conferma che YJIT sia abilitato
puts(RubyVM::YJIT.enabled?()) # => true