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?
Currently, Aurora MySQL 2.01 does not support features added in Aurora MySQL version 1.16 and later.
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Updates.20180206.html
Aurora/MySQL 2.x is not a "later" version than Aurora/MySQL 1.x... they're two different release families. The native Lambda invocation functions are not available in 2.x (yet).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With