AWS - 从/向AWS存储传输和检索大规模数据的最佳方式

时间:2018-05-23 05:51:58

标签: amazon-web-services amazon-s3 redis aws-lambda amazon-dynamodb

我有一个在中间使用AWS的Ionic移动混合应用程序 像API网关trigerring lamdba函数的简单post,get requests。

我想在AWS上存储大型jsons(大约5K项),以便可以轻松地将其存储在应用程序的本地存储中。

我打算创建一个ETL cron作业,为此目的将数据从我的服务器上传到AWS

AWS提供的服务很少,比如可以用于此场景的Redis,DynamoDB,但我对这可以实现的方法感到困惑。

我想到并阅读了几个选项:

  1. API网关 - > DynamoDB
  2. API网关 - > lambda函数 - > DynamoDB
  3. API网关 - > lambda函数 - > Redis的
  4. 我也读过S3和pipline,但我不确定它们是否合适。

    请告知。

    由于

2 个答案:

答案 0 :(得分:1)

如果我正确理解您的问题,您希望将 JSON文件数据从您的服务器放入AWS,以便您的移动客户端(使用Lambda等...)可以更快地访问该数据< / p>

在这种情况下,AWS S3应该足够(假设您知道将向您的客户端提供什么JSON文件,并且您不必查看/查询它的内容)。它应该是这样的:

[ Server ] ==[Whatever]==> [ AWS S3 ]

[ AWS S3 ] <==[Lambda]==> [ Mobile client ]

为此[无论如何],请查看Amazon's document。可以sync可以提供帮助

编辑:在阅读您的评论后,我意识到您的目的是将当前在您的oracle DB上的数据放入AWS上的基于JSON的数据库中。在这种情况下,DynamoDB是最佳选择。你应该遵循@Haresh Chhelana的解决方案并编辑你的问题以便更清楚

如果在迁移到DynamoDB之前不需要高级数据转换,也可以使用DMS with DynamoDB as the target

答案 1 :(得分:1)

首先,Redis最适合您的要求。将API网关与DynamoDB或Lambda一起使用将满足您的要求。

<强> 1。 API网关 - &gt; DynamoDB :如果您只是尝试将JSON数据存储到不带

的DynamoDB中,请选择

<强> 2。 API网关 - &gt; Lambda - &gt; DynamoDB :选择是否需要在存储到DynamoDB之前对JSON数据执行某些操作或修改。

建议:选择第一种方法(API网关 - &gt; DynamoDB),使用API​​网关POST请求将商店JSON数据存储到DynamoDB中,并根据查询检索JSON数据使用API​​网关GET请求。

如何实施第一种方法遵循此亚马逊博客:https://aws.amazon.com/blogs/compute/using-amazon-api-gateway-as-a-proxy-for-dynamodb/