S3存储桶可以生成自己的对象密钥名称吗?

时间:2016-06-03 06:57:57

标签: amazon-web-services amazon-s3 aws-api-gateway

我将Amazon API Gateway配置为S3存储桶的代理。理想情况下,我希望客户端能够将文件发布到存储桶,让S3为其分配文件名,然后在响应中返回该名称。我不想让客户端能够指定文件名。这可能吗?设置代理的文档根本没有提到POST,我发现的其他POST示例仍然要求客户端指定密钥名称。

3 个答案:

答案 0 :(得分:2)

不,S3中不支持自动文件名生成。

答案 1 :(得分:1)

如果你通过Lambda,你可以插入你想要的任何自定义逻辑,包括生成文件名。然后,Lambda函数可以返回文件名,您可以将其映射到API网关响应。

答案 2 :(得分:1)

S3无法分配名称,但在API网关映射模板中,您可以使用$ context对象中的任何数据来构造名称。

e.g。 $ context.requestId将为您的S3密钥创建一个唯一的密钥名称。