自动化 SQL 脚本运行到 AWS redshift 环境(Dev、preprod 和 prod)
Posted
技术标签:
【中文标题】自动化 SQL 脚本运行到 AWS redshift 环境(Dev、preprod 和 prod)【英文标题】:Automating SQL scripts run into AWS redshift environments (Dev, preprod & prod) 【发布时间】:2021-05-24 13:43:29 【问题描述】:我希望将 SQL(DML 和 DML)自动运行到 AWS redshift 集群中,即一旦有人将 SQL 文件合并到 S3 存储桶中,它就应该在配置的环境中运行,例如 dev、preprod 和 prod。 有什么办法可以做到吗?
我的调查表明 AWS codepipeline 是解决方案之一,但是我不确定如何连接到 Codepipeline 中的 Redshift 数据库?
另一种方法是使用 Lambda 函数,但我猜它有 5 分钟的限制,并且某些 DDL/DML 可能需要超过 5 分钟才能运行。
问候, 谢伊
【问题讨论】:
【参考方案1】:有很多选择,哪一个最好取决于许多因素,包括您团队的技能和预算。我会让社区权衡所有可能性。
我想建议使用 AWS 无服务器生态系统来执行这些功能。首先,Lambda 限制现在是 15 分钟,但这并不重要。最重要的开发是 Redshift Data API,它允许您在 Lambda 中启动查询,并在稍后完成其他 Lambda 的检查。见:https://docs.aws.amazon.com/redshift/latest/mgmt/data-api.html
使用 Redshift 数据 API 对 Redshift 和 Step Functions 进行即时访问以编排 Lambda 函数,您可以创建低成本、轻量级的基础架构来执行各种集成和操作。这些可以包括根据您的需要触发其他工具/服务。这不是所有情况下的最佳方法,但由于运行时间限制,不应排除基于 Lambda 的解决方案。
【讨论】:
以上是关于自动化 SQL 脚本运行到 AWS redshift 环境(Dev、preprod 和 prod)的主要内容,如果未能解决你的问题,请参考以下文章