We're upgrading our serverless version 1 MYSQL 5.7 database to Serverless v2 MySQL 8.0 (Aurora 3) as documented here and here. Our current AppSync graphql API uses the RDS resolvers to access the database and call stored procedures through the Data API and it works wonderfully. In our test upgrade we've found that the Aurora 3 Serverless 2 version of the database (although available to standard connection via MySQL WorkBench) has deprecated the Data API.
So any AppSync resolvers that follow the recommended RDS AppSync pattern in the Aurora Resolver tutorial or the RDS template mapping reference won't work and give the following error in CloudWatch:
"error": {
"message": "RDSHttp:{\"message\":\"httpendpoint not enabled."}",
"type": "400 Bad Request"
},
Using aws rds modify-db-cluster --db-cluster-identifier <clusterid> --enable-http-endpoint
has no effect.
The release notice for Aurora Serverless v2 gives RDS proxy as one of the benefits but I can't see a way to integrate that into AppSync without writing a lot of additional lambda. Can anyone tell us how to use v2 with AppSync RDS resolvers?