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

如何更改 Amazon Aurora DB 中的 character_set_server?

Amazon Aurora 快照还原真的很慢

Google Spanner vs Amazon Aurora: Who’ll Get the Enterprise?