AWS LambdaGestionnaire de fonctions en Ruby
Le gestionnaire de fonction Lambda est la méthode dans votre code de fonction qui traite les événements. Lorsque votre fonction est appelée, Lambda exécute la méthode du gestionnaire. Lorsque le gestionnaire se termine ou renvoie une réponse, il devient disponible pour gérer un autre événement.
Dans l'exemple suivant, le fichier function.rb
définit une méthode de gestionnaire nommée handler
. La fonction de gestionnaire prend deux objets en tant qu'entrées et renvoie un document JSON.
Exemple function.rb
require 'json' def handler(event:, context:) { event: JSON.generate(event), context: JSON.generate(context.inspect) } end
Dans la configuration de votre fonction, le paramètre handler
indique à Lambda où trouver le gestionnaire. Pour l'exemple précédent, la valeur correcte pour ce paramètre est function.handler
. Elle inclut deux noms séparées par un point : le nom du fichier et le nom de la méthode de gestionnaire.
Vous pouvez également définir votre méthode de gestionnaire dans une classe. L'exemple suivant définit une méthode de gestionnaire nommée process
sur une classe nommée Handler
dans un module appelé LambdaFunctions
.
Exemple source.rb
module LambdaFunctions class Handler def self.process(event:,context:) "Hello!" end end end
Dans ce cas, le paramètre de gestionnaire est source.LambdaFunctions::Handler.process
.
Les deux objets qui sont acceptés par le gestionnaire sont l'événement d'appel et le contexte. L'événement est un objet Ruby qui contient la charge utile qui est fournie par le mécanisme d'appel. Si la charge utile est un document JSON, l'objet d'événement est un hachage Ruby. Sinon, il s'agit d'une chaîne. L'objet de contexte contient des méthodes et des propriétés qui fournissent des informations sur l'appel, la fonction et l'environnement d'exécution.
Le gestionnaire de fonction est exécuté chaque fois que votre fonction Lambda est appelée. Le code statique à l'extérieur du gestionnaire est exécuté une fois par instance de la fonction. Si votre gestionnaire utilise des ressources telles que les clients de kits SDK et les connexions de base de données, vous pouvez les créer à l'extérieur de la méthode de gestionnaire afin de les réutiliser pour plusieurs appels.
Chaque instance de votre fonction peut traiter plusieurs événements d'appels, mais elle ne traite qu'un événement à la fois. Le nombre d'instances traitant un événement à un moment donné est la simultanéité de votre fonction. Pour plus d'informations sur l'environnement d'exécution Lambda, consultez Environnement d'exécution Lambda.