Referenz zur Resolver-Mapping-Vorlage für RDS - AWS AppSync

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Referenz zur Resolver-Mapping-Vorlage für RDS

Die AWS AppSync RDS-Resolver-Mapping-Vorlagen ermöglichen es Entwicklern, SQL-Abfragen an eine Daten-API für Amazon Aurora Serverless zu senden und das Ergebnis dieser Abfragen zurückzuerhalten.

Vorlage für die Zuordnung anfordern

Die RDS-Anforderungszuweisungsvorlage ist recht einfach:

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

Hier finden Sie die JSON-Schema-Darstellung der Zuweisungsvorlage für RDS-Anforderungen, nachdem sie einmal aufgelöst wurde.

{ "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" }, "variableTypeHintMap": { "$id": "#/properties/variableTypeHintMap", "type": "object", "title": "The variableTypeHintMap Schema" } } }

Im Folgenden finden Sie ein Beispiel für die Vorlage zur Anforderungszuweisung mit einer statischen Abfrage:

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

Version

Das Versionsfeld, das allen Vorlagen für die Anforderungszuweisung gemeinsam ist, definiert die Version, die die Vorlage verwendet. Das Versionsfeld ist erforderlich. Der Wert „2018-05-29“ ist die einzige Version, die für die Amazon RDS-Mapping-Vorlagen unterstützt wird.

"version": "2018-05-29"

Aussagen und VariableMap

Das Statements Array ist ein Platzhalter für die vom Entwickler bereitgestellten Abfragen. Derzeit werden bis zu zwei Abfragen pro Vorlage für die Anforderungszuweisung unterstützt. Das variableMap ist ein optionales Feld, das Aliase enthält, die verwendet werden können, um die SQL-Anweisungen kürzer und lesbarer zu machen. Zum Beispiel ist Folgendes möglich:

{ "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 AppSyncverwendet die Variablenzuordnungswerte, um die SqlParameterizedAbfragen zu erstellen, die an die Amazon Aurora Serverless Data API gesendet werden. Die SQL-Anweisungen werden mit den in der Variablenzuordnung bereitgestellten Parametern ausgeführt, wodurch das Risiko einer SQL-Injection vermieden wird.

VariableTypeHintMap

Das variableTypeHintMap ist ein optionales Feld, das Alias-Typen enthält und zum Senden von Hinweisen auf SQL-Parametertypen verwendet werden kann. Diese Typhinweise vermeiden eine explizite Umwandlung in den SQL-Anweisungen, wodurch sie kürzer werden. Zum Beispiel ist Folgendes möglich:

{ "version": "2018-05-29", "statements": [ "insert into LOGINDATA VALUES (:ID, :TIME)", "select * from LOGINDATA WHERE id = :ID" ], "variableMap": { ":ID": $util.toJson($ctx.args.id), ":TIME": $util.toJson($ctx.args.time) }, "variableTypeHintMap": { ":id": "UUID", ":time": "TIME" } }

AWS AppSyncverwendet den Variablenzuordnungswert, um die Abfragen zu erstellen, die an die Amazon Aurora Serverless Data API gesendet werden. Es verwendet auch die variableTypeHintMap Daten und sendet die Informationen des Typs an RDS. RDS-Unterstützung typeHints finden Sie hier.