如何使用本地同步函数从Amazon Aurora MySQL DB集群调用Lambda函数



我创建了一个Lambda函数,该函数将接受用户名和电子邮件,并将其发布到API。然后,我创建了一个Aurora MySQL DB实例,该实例将调用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函数一次。Aurora MySQL本机函数可以实现这一点。然而,我尝试过不使用mysql部分——使用lambda_sync,但总是收到相同的错误:MYSQL PROCEDURE mysql.lambda_sync does not existMYSQL PROCEDURE lambda_sync does not exist。有人有这方面的经验吗?

提前感谢您的支持。

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

根据AWS的说法,对于截至2018年11月19日面临相同问题的所有人,在Aurora mysql 5.7(Aurora MySQL2.*版本(中创建的DB集群不支持mysql.lambda_sync过程。在Aurora MySQL 2.*版本中,不支持使用本机函数技术以及"同步"lambda过程。他们已经修改了文件,但仍然令人困惑。然而,在一天结束时,我不得不使用对mysql.lambda_async的呼叫。

最新更新