Menggunakan resolver lokal di AWS AppSync - AWS AppSync

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

Menggunakan resolver lokal di AWS AppSync

catatan

Kami sekarang terutama mendukung runtime APPSYNC _JS dan dokumentasinya. Harap pertimbangkan untuk menggunakan runtime APPSYNC _JS dan panduannya di sini.

AWS AppSync memungkinkan Anda menggunakan sumber data yang didukung (AWS Lambda, Amazon DynamoDB, atau OpenSearch Amazon Service) untuk melakukan berbagai operasi. Namun, dalam skenario tertentu, panggilan ke sumber data yang didukung mungkin tidak diperlukan.

Di sinilah resolver lokal berguna. Alih-alih memanggil sumber data jarak jauh, resolver lokal hanya akan meneruskan hasil template pemetaan permintaan ke template pemetaan respons. Resolusi lapangan tidak akan pergi AWS AppSync.

Resolver lokal berguna untuk beberapa kasus penggunaan. Kasus penggunaan yang paling populer adalah mempublikasikan notifikasi tanpa memicu panggilan sumber data. Untuk mendemonstrasikan kasus penggunaan ini, mari buat aplikasi paging; di mana pengguna dapat saling berhalaman. Contoh ini memanfaatkan Langganan, jadi jika Anda tidak terbiasa dengan Langganan, Anda dapat mengikuti tutorial Data Waktu Nyata.

Buat Aplikasi Paging

Dalam aplikasi paging kami, klien dapat berlangganan kotak masuk, dan mengirim halaman ke klien lain. Setiap halaman berisi pesan. Berikut adalah skema:

schema { query: Query mutation: Mutation subscription: Subscription } type Subscription { inbox(to: String!): Page @aws_subscribe(mutations: ["page"]) } type Mutation { page(body: String!, to: String!): Page! } type Page { from: String to: String! body: String! sentAt: String! } type Query { me: String }

Mari kita lampirkan resolver di lapangan. Mutation.page Di panel Schema, klik Lampirkan Resolver di sebelah definisi bidang di panel kanan. Buat sumber data baru tipe None dan beri nama PageDataSource.

Untuk template pemetaan permintaan, masukkan:

{ "version": "2017-02-28", "payload": { "body": $util.toJson($context.arguments.body), "from": $util.toJson($context.identity.username), "to": $util.toJson($context.arguments.to), "sentAt": "$util.time.nowISO8601()" } }

Dan untuk template pemetaan respons, pilih default Teruskan hasilnya. Simpan resolver Anda. Aplikasi Anda sekarang siap, mari kita halaman!

Kirim dan berlangganan halaman

Agar klien dapat menerima halaman, mereka harus terlebih dahulu berlangganan kotak masuk.

Di panel Queries mari kita jalankan langganan: inbox

subscription Inbox { inbox(to: "Nadia") { body to from sentAt } }

Nadia akan menerima halaman setiap kali Mutation.page mutasi dipanggil. Mari kita panggil mutasi dengan mengeksekusi mutasi:

mutation Page { page(to: "Nadia", body: "Hello, World!") { body to from sentAt } }

Kami baru saja mendemonstrasikan penggunaan resolver lokal, dengan mengirim Halaman dan menerimanya tanpa pergi. AWS AppSync