我将Amazon API Gateway配置为S3存储桶的代理。理想情况下,我希望客户端能够将文件发布到存储桶,让S3为其分配文件名,然后在响应中返回该名称。我不想让客户端能够指定文件名。这可能吗?设置代理的文档根本没有提到POST,我发现的其他POST示例仍然要求客户端指定密钥名称。
答案 0 :(得分:2)
不,S3中不支持自动文件名生成。
答案 1 :(得分:1)
如果你通过Lambda,你可以插入你想要的任何自定义逻辑,包括生成文件名。然后,Lambda函数可以返回文件名,您可以将其映射到API网关响应。
答案 2 :(得分:1)
S3无法分配名称,但在API网关映射模板中,您可以使用$ context对象中的任何数据来构造名称。
e.g。 $ context.requestId将为您的S3密钥创建一个唯一的密钥名称。