如何使用本机同步功能从Amazon Aurora MySQL数据库集群调用Lambda函数

时间:2018-11-16 16:59:26

标签: mysql amazon-web-services aws-lambda amazon-rds-aurora

我创建了一个Lambda函数,该函数将使用用户名和电子邮件并将其发布到API。然后,我创建了一个Aurora MySQL数据库实例,该实例将调用该Lambda函数。为了调用它,我创建了一个触发器:

Time: AFTER
Event: Insert
Definition: BEGIN
CALL mysql.lambda_async("arn:aws:lambda:eu-west-2:<id-number>:function:user-to-API", CONCAT ('{"user_first_name": "', NEW.first_name, '", "user_email": "', NEW.email, '"}')); 
END
Definer: master_user@%

但是,我想同步执行此操作,仅触发一次lambda函数。 with an Aurora MySQL Native Function是可能的。但是,我尝试了没有mysql部分的情况-使用lambda_sync并始终收到相同的错误:MYSQL PROCEDURE mysql.lambda_sync does not existMYSQL PROCEDURE lambda_sync does not exist。有人对此有任何经验吗?

预先感谢您的支持。

2 个答案:

答案 0 :(得分:1)

使用SELECTDO调用本机函数-CALL用于存储过程。

答案 1 :(得分:0)

对于根据2018年11月19日面临相同问题的每个人,在Aurora MySQL 5.7(Aurora MySQL 2. *版本)中创建的数据库集群不支持mysql.lambda_sync过程。在Aurora MySQL 2. *版本中,不支持使用本机函数技术以及“同步” lambda过程。他们修改了文档,但仍然令人困惑。但是,到最后,我不得不使用对mysql.lambda_async的调用。