我必须设置一个API端点,该端点以大约18mb JSON文件*的目录文件进行响应,超过API网关限制6mb。
我可以将文件gzip压缩到256kb但是在API网关中你不能将内容编码设置为gzip。
去年11月他们开始允许使用binaryMIMETypes,但是我看到的示例也要求数据也是base64编码的(Standard Lambda Example,Serverless Example)。然后,这将要求客户不仅处理GZIP而且还需要处理Base64。
然而(aws-serverless-express example)似乎包含array
,这让我觉得可以发送JSON响应gzip。
我尝试使用aws-serverless-express示例,但是当我尝试运行npm时,它无法创建/更新云形成堆栈。
我有一个使用以下代码的本地工作Node / Express端点
$a[1] = "A";
$a[2] = "X";
$a[3] = "B";
$a[4] = "C";
$a[5] = "D";
我对Lambda和API Gateway非常陌生,所以对这样一个新手问题表示歉意。任何人都可以提供有关如何将Lambda / API Gateway与Gzip JSON文件一起使用的任何帮助或建议。
答案 0 :(得分:1)
这不是一个非常好的方法(即使没有6MB的限制)。
请记住,在使用AWS Lambda时,您需要按每100毫秒计费。如果你要将它发送给很多用户,并且每个用户都需要一些时间来下载它,那么它将花费你很多。
我建议您将它存储在S3(速度非常快),将S3链接发送到客户端,然后让客户端从S3下载。