0

Existe-t-il un moyen d'obtenir des informations d'événement, en particulier l'ARN du service provoquant l'événement, sur une fonction lambda?Obtention de l'événement CloudTrail dans une fonction Lambda

Dans mon précédent question, j'ai demandé de l'aide pour utiliser Cloudwatch et Cloudtrail pour obtenir l'info. Je pense que c'était surtout une mauvaise compréhension des règles, mais maintenant je suis inquiet s'il y a de toute façon une solution généralisée.

Je sais que je pourrais le faire pour un service spécifique avec succès, mais je souhaite avoir une règle généralisée pour déclencher la fonction. Les journaux ou les événements de Cloudwatch semblent être la bonne réponse à cela, mais je ne suis plus sûr de cela avec mes problèmes avec ma règle Cloudwatch Cloudtrail. Pour exposer pleinement mon objectif, je souhaite avoir un déclencheur de fonction lambda lors de la création de tout service et avoir accès à l'ARN de ces nouveaux services, afin que je puisse vérifier le processus.

Répondre

1

Oui, c'est possible, cependant, chaque événement a des propriétés d'événement différentes, et vous devez vérifier où obtenir ces informations. Par exemple, si votre lambda est déclenché par CloudFormation, vous pouvez obtenir l'ID de pile (ARN) avec event['StackId'].

{ 
    "StackId": stackidarn, 
    "ResponseURL": "http://pre-signed-S3-url-for-response", 
    "ResourceProperties": { 
    "StackName": "stack-name", 
    "List": [ 
     "1", 
     "2", 
     "3" 
    ] 
    }, 
    "RequestType": "Create", 
    "ResourceType": "Custom::TestResource", 
    "RequestId": "unique id for this create request", 
    "LogicalResourceId": "MyTestResource" 
} 

Vous pouvez voir les détails de chaque événement généré dans http://docs.aws.amazon.com/lambda/latest/dg/eventsources.html.

Si vous voulez déboguer en temps réel pour vérifier le contenu de l'événement, vous pouvez trouver une solution comme lambda-toolkit

+0

Eh oui, je viens de parler à AWS à aller sur des détails et il semble que, comme vous dites, Le format du JSON, en particulier lorsque l'ARN est stocké, ne sera pas le même entre les événements. Aussi entre les versions de l'événement, cette approche ne semble pas fonctionner pour mon but prévu. – user3651225