I am trying to call an async lamda function inside of my Php file. But here i am getting null as output.I am not sure about the structure of my below code for calling a async lamda function.
JavaScript
x
<?php
/**
* [getMOOCCouponListDetails description].
*
* @param [type] $data [description]
* @param [type] $vendorDetails [description]
*
* @return [type] [description]
*/
require_once 'vendor/autoload.php';
use AwsLambdaLambdaClient;
function addRewardsPoints($vendorid, $data)
{
if(empty($data) || empty($vendorid)){
HTTPFailWithCode(401,VBOXLITE_HTTP_MISSING_PARAMS);
}
$Payload = [
"subscriberid" => isset($data['subscriberid']) ? $data['subscriberid']:" ",
"videocompletion" => isset($data['videocompletion']) ? $data['videocompletion']:" ",
"profileid" => isset($data['profileid']) ? $data['profileid']:" ",
"contentid" => isset($data['contentid']) ? $data['contentid']:" ",
"courseid" => isset($data['courseid']) ? $data['courseid']:" ",
"vendorid" => $vendorid,
"paymentId" => isset($data['paymentId']) ? $data['paymentId']:" " ,
"planId" => isset($data['planId']) ? $data['planId']:" " ,
];
$client = LambdaClient::factory(
array(
'version' => 'latest',
'region' => 'us-east-1'
)
);
$result = $client->invokeAsync([
'FunctionName' => 'actuator-jsonruleengine-dev',
'InvokeArgs' => $Payload
]);
var_dump($result->get('Payload'));
$finalResult = json_decode($result);
errorlog_withlevel('addRewardsPoints POST output=======>' . json_encode($finalResult), 3);
return $finalResult;
Advertisement
Answer
JavaScript
<?php
/**
* [getMOOCCouponListDetails description].
*
* @param [type] $data [description]
* @param [type] $vendorDetails [description]
*
* @return [type] [description]
*/
require_once 'vendor/autoload.php';
function addRewardsPoints($vendorid, $data)
{
$Payload = [
"subscriberid" => isset($data['subscriberid']) ? $data['subscriberid']:" ",
"videocompletion" => isset($data['videocompletion']) ? $data['videocompletion']:" ",
"profileid" => isset($data['profileid']) ? $data['profileid']:" ",
"contentid" => isset($data['contentid']) ? $data['contentid']:" ",
"courseid" => isset($data['courseid']) ? $data['courseid']:" ",
"vendorid" => $vendorid,
"paymentId" => isset($data['paymentId']) ? $data['paymentId']:" " ,
"planId" => isset($data['planId']) ? $data['planId']:" " ,
"profilename" => isset($data['profilename']) ? $data['profilename']:" " ,
];
try {
$client = new AwsLambdaLambdaClient(
array(
'version' => 'latest',
'region' => 'us-east-1'
)
);
$result = $client->invoke([
'FunctionName' => 'actuator-jsonruleengine-dev',
'Payload' => json_encode($Payload)
]);
errorlog_withlevel('addRewardsPoints POST output=======>' . json_encode($result), 3);
return $result;
}
catch(Exception $e)
{
$errorData = formatError(1078);
$errorData['reason'] = $e->getMessage();
errorlog_withlevel('exception=======>' . json_encode($e->getMessage()), 3);
}
}