[JAWS-UG CLI] Explication du plan Lambda: Lambda Common Edition (Python)

Explication de Lambda pour les débutants en Python.

Explication de Lambda

gestionnaire

Une fonction au sein de la fonction Lambda que Lambda importe.

python:code(Exemple):


   def lambda_handler(event, context):

Fonction de gestionnaire: données d'événement

Lambda utilise le paramètre d'événement pour transmettre les données d'événement au gestionnaire.

Ce paramètre est généralement un type de dictionnaire Python.

json:Données d'événement lorsque la source d'événement est CloudWatch Events(échantillon):


   {
     "account": "123456789012",
     "region": "ap-northeast-1",
     "detail": {},
     "detail-type": "Scheduled Event",
     "source": "aws.events",
       "time": "1970-01-01T00:00:00Z",
     "id": "cdc73f9d-aea9-11e3-9d5a-835b769c0d9c",
     "resources": [
       "arn:aws:events:ap-northeast-1:123456789012:rule/my-schedule"
     ]
   }

Vous pouvez également utiliser les types list, str, int, float et NoneType.

Fonction de gestionnaire: objet de contexte (Python)

Utilisez le paramètre context pour accéder aux informations d'exécution stockées dans l'objet Context de Lambda.

Ce paramètre est de type Contexte Lambda.

https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/python-context-object.html

Lors de l'exécution de la fonction Lambda, l'objet Context peut obtenir les informations d'exécution suivantes:

Méthode

Propriété

Fonction de gestionnaire: valeur de retour

Le cas échéant, le gestionnaire peut renvoyer une valeur.

Lorsque le client spécifie le type d'importation RequestResponse (exécution synchrone)

Le résultat sera renvoyé au client importateur.

Exemple de valeur de retour


return event['time']

Lorsque le client spécifie le type d'importation d'événement (exécution asynchrone)

Lambda ne renvoie rien.

Journal des fonctions Lambda

Exemple de code


  print('Check complete at {}'.format(str(datetime.now())))

Exception de fonction Lambda

Lorsqu'une exception se produit dans la fonction Lambda, Lambda reconnaît l'erreur, sérialise et renvoie les informations d'exception à JSON.

https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/python-exceptions.html

python:Exemple de code:


   def always_failed_handler(event, context):
     raise Exception('I failed!')

json:Exemple de message d'erreur:


   {
     "errorMessage": "I failed!",
     "stackTrace": [
       [
         "/var/task/lambda_function.py",
         3,
         "my_always_fails_handler",
         "raise Exception('I failed!')"
       ]
     ],
     "errorType": "Exception"
   }

Recommended Posts

[JAWS-UG CLI] Explication du plan Lambda: Lambda Common Edition (Python)
[JAWS-UG CLI] Explication du plan Lambda: principes de base de Python2.7