Вызвать Lambda из PHP через AWS SDK - cURL возвращает ошибку при успешном завершении? - PullRequest
0 голосов
/ 24 апреля 2019

Я пытаюсь выполнить лямбда-функцию через AWS SDK из PHP.Сама лямбда очень проста:

exports.handler = async (event) => {
    // TODO implement
    const response = {
        statusCode: 200,
        body: JSON.stringify('Hello from Lambda!'),
    };
    return response;
};

Затем из моего PHP-приложения я запускаю ее:

    $lambda = new LambdaClient([
        'version'     => 'latest',
        'region'      => 'ap-southeast-2',
        'credentials' => [
            'key'    => '***********',
            'secret' => '***********',
        ]
    ]);

    $result = $lambda->invoke([
        'InvocationType' => 'RequestResponse',
        'FunctionName' => 'testInvoke',
        'LogType' => 'Tail',
        'Payload' => '{"somedata":""}'
    ]);

Лямбда-функция выполняется успешно (я могу видеть это изCloudWatch), однако cURL всегда считает, что это не удалось:

Сообщение об ошибке:


Ошибка при выполнении «Invoke» on «https://lambda.ap -southeast-2.amazonaws.com / 2015-03-31 / функции / testInvoke / вызовы";Ошибка HTTP AWS: ошибка cURL 0: запрос cURL был повторен 3 раза и не был выполнен.Наиболее вероятной причиной сбоя является то, что cURL не удалось перемотать тело запроса, и последующие попытки привели к той же ошибке.Включите параметр отладки, чтобы увидеть, что пошло не так.См. https://bugs.php.net/bug.php?id=47204 для получения дополнительной информации (см. http://curl.haxx.se/libcurl/c/libcurl-errors.html)


На самом деле функция запускается 3 раза (все успешно), так как жадность / завиток продолжают повторяться.

Любые идеи о том, как решить?

Версии: PHP 5.6.31 Жра: 6.3.3

...