Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Création de fonctions d'événement Lambda avec Ruby
Vous pouvez exécuter du code Ruby dans AWS Lambda Event Functions. Lambda fournit des runtimes pour Ruby qui exécutent votre code afin de traiter des événements. Votre code s'exécute dans un environnement qui inclut le AWS SDK pour Ruby, avec les informations d'identification d'un rôle Gestion des identités et des accès AWS (IAM) que vous gérez. Pour en savoir plus sur les versions du kit SDK incluses dans les environnements d’exécution Ruby, consultez Runtime-included Versions du SDK.
Lambda prend en charge les runtimes Ruby suivants.
| Nom | Identifiant | Système d’exploitation | Date d’obsolescence | Créer la fonction de blocage | Mettre à jour la fonction de blocage |
|---|---|---|---|---|---|
|
Ruby 4.0 |
|
Amazon Linux 2023 |
31 mars 2029 |
30 avril 2029 |
31 mai 2029 |
|
Ruby 3.4 |
|
Amazon Linux 2023 |
31 mars 2028 |
30 avril 2028 |
31 mai 2028 |
|
Ruby 3.3 |
|
Amazon Linux 2023 |
31 mars 2027 |
29 juillet 2027 |
31 août 2027 |
Pour créer une fonction d'événement Ruby
-
Ouvrez la console Lambda
. -
Choisissez Create Event Function.
-
Configurez les paramètres suivants :
-
Nom de la fonction : saisissez le nom de la fonction.
-
Runtime : choisissez Ruby 4.0.
-
-
Choisissez Create Event Function.
La console crée une fonction d'événement Lambda avec un seul fichier source nommé. lambda_function.rb Vous pouvez modifier ce fichier et ajouter d’autres fichiers dans l’éditeur de code intégré. Dans la section DÉPLOYER, choisissez Déployer pour mettre à jour le code de votre fonction. Ensuite, pour exécuter votre code, choisissez Créer un événement de test dans la section ÉVÉNEMENTS DE TEST.
Le fichier lambda_function.rb exporte une fonction nommée lambda_handler qui accepte un objet événement et un objet contexte. Il s'agit de la fonction de gestionnaire que Lambda appelle lors de l'invocation de la fonction. Le runtime Ruby Event Function obtient les événements d'invocation de Lambda et les transmet au gestionnaire. Dans la configuration de fonction, la valeur de gestionnaire est lambda_function.lambda_handler.
Lorsque vous enregistrez votre code de fonction, la console Lambda crée un package de déploiement d’archive de fichiers .zip. Lorsque vous développez votre code de fonction en dehors de la console (à l’aide d’un IDE), vous devez créer un package de déploiement pour charger votre code dans la fonction Lambda.
Le runtime de la fonction transmet un objet de contexte au gestionnaire, en plus de l’événement d’invocation. L’objet de contexte contient des informations supplémentaires sur l’invocation, la fonction et l’environnement d’exécution. Des informations supplémentaires sont disponibles dans les variables d’environnement.
Votre fonction Lambda est fournie avec un groupe de CloudWatch journaux Logs. La fonction runtime envoie les détails de chaque appel à CloudWatch Logs. Il relaie tous les journaux que votre fonction génère pendant l’invocation. Si votre fonction renvoie une erreur, Lambda met en forme l’erreur et la renvoie à l’appelant.
Rubriques
Définir le gestionnaire de fonctions d'événement Lambda dans Ruby
Déployez les fonctions d'événement Ruby Lambda avec des archives de fichiers .zip
Déployez les fonctions d'événement Ruby Lambda avec des images de conteneur
Utilisation de couches pour les fonctions d'événement Ruby Lambda
Enregistrez et surveillez les fonctions d'événements Ruby Lambda
Runtime-included Versions du SDK
La version du AWS SDK incluse dans le runtime Ruby dépend de la version d'exécution et de votre Région AWS. Le AWS SDK pour Ruby est conçu pour être modulaire et est séparé par Service AWS. Pour trouver le numéro de version d'une gemme de service particulière incluse dans le moteur d'exécution que vous utilisez, créez une fonction d'événement Lambda avec un code au format suivant. Remplacez aws-sdk-s3 et Aws::S3 par le nom des gems de service utilisés par votre code.
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
Activer un autre JIT Ruby (YJIT)
Les environnements d'exécution Ruby supportent YJIT
YJIT n'est pas activé par défaut. Pour activer YJIT pour une fonction Ruby, définissez la variable d'RUBY_YJIT_ENABLEenvironnement sur1. Pour confirmer que YJIT est activé, imprimez le résultat de la méthode RubyVM::YJIT.enabled?.
Exemple– Confirmez que YJIT est activé
puts(RubyVM::YJIT.enabled?()) # => true