【发布时间】:2018-10-06 23:00:16
【问题描述】:
我让 Amazon Connect 使用 AWS Lambda 函数从 PHP 服务器检索数据。我在Using AWS Lambda Functions with Amazon Connect
上阅读了这些文档我有这样的 Lambda 设置:
exports.handler = (event, context, callback) => {
https.get(url, (httpsResult) => {
httpsResult.setEncoding('utf8');
httpsResult.on('data', function gotResult (body) {
console.log("PHP RETURNED= "+body);
callback(null, body);
});
});
};
PHP 向 lambda 返回一个测试 JSON 对象:
$testArray=array("test"=>"test string value");
echo json_encode($testArray); exit;
Lambda Cloudwatch 日志显示 PHP RETURNED= {"test": "test string value"}
但是当 body 返回到 AWS Connect 时,它只记录以下内容:
{
"Results": "The Lambda Function Returned An Error.",
"ContactFlowModuleType": "InvokeExternalResource",
...
}
我在 Lambda 中尝试了多种方法来构建对 Connect 的 JSON 对象响应。不正确时,记录的唯一错误如上,
lambda 函数返回错误
但不是错误是什么。但是 lambda 中没有错误,只有在连接中。
我似乎成功传递数据的唯一方法是忽略 PHP 数据并将 Lambda 设置为 callback(null, {"test": "test string value"});
那么我通过 Lambda 从 PHP 传递 JSON 对象出了什么问题?
【问题讨论】:
标签: php json amazon-web-services aws-lambda