我创建了一个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 exist
或MYSQL PROCEDURE lambda_sync does not exist
。有人对此有任何经验吗?
预先感谢您的支持。
答案 0 :(得分:1)
使用SELECT
或DO
调用本机函数-CALL
用于存储过程。
答案 1 :(得分:0)
对于根据2018年11月19日面临相同问题的每个人,在Aurora MySQL 5.7(Aurora MySQL 2. *版本)中创建的数据库集群不支持mysql.lambda_sync过程。在Aurora MySQL 2. *版本中,不支持使用本机函数技术以及“同步” lambda过程。他们修改了文档,但仍然令人困惑。但是,到最后,我不得不使用对mysql.lambda_async
的调用。