首页 > 解决方案 > AWS Lambda 每天向 Redshift 查询一次

问题描述

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

我有一个项目要求我每 24 小时自动对 Redshift 中的一个表运行一次查询,并且可能会删除该查询结果中的一些列,并使用 RESTful API 在第 3 方站点上访问一些端点以进行进一步检查。

我对此有几个问题。

  1. 将 AWS Lambda (Python) 和 Redshift 用于此类任务是否是一种很好的使用模式?
  2. 我应该为 AWS Lambda 选择 Java、Python 还是 NodeJS?哪一个对查询 Redshift 有更好的支持?
  3. Lambda 和 Redshift 都在同一个 VPC 中,并且为出口 NAT 网关使用相同的私有子网,这是安全设置吗?
  4. 在此设置上共享任何示例代码吗?
  5. AWS Lambda 是否有一个每 24 小时触发一次的定期调度程序?还是仅仅基于事件?
  6. 由于应用程序数据库位于 DynamoDB 中,是否更高效、更轻松地设置 AWS Lambda 来查询 DynamoDB 以获取类似数据?

谢谢,山姆。

标签: javapythonnode.jsaws-lambdaamazon-redshift

解决方案


我将尝试以最好的意图回答您的问题:

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

推荐阅读