当从nodeJS调用aws Lambda客户端时,我得到了以下对象作为响应。
{
'$metadata': {
httpStatusCode: 200,
requestId: '1245',
extendedRequestId: undefined,
cfId: undefined,
attempts: 1,
totalRetryDelay: 0
},
ExecutedVersion: '$LATEST',
Payload: Uint8Array(4) [ 110, 119, 106, 108 ],
StatusCode: 200
}
下面是我必须读取有效负载数组的代码片段。
const res = await myclient.send(command);
const error = res.FunctionError;
console.log("res", res);
if (error) {
throw new Error(`Error invoking lambda:${error}`);
}
if (!res.Payload) {
throw new Error('Payload is empty');
}
const resultString = JSON.parse(new TextDecoder('utf-8').decode(res.Payload));
console.log("resultString", resultString);
然而当代码运行时,我得到了resultString null
。我在这里做错了什么?我如何正确地读取负载数组?感谢任何建议。
1条答案
按热度按时间9wbgstp71#
我不知道发生了什么。我试了一个简单的例子来看看发生了什么。
所以如果你得到的数据是正确的,省略
JSON.parse
至少会得到一个字符串,但是包含它会抛出一个错误。