【发布时间】:2015-11-29 09:07:18
【问题描述】:
我是 AWS 新手,我正在寻找一种从 RDS 服务(尤其是 MYSql)触发 Lambda 的方法。有没有办法实现它? 如果没有,还有其他方法可以达到同样的效果吗?
【问题讨论】:
标签: aws-lambda aws-rds
我是 AWS 新手,我正在寻找一种从 RDS 服务(尤其是 MYSql)触发 Lambda 的方法。有没有办法实现它? 如果没有,还有其他方法可以达到同样的效果吗?
【问题讨论】:
标签: aws-lambda aws-rds
现在有多种方法可以从 AWS RDS 和 AWS MySQL 触发 Lambda,但支持因数据库引擎而异。如果您真的对 AWS Lambda 处理的 RDS 事件消息感到好奇,请参阅此答案的以下编辑部分。
编辑: 如果您正在寻找一种方法让 AWS Lambda 响应Event messages emitted by AWS RDS(关于集群状态而不是数据库数据事件),请read these docs。 注意: 同样,这与 AWS Lambda 调用和响应数据库表/记录上的数据操作事件无关。
【讨论】:
如果您使用的是 AWS Aurora,则可以通过调用 mysql.lambda_async 过程来调用 AWS Lambda 函数。
例子:
CALL mysql.lambda_async (
lambda_function_ARN,
lambda_function_input
)
lambda_function_ARN
要调用的 Lambda 函数的 Amazon 资源名称 (ARN)。
lambda_function_input
调用的 Lambda 函数的 JSON 格式的输入字符串。
编辑: 更多详情请点击此处:Invoking a Lambda function from an Amazon Aurora MySQL DB cluster
【讨论】:
自 2022 年 3 月 15 日起,您只能从 RDS 中的 PostgreSQL 引擎调用 AWS Lambda 函数,而不能从 MySQL 引擎调用。文档如下:
您还可以从 Aurora 中的 MySQL 或 PostgreSQL 引擎调用 AWS Lambda 函数(注意:Aurora 不同于 RDS 的 AWS 服务)。两者的文档如下:
【讨论】: