Доступ к параметру тестовых событий в lambda

#python #amazon-web-services #aws-lambda #amazon-cloudwatch

#python #amazon-веб-сервисы #aws-lambda #amazon-cloudwatch

Вопрос:

Параметр тестовых событий в консоли aws lambda был сохранен как dict в configure test events :

 {"key1":5,
 "name1":"stud1",
 "key2":3,
 "name2":"stud2"}
  

Доступ к нему осуществляется как к событию[‘key1’] или событию[‘name1’] в лямбда-функции. При тестировании с помощью консоли, кажется, все работает нормально. Но при планировании с использованием cloudwatch функция регистрирует key error событие with[«] . Как получить доступ к параметрам тестовых событий с помощью cloudwatch

Ответ №1:

Возможность «тестовых событий» является чисто функцией консоли Lambda.

При вызове функции любым другим способом лямбда-функция получит «реальное» событие.

Для функции AWS Lambda, запускаемой расписанием Amazon CloudWatch, CloudWatch предоставит событие, подобное этому:

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

При настройке целевого объекта в правиле событий CloudWatch в событие можно передать дополнительную информацию, такую как константу, которая затем может быть использована лямбда-функцией.

Итог: тестовое событие предназначено только для тестирования в консоли.