如何在Aurora中启用lambda_sync / lambda_async函数

fun*_*oid 3 mysql amazon-web-services aws-lambda aurora amazon-aurora

当我尝试向用户授予INVOKE LAMBDA特权时,它失败并出现语法错误:

mysql> GRANT INVOKE LAMBDA ON mydb.* TO 'myuser'@'myaddress';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INVOKE LAMBDA ON mydb.* TO 'myuser'@'myaddress'' at line 1
Run Code Online (Sandbox Code Playgroud)

也未定义lambda_sync和lambda_async函数:

mysql> select lambda_sync("arn:aws:lambda:ap-southeast-1:xxxxxxxxxxx:function:MyLambda", '{"operation":"ping"}');
ERROR 1305 (42000): FUNCTION mydb.lambda_sync does not exist
Run Code Online (Sandbox Code Playgroud)

我也尝试过在这里使用mysql.lambda_sync / mysql.lambda_async。

根据文档,这些功能应该是我的aurora版本所固有的。

使用Aurora MySQL 1.16和更高版本时,可以调用本机函数lambda_sync和lambda_async。

mysql> select AURORA_VERSION();
+------------------+
| AURORA_VERSION() |
+------------------+
| 2.01.1           |
+------------------+
1 row in set (0.10 sec)
Run Code Online (Sandbox Code Playgroud)

lambda_sync和lambda_async函数是内置的本机函数,可同步或异步调用Lambda函数。

我仔细阅读了文档,使用mysql 5.7兼容性创建了一个aurora实例,在具有lambda调用权限的数据库群集上创建了一个角色,并完成了文档中建议的其他六件事。我想念什么?

Mic*_*bot 5

当前,Aurora MySQL 2.01不支持在Aurora MySQL 1.16和更高版本中添加的功能。

https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Updates.20180206.html

Aurora / MySQL 2.x不是比Aurora / MySQL 1.x更高的版本。它们是两个不同的发行版家族。本机Lambda调用功能在2.x中尚不可用。