Невозможно получить ответ лямбда-функции aws в клиенте PHP
Я пытаюсь вызвать простую функцию Aws Lambda с использованием PHP, как указано в документации, но я не получаю желаемого ответа.
PHP Лямбда-клиент
require './aws/aws-autoloader.php';
use Aws\Lambda\LambdaClient;
$client = LambdaClient::factory(array(
'version' => "latest",
'credentials' => array(
'key' => '*******',
'secret' => '*******'
),
'region' => '*******'
));
$response = $client->invoke([
'FunctionName' => 'myLambda', // REQUIRED
'InvocationType' => 'RequestResponse',
'Payload' => '{"key":"value"}',
]);
echo "<pre>";
print_r($response);
print_r($response->data);
?>
Node.js лямбда-функция В нем нет ничего, кроме этого простого кода, который возвращает «success» при успешном выполнении функции Lambda. Его рабочая находка в консоли Amazon Lambda.
exports.handler = function(event, context){
context.succeed("success");
};
Ответ от Amazon Я получаю приватный объект данных, к которому у меня нет доступа. И согласно документации, полезная нагрузка должна быть ответом от функции. Но я получаю объект, к которому я снова не могу получить доступ, потому что данные родительского объекта являются частными.
Aws\Result Object
(
[data:Aws\Result:private] => Array
(
[Payload] => GuzzleHttp\Psr7\Stream Object
(
[stream:GuzzleHttp\Psr7\Stream:private] => Resource id #6
[size:GuzzleHttp\Psr7\Stream:private] =>
[seekable:GuzzleHttp\Psr7\Stream:private] => 1
[readable:GuzzleHttp\Psr7\Stream:private] => 1
[writable:GuzzleHttp\Psr7\Stream:private] => 1
[uri:GuzzleHttp\Psr7\Stream:private] => php://temp
[customMetadata:GuzzleHttp\Psr7\Stream:private] => Array
(
)
)
[StatusCode] => 200
[FunctionError] =>
[LogResult] =>
[@metadata] => Array
(
[statusCode] => 200
[effectiveUri] => https://lambda.*********.amazonaws.com/2015-03-31/functions/myLambda/invocations
[headers] => Array
(
[content-type] => application/json
[date] => Wed, 06 Apr 2016 12:33:05 GMT
[x-amzn-remapped-content-length] => 0
[x-amzn-requestid] => ******-*****-*****-****-*******************
[content-length] => 9
[connection] => keep-alive
)
[transferStats] => Array
(
[http] => Array
(
[0] => Array
(
)
)
)
)
)
)
Итак, как мне получить доступ к ответу из лямбда-функции? В чем может быть проблема здесь?
ОБНОВИТЬ
Я могу получить доступ к полезной нагрузке с помощьюprint_r($response['Payload']);
Но все же его бесполезно, потому что полезная нагрузка идет не так, как ожидалось.