Référence du modèle de mappage des résolveurs pour RDS - AWS AppSync

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Référence du modèle de mappage des résolveurs pour RDS

LeAWS AppSyncLes modèles de mappage des résolveurs RDS permettent aux développeurs d'envoyer des requêtes SQL vers une API de données pour Amazon Aurora sans serveur et retournent le résultat de ces requêtes.

Modèle de mappage de demande

Le modèle de mappage de demande RDS est relativement simple :

{ "version": "2018-05-29", "statements": [], "variableMap": {} }

Voici la représentation du schéma JSON du modèle de mappage de demande RDS, une fois qu'il est résolu :

{ "definitions": {}, "$schema": "https://json-schema.org/draft-07/schema#", "$id": "https://example.com/root.json", "type": "object", "title": "The Root Schema", "required": [ "version", "statements", "variableMap" ], "properties": { "version": { "$id": "#/properties/version", "type": "string", "title": "The Version Schema", "default": "", "examples": [ "2018-05-29" ], "enum": [ "2018-05-29" ], "pattern": "^(.*)$" }, "statements": { "$id": "#/properties/statements", "type": "array", "title": "The Statements Schema", "items": { "$id": "#/properties/statements/items", "type": "string", "title": "The Items Schema", "default": "", "examples": [ "SELECT * from BOOKS" ], "pattern": "^(.*)$" } }, "variableMap": { "$id": "#/properties/variableMap", "type": "object", "title": "The Variablemap Schema" } } }

Voici un exemple de modèle de mappage de demande avec une requête statique :

{ "version": "2018-05-29", "statements": [ "select title, isbn13 from BOOKS where author = 'Mark Twain'" ] }

Version

Commun à tous les modèles de mappage de demande, le champ de version définit la version utilisée par le modèle. Le champ de version est obligatoire. « 2018-05-29 » est la seule version prise en charge pour les modèles de mappage d'Amazon RDS.

"version": "2018-05-29"

Instructions

Le tableau de déclarations est un espace réservé pour les requêtes fournies du développeur. Actuellement, jusqu'à deux requêtes par modèle de mappage de demande sont prises en charge. La configuration suivante est possible :

{ "version": "2018-05-29", "statements": [ $util.toJson("insert into BOOKS VALUES ('$ctx.args.newBook.author', '$ctx.args.newBook.title', '$ctx.args.newBook.ISBN13')"), $util.toJson("select * from BOOKS WHERE isbn13 = '$ctx.args.newBook.isbn13'") ] }

AWS AppSyncprend en charge jusqu'à deux déclarations par modèle de mappage de demande.

VariableMap

VariableMap est un champ facultatif contenant des alias pouvant être utilisés pour rendre les déclarations SQL plus courtes et plus lisibles. Par exemple, la configuration suivante est possible :

{ "version": "2018-05-29", "statements": [ "insert into BOOKS VALUES (:AUTHOR, :TITLE, :ISBN13)", "select * from BOOKS WHERE isbn13 = :ISBN13" ], "variableMap": { ":AUTHOR": $util.toJson($ctx.args.newBook.author), ":TITLE": $util.toJson($ctx.args.newBook.title), ":ISBN13": $util.toJson($ctx.args.newBook.isbn13) } }

AWS AppSyncutilisera la valeur de mappage de variable pour construire les requêtes envoyées à l'API de données d'Amazon Aurora sans serveur. Par exemple, les deux requêtes quiAWS AppSyncsera envoyé à Amazon RDS (en supposant que“$ctx.args.newBook.author"='Mark Twain',"$ctx.args.newBook.title"='Adventures of Huckleberry Finn'et"$ctx.args.newBook.isbn13"='978-1948132817') :

INSERT INTO BOOKS VALUES ('Mark Twain', 'Adventures of Huckleberry Finn', '978-1948132817');

et

SELECT from BOOKS where isbn13='978-1948132817';