Лямбда сама по себе не знает и не ограничена в том, что будет содержать event
- это полностью на усмотрение вызывающей стороны, которая вызвала функцию Lambda.
Когда сервисы AWS вызывают функции Lambda, они часто используютобщий стандартный формат, который включает в себя все в массиве event.Records
(который, в некоторых случаях, например, уведомления о событиях S3 и триггеры Lambda @ Edge, всегда будет содержать ровно один элемент). Другие варианты использования включают совершенно другую структуру.
Что ожидать, определяется службой, поэтому вам нужно просмотреть документацию для службы, которая вызывает функцию лямбда-выражения. В целом служба должна быть согласованной, хотя могут существовать атрибуты, которые появляются или исчезают в зависимости от специфики триггера.
Использование AWS Lambda с другими службами в AWS LambdaРуководство разработчика обсуждает это более подробно и предоставляет ссылки на некоторую документацию по конкретным сервисам для некоторых сервисов AWS, которые взаимодействуют с Lambda.
И, конечно, функция Lambda не обязательно нуждается вбыть вызванным другой службой AWS вообще - вы можете вызвать функцию Lambda из своего собственного кода, или даже из другой функции Lambda (даже рекурсивно), или из консоли Lambda, и в этих случаях полезная нагрузка будет любой, какой выsend.
¹ без ограничений не совсем верно, поскольку Lambda API ожидает, что входная полезная нагрузка будет JSON, но это не имеет значения в обсуждаемом здесь смысле. ,Среда выполнения Node.js прозрачно десериализует JSON в event
перед вызовом вашего обработчика. «event
объект» (как его обычно называют) действительно является объектом. Точно, где / как / ли это ограничено (в отличие от, скажем, event
, являющегося массивом или скаляром - с которым я никогда не сталкивался, но кажется возможным), также выходит за рамки предполагаемого выбора фразы «нет ограничений». "