RDS服务触发Lambda

Roo*_*mar 10 aws-lambda aws-rds

我是AWS的新手,我正在寻找一种从RDS服务触发Lambda的方法,特别是MYSql.有没有办法实现它?如果没有,有没有其他方法来实现相同的目标?

小智 9

自 2022 年 3 月 15 日起,您只能从 RDS 中的 PostgreSQL 引擎调用 AWS Lambda 函数,而不能从 MySQL 引擎调用。文档如下:

  1. 从 RDS for PostgreSQL 数据库实例调用 AWS Lambda 函数

您还可以从 Aurora 中的 MySQL 或 PostgreSQL 引擎调用 AWS Lambda 函数(注意:Aurora 是与 RDS 不同的 AWS 服务)。下面提供了两者的文档:

  1. 从 Aurora PostgreSQL 数据库集群调用 AWS Lambda 函数
  2. 从 Amazon Aurora MySQL 数据库集群调用 Lambda 函数

  • 如果您对某个答案投反对票,请说明原因。 (4认同)

gar*_*aat 8

无法从RDS直接触发Lambda函数,但您可以将SNS主题与RDS实例关联以进行通知(请参阅),然后将该SNS主题作为事件源添加到具有相同效果的Lambda函数. 本文档介绍了RDS中可用的事件类别.

  • 感谢您的回答。根据 RDS 事件列表(在 AWS 文档中),如果 RDS 数据库表中的数据已更改,则似乎无法调用 Lambda。我正在寻找类似于 Dynamo DBStreams 的东西。有谁知道是否可以为 RDS MySQL 实例实现类似 DBStreams 的功能? (2认同)
  • 嘿@Chris,如果RDS表中的数据发生变化,你能弄清楚如何调用lambda函数吗? (2认同)

Jim*_*rts 7

如果您正在使用AWS Aurora,则可以通过调用该mysql.lambda_async过程来调用AWS Lambda函数.

例:

CALL mysql.lambda_async (
  lambda_function_ARN,
  lambda_function_input
)
Run Code Online (Sandbox Code Playgroud)

lambda_function_ARN

要调用的Lambda函数的Amazon资源名称(ARN).

lambda_function_input

JSON格式的输入字符串,用于调用的Lambda函数.

更多详情请访问:http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Lambda.html

  • RDS Postgres有类似的功能吗?谢谢 (2认同)