【问题标题】: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?

【问题讨论】:

标签: postgresql amazon-web-services aws-lambda amazon-aurora


【解决方案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 时总是超时。
猜你喜欢
  • 2015-10-26
  • 1970-01-01
  • 1970-01-01
  • 2019-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多