amazon-web-services - 在对 AWS 代理 Lambda 的 API Gateway 请求中,isBase64Encoded 始终为 false
问题描述
所以我有这个 API 网关,它在 POST 上命中一个使用 AWS-PROXY 集成的 lambda。
我的请求类如下所示:
public class ApiGatewayProxyRequest {
private String resource;
private String path;
private String httpMethod;
private Map<String, String> headers;
private Map<String, String> queryStringParameters;
private Map<String, String> pathParameters;
private Map<String, String> stageVariables;
private Context context;
private String body;
private boolean isBase64Encoded;
... snip
}
我正在通过 POST 请求发送文件的 API 网关,文件内容稍后在我的 APIGatewayProxyRequest 的正文字段中可用,这一切都很好。
问题是我希望二进制数据进行 Base64 编码,并且所有非二进制数据都保持原样。
所以我在我的 API Gateway 的 BinaryMediaTypes 中添加了多种二进制类型。这些文件(当正确设置 Content-Type 标头时)会导致文件在请求正文中正确编码为 base64。
现在我遇到的问题是:尽管 API 网关将文件正确编码为 base64,但请求中的 isBase64Encoded 字段永远不会为真,它总是被接收为假。
知道为什么吗?根据文档,此字段应包含一个布尔标志,以指示适用的请求 paylad 是否为 Base64 编码。
https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html
谢谢
解决方案
推荐阅读
- java - 预计至少有 1 个 bean 有资格作为 autowire 候选者。依赖注解
- python - 如何创建一个 2 字命令 discord.py?
- gitlab-ci - gitlab ci 中的 Maven/gradle release-plugin 身份验证
- javascript - 是否可以连续排队返回承诺的函数数组?
- java - findsecbugs 报告导入库代码段漏洞的原因
- vba - 提高在 MS-Access 中对大型数据集计算 7 天滚动平均值的查询的性能
- r - 用 Lasso 回归系数找到线性模型
- django - DoesNotExist at /api/users 标记匹配查询在 Django rest api 中不存在
- python - dask 安装错误:ImportError:无法导入名称“计算”
- mongodb - 在 Ubuntu 20.04 上安装 Mongodb 的问题