AWS Lambda每天查询一次Redshift

时间:2020-07-24 06:03:29

标签: java python node.js aws-lambda amazon-redshift

我对AWS生态系统还很陌生,尤其是在数据方面。

我有一个项目,要求我每24小时自动对Redshift中的一个表运行查询,并且也许删除该查询结果中的几列,并使用RESTful API击中第三方网站上的某些端点以进行进一步检查

我对此有一些疑问。

  1. 使用AWS Lambda(Python)和 是否需要进行红移?
  2. 我应该选择Java vs Python vs 适用于AWS Lambda的NodeJS?哪个对查询有更好的支持 Redshift?
  3. Lambda和Redshift都将位于同一VPC中,并且 对出口NAT网关使用相同的专用子网,这是 安全设置?
  4. 要在此设置上共享的示例代码吗?
  5. AWS Lambda是否有定期调度程序来每24小时触发一次?还是仅仅是基于事件?
  6. 由于应用程序数据库位于DynamoDB中,因此设置AWS Lambda来查询DynamoDB以获得类似数据是否更高效,更容易?

谢谢, 山姆。

2 个答案:

答案 0 :(得分:2)

我将尽力回答您的问题:

  1. 是的,没有理由不这样做。
  2. 这完全取决于您的偏好。所有语言都为您的用例提供支持。
  3. 这很好。在使用IAM管理更多访问权限时,您只需要确保正确监控了来自lambda函数的出口流量。
  4. 那里有很多东西。只需拥有look
  5. 您可以使用CRON字符串设置CloudWatch规则,该规则将在需要时调用您的函数。此外,您还可以为功能设置许多其他触发器,例如DynamoDB流,CloudWatch日志事件等等。
  6. 如果您只想定期查询以收集一些数据,则实际存储数据的位置没有什么区别。

答案 1 :(得分:0)

通常您会发现许多 AWS 工具都能够解决相同的问题。 正确的选择取决于您的优先事项。你在寻找什么成本最低?效率?方便吗?

我在下面回答您的问题:

将 AWS Lambda (Python) 和 Redshift 用于此类任务是否是一种好的使用模式? 好的,可以。 Redshift 通常是一项非常昂贵的服务,您确定这里需要 Redshift 吗?

我应该为 AWS Lambda 选择 Java、Python 还是 NodeJS?哪个对查询 Redshift 的支持更好?

如果您想避免冷启动,Java 将需要每 5 分钟左右调用一次事件桥接。除此之外,这真的取决于你。

Lambda 和 Redshift 将在同一个 VPC 中,并且对出口 NAT 网关使用相同的私有子网,这种设置安全吗? 没关系,但是 NAT 网关又很贵。根据您尝试解决的问题,可能会有一些变通办法。

是否有任何示例代码可以分享此设置? https://aws.amazon.com/blogs/big-data/building-an-event-driven-application-with-aws-lambda-and-the-amazon-redshift-data-api/

AWS Lambda 是否有定期调度程序每 24 小时触发一次?还是仅仅基于事件? 是的,您可以使用 cron 或类似的工具使用事件桥对 lambda 触发器进行编程。

既然应用程序数据库在 DynamoDB 中,那么设置 AWS Lambda 来查询 DynamoDB 的类似数据是否更高效、更容易? 我对最后一个问题有点困惑,但通常很容易从 lambda 查询 Dynamo。

编辑:错别字

相关问题