Rab*_*ona 5 aws-lambda aws-api-gateway
我试图使用基于节点的lambda函数通过API网关从s3返回jpeg图像。
我的Lambda函数显示为:
s3.getObject(params).promise().then((result) => {
let resp = {
statusCode: 200,
headers: {
'Content-Type': 'image/jpeg'
},
body: result.Body.toString('base64'),
isBase64Encoded: true
};
callback(null, resp);
});
Run Code Online (Sandbox Code Playgroud)
我还将API网关中的集成响应修改为“转换为二进制文件(如果需要)”。当我尝试测试此功能时,我收到错误消息“由于配置错误,执行失败:无法对主体进行base64解码。”。
我是否缺少允许我检索base64编码文件的步骤?
小智 -1
听起来您正在使用 API Gateway 的 AWS 集成类型,而不是 LAMBDA 集成,在这种情况下,API Gateway 会期望整个消息进行 Base64 编码,而不仅仅是正文。对于您的用例,您可能应该使用 LAMBDA 集成并返回带有 statusCode、body、headers 和 Content-Type 的 json,就像您当前所做的那样。
| 归档时间: |
|
| 查看次数: |
2985 次 |
| 最近记录: |