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. variableMap
Ini 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
variableTypeHintMap
Ini 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.