gpt4 book ai didi

amazon-web-services - AWS Lambda 和 AWS API 网关 : How to send a binary file?

转载 作者:行者123 更新时间:2023-12-01 12:28:59 24 4
gpt4 key购买 nike

我有一个 lambda 函数,它使用事件中的输入键从 s3 获取文件,并需要将其发送给客户端。我正在使用以下函数从 s3 获取文件

function getObject(key){
var params = {
Bucket: "my_bucket",
Key: key
}
return new Promise(function (resolve, reject){
s3.getObject(params, function (err, data){
if(err){
reject(err);
}
resolve(data.Body)
})
})
}

如果我将此 promise (缓冲区)的响应发送到 context.succeed ,它在前端显示为一个 JSON 数组。如何将其作为文件发送?这些文件可以是 ZIP 或 HTTP 存档 (HAR) 文件。 s3 key 包含适当的扩展名。我猜它与 API Gateway 中的“集成响应”有关。但无法弄清楚在哪里改变

最佳答案

好消息,您现在可以处理 API 网关( announcementdocumentation )的二进制输入和输出。

基本上,您的 Lambda 函数没有任何变化,但您现在可以设置 contentHandling API 网关集成属性为 CONVERT_TO_BINARY .

不幸的是,AWS 官方示例仅展示了 HTTP API 网关后端,因为 AWS Lambda 支持似乎尚未完成。例如,我还没有设法从 AWS Lambda 返回 gzip 压缩的内容,尽管由于新的二进制支持和 $util.base64Decode() 应该是可能的。映射实用程序。

关于amazon-web-services - AWS Lambda 和 AWS API 网关 : How to send a binary file?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36458547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com