

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
<a name="tutorial-local-resolvers"></a>

**catatan**  
Kami sekarang terutama mendukung runtime APPSYNC\$1JS dan dokumentasinya. [Harap pertimbangkan untuk menggunakan runtime APPSYNC\$1JS dan panduannya di sini.](https://docs.aws.amazon.com/appsync/latest/devguide/tutorials-js.html)

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](aws-appsync-real-time-data.md).

## Buat Aplikasi Paging
<a name="create-the-paging-application"></a>

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\$1

## Kirim dan berlangganan halaman
<a name="send-and-subscribe-to-pages"></a>

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