Функция вызова AWS Lamba с параметрами / полезной нагрузкой

Я начал с AWS Lambda сегодня и не могу передать полезную нагрузку функции. На стороне сервера я пытаюсь прочитать все данные о событиях, но они пустые. Что я здесь не так делаю?

$client = LambdaClient::factory(array(
'profile' => 'default',
'key' => AWS_ACCESS_KEY_ID,
'secret' => AWS_SECRET_ACCESS_KEY,
'region'  => 'eu-west-1'
));

$payload = array('key1' => '1');

$result = $client->invoke(array(
'FunctionName' => 'hello',
'InvocationType' => 'RequestResponse',
'LogType' => 'Tail',
'Payload' => json_encode($payload)
));

Возвращает:

Received event: {}

Код функции на AWS:

console.log('Loading function');

exports.handler = function(event, context) {
console.log('Received event:', JSON.stringify(event, null, 2));

};

0

Решение

В Python я отправляю полезную нагрузку следующим образом:

from boto3 import client as botoClient
import json
lambdas = botoClient("lambda")

def lambda_handler(event, context):
response = lambdas.invoke(FunctionName="myLambdaFunct", InvocationType="RequestResponse", Payload=json.dumps(event));

где событие это словарь и, json.dumps сериализует событие в строку в формате JSON

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector