When I attempt to grant the INVOKE LAMBDA privileges on my user it fails with a syntax error:
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
The lambda_sync and lambda_async functions are also not defined:
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
I've also tried using mysql.lambda_sync/mysql.lambda_async here.
According to the docs, these functions should be native to my version of aurora.
You can call the native functions lambda_sync and lambda_async when you use Aurora MySQL version 1.16 and later.
mysql> select AURORA_VERSION();
+------------------+
| AURORA_VERSION() |
+------------------+
| 2.01.1 |
+------------------+
1 row in set (0.10 sec)
The lambda_sync and lambda_async functions are built-in, native functions that invoke a Lambda function synchronously or asynchronously.
I've gone through the documentation, created an aurora instance using mysql 5.7 compatibility, creating a role on my db cluster with the lambda invoke permissions, and done half a dozen other things suggested in the docs. What am I missing?
_between words inGRANT INVOKE LAMBDA ....