与S3集成的AWS Api网关

时间:2020-05-04 07:44:14

标签: amazon-s3 aws-api-gateway

我正在尝试使用AWS制作服务器端渲染ReactJS应用,我必须将一些URL映射到S3。 例如:/ assets

在Api Gateway中,我创建了一个代理资源,并将其与Amazon Services集成,然后选择S3和相关的Role,现在在我测试它时可以找到面板

但是

当我将其部署到Stages并检查CloudWatch中的日志时,以下错误恰好显示在数据之后。

由于配置错误,执行失败:无法通过base64解码正文。

enter image description here

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我找到了解决方法。

设置二进制媒体类型时,必须先添加 * / * ,然后再添加必要的 Content-Type ,例如 text / html application / json

此外,如果您使用Lambda来使用React SSR,则需要在 awsServerlessExpress 中定义BinaryType,例如:

const binaryMimeTypes = [
'application/json',
'text/html',
 ];
 const server = awsServerlessExpress.createServer(app,null,binaryMimeTypes);
 exports.handler = (event, context) => awsServerlessExpress.proxy(server, event, context)