我試圖觸發添加到表在亞馬遜極光但是當我運行以下CREATE TRIGGER
命令沒有反應:添加觸發器調用亞馬遜極光LAMBDA功能無法正常工作
delimiter $$
CREATE TRIGGER trigger_lambda_function_on_special_row_update
AFTER UPDATE ON example_table
FOR EACH ROW
BEGIN
IF NEW.special_id = 12345 THEN
CALL mysql.lambda_async("arn:aws:lambda:[region]:[account]:function:myfunction", CONCAT('{"param":"', NEW.id, '"}'));
END IF;
END;$$
delimiter ;
通過「什麼也沒發生」我的意思是,當我運行CREATE TRIGGER
數據庫仍然響應 - 我可以按Ctrl + C中斷查詢 - 但查詢只是坐在那裏什麼都不做,直到我終於得到響應MySQL has gone away
。
服用mysql.lambda_async
出觸發和運行它是好的。我可以看到AWS Lambda上的調用,所以我知道這部分工作正常。
我對Aurora上的觸發器做了一些閱讀,如果您想使用觸發器,我可以看到有些人提到需要在AWS控制檯「參數組」中啓用log_bin_trust_function_creators
,但這僅適用於mysql5 .5+參數組系列。如果你想調用lambda函數,此選項只有aurora5.6參數家庭組中提供。看起來你不能這樣做。
無論其!你必須能夠做到這一點;有大量的例子擺在那裏,甚至從亞馬遜自己,在這似乎是完全有可能的:
http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Lambda.html(參見:例子:調用AWS lambda函數從觸發發佈事件)
所以我困惑。其他人是否使這個過程有效?