首页 > 解决方案 > 自动化 SQL 脚本运行到 AWS redshift 环境(Dev、preprod 和 prod)

问题描述

我希望将 SQL(DML 和 DML)自动运行到 AWS redshift 集群中,即一旦有人将 SQL 文件合并到 S3 存储桶中,它就应该在配置的环境中运行,例如 dev、preprod 和 prod。有什么办法可以做到这一点吗?

我的调查表明 AWS codepipeline 是解决方案之一,但是我不确定如何连接到 Codepipeline 中的 Redshift 数据库?

另一种方法是使用 Lambda 函数,但我猜它有 5 分钟的限制,并且某些 DDL/DML 可能需要超过 5 分钟才能运行。

问候, 谢伊

标签: automationamazon-redshiftaws-codepipeline

解决方案


那里有很多选择,哪个最好取决于许多因素,包括您团队的技能和预算。我会让社区权衡所有可能性。

我想建议使用 AWS 无服务器生态系统来执行这些功能。首先,Lambda 限制现在是 15 分钟,但这并不重要。最重要的开发是 Redshift Data API,它允许您在 Lambda 中启动查询,并在稍后完成其他 Lambda 的检查。请参阅:https ://docs.aws.amazon.com/redshift/latest/mgmt/data-api.html

使用 Redshift Data API 对 Redshift 和 Step Functions 进行即时访问以编排 Lambda 函数,您可以创建低成本、轻量级的基础设施来执行各种集成和操作。这些可以包括根据您的需要触发其他工具/服务。这并不是所有情况下的最佳方法,但由于运行时间限制,不应排除基于 Lambda 的解决方案。


推荐阅读