Amazon Aurora Postgres 是不是支持 lambda 调用?
Posted
技术标签:
【中文标题】Amazon Aurora Postgres 是不是支持 lambda 调用?【英文标题】:Does Amazon Aurora Postgres support lambda invocations?Amazon Aurora Postgres 是否支持 lambda 调用? 【发布时间】:2018-04-13 18:23:42 【问题描述】:根据我在 AWS 文档中收集到的信息,Aurora mysql 支持调用 lambda 函数作为触发器: http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Integrating.Lambda.html
没有针对 Postgres 的此类文档。 有没有办法从 Postgres 实例调用 lambda?
【问题讨论】:
自 2020 年 12 月起Aurora PostgreSQL supports Lambda invocations。文档:docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/… @Infinity 你应该写这个作为答案。 【参考方案1】:RDS 上的 PostgreSQL:
如果您在 RDS 上使用 PostgreSQL,那么目前它不支持调用 lambda 函数作为触发器。
Amazon Aurora(PostgreSQL 兼容性):
到目前为止,这还不支持调用 lambda 函数作为触发器。
EC2 上的 PostgreSQL:
但如果您在 EC2 上设置了 PostgreSQL,那么您可以利用 PL/Python language
创建您的用户定义函数和AWS Python SDK调用 Lambda 函数。
在下面的链接中,查看标题为 PostgreSQL setup
的部分,他们在其中提供了实现相同目标的详细步骤。
AWS Blog Link:
Set up a SQL-to-Lambda interface
GitHub Link:
aws-lambda-rdbms-integration
【讨论】:
问题不是关于 RDS 上的标准 PostgreSQL,而是关于 RDS 上的 Amazon Aurora(兼容 PostgreSQL)。 @MarkB:第一段回答了这个问题。其余的只是一个解决方法的建议 Amazon Aurora Postgres 现在是否支持 lambda 调用? @Madeo 你有链接/参考说明如何创建触发器和函数来调用 lambda 函数吗? @DanielHair 真的很抱歉,但我错了。不幸的是,出于某种未知原因,Postgres 的 RDS 不允许您运行 plpython 扩展,这基本上无法向 lambda 发出请求。您也许可以使用 plperl 之一,但由于您无法安装任何其他软件包,您将不得不在用户空间的最低级别工作。但是我找到了另一种解决方案,您可以使用 LISTEN NOTIFY,但您需要一个始终监听的进程,这意味着您需要部署一个 EC2 或 Fargate 实例,以便 24/7 监听通知通道上的更新。 【参考方案2】:自 2020 年 12 月起,Aurora PostgreSQL 支持 Lambda invocations。文档可以在here找到。
【讨论】:
我在尝试从 Postgres 调用 lambda 时总是超时。以上是关于Amazon Aurora Postgres 是不是支持 lambda 调用?的主要内容,如果未能解决你的问题,请参考以下文章
开箱-10分钟学会使用 Amazon Aurora Serverless构建无服务器应用程序
是否可以从 Amazon Aurora 迁移回 Amazon RDS 中的原生 MySQL?
使用 SQLAlchemy 连接到 Amazon Aurora