AWS AppSync referensi template pemetaan resolver untuk RDS - AWS AppSync

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

AWS AppSync referensi template pemetaan resolver untuk RDS

Templat pemetaan AWS AppSync RDS resolver memungkinkan pengembang mengirim SQL kueri ke Data untuk Amazon API Aurora Tanpa Server dan mendapatkan kembali hasil kueri ini.

Meminta template pemetaan

Template pemetaan RDS permintaan cukup sederhana:

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

Berikut adalah representasi JSON skema dari template pemetaan RDS permintaan, setelah diselesaikan.

{ "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" } } }

Berikut ini adalah contoh template pemetaan permintaan dengan query statis:

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

Versi

Umum untuk semua template pemetaan permintaan, bidang versi mendefinisikan versi yang digunakan template. Bidang versi diperlukan. Nilai “2018-05-29" adalah satu-satunya versi yang didukung untuk templat pemetaan AmazonRDS.

"version": "2018-05-29"

Pernyataan dan VariableMap

Array pernyataan adalah placeholder untuk kueri yang disediakan pengembang. Saat ini, hingga dua kueri per permintaan template pemetaan didukung. variableMapIni adalah bidang opsional yang berisi alias yang dapat digunakan untuk membuat SQL pernyataan lebih pendek dan lebih mudah dibaca. Misalnya, hal berikut ini dimungkinkan:

{ "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 AppSync akan menggunakan nilai peta variabel untuk membuat SqlParameterizedkueri yang akan dikirim ke Data Tanpa Server Amazon Aurora. API SQLPernyataan dieksekusi dengan parameter yang disediakan dalam peta variabel, yang menghilangkan risiko SQL injeksi.

VariableTypeHintMap

variableTypeHintMapIni adalah bidang opsional yang berisi tipe alias yang dapat digunakan untuk mengirim petunjuk tipe SQLparameter. Petunjuk jenis ini menghindari casting eksplisit dalam SQL pernyataan, membuatnya lebih pendek. Misalnya, hal berikut ini dimungkinkan:

{ "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 AppSync akan menggunakan nilai peta variabel untuk membuat kueri yang dikirim ke Data Tanpa Server Amazon Aurora. API Ini juga menggunakan variableTypeHintMap data dan mengirimkan informasi tipe keRDS. RDS-didukung typeHints dapat ditemukan di sini.