通过一次调用批量下载数据(DynamoDB)和图片(S3)

时间:2018-03-23 15:12:56

标签: amazon-web-services amazon-s3 amazon-dynamodb

我正在使用AWS进行一些测试,我想出了以下问题。

用例:   - API网关   - Lambda   - S3   - DynamoDB

如果我将S3对象的链接保存到DynamoDB中的项目中,那么现在是否可以一次下载所有内容?我的意思是,如果我扫描表格,我可以在同一个API调用中一起下载包含信息的对象吗?

这个想法是通过移动应用程序拨打电话,但现在我只是在检查是否可行,否则我可能需要重新评估设计。

2 个答案:

答案 0 :(得分:0)

直接答案:否

查看S3 Java SDK的以下链接,没有批处理获取对象的方法 https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/AmazonS3Client.html

如果您发现任何Github回购声称批量下载s3对象,他们肯定会迭代您传递给他们的所有路径。

答案 1 :(得分:0)

将对象保存在DynamoDB项目中是一个非常糟糕的想法(您将需要更多的写入/读取容量),一切都将最终花费您更多。您选择的设计是推荐的设计。

如果您确定100%的时间需要将数据存储为S3对象,则必须调用DynamoDb然后调用S3(可能多次) - 无法在单个服务中调用这两个服务API调用。

更好的设计(如果适用于您的特定情况)是fecth DynamoDB中的项目,然后预先签署这些S3网址,因此应用程序只能在需要时检索此数据。