Meluncurkan skema di konsol AWS AppSync - AWS AppSync

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

Meluncurkan skema di konsol AWS AppSync

Dalam contoh ini, Anda akan membuat sebuah Todo API yang memungkinkan pengguna untuk membuat Todo item untuk pengingat tugas sehari-hari seperti Finish task atau Pick up groceries. Ini API akan menunjukkan bagaimana menggunakan operasi GraphQL di mana status tetap ada dalam tabel DynamoDB.

Secara konseptual, ada tiga langkah utama untuk membuat API GraphQL pertama Anda. Anda harus menentukan skema (tipe dan bidang), melampirkan sumber data Anda ke bidang Anda, lalu menulis resolver yang menangani logika bisnis. Namun, pengalaman konsol mengubah urutan ini. Kita akan mulai dengan mendefinisikan bagaimana kita ingin sumber data kita berinteraksi dengan skema kita, kemudian mendefinisikan skema dan resolver nanti.

Untuk membuat GraphQL API
  1. Masuk ke AWS Management Console dan buka AppSync konsol.

  2. Di Dasbor, pilih Buat API.

  3. Sementara APIsGraphQL dipilih, pilih Desain dari awal. Lalu, pilih Selanjutnya.

  4. Untuk APInama, ubah nama yang telah diisi sebelumnya menjadiTodo API, lalu pilih Berikutnya.

    catatan

    Ada juga opsi lain yang ada di sini, tetapi kami tidak akan menggunakannya untuk contoh ini.

  5. Di bagian Tentukan sumber daya GraphQL, lakukan hal berikut:

    1. Pilih Buat tipe yang didukung oleh tabel DynamoDB sekarang.

      catatan

      Ini berarti kita akan membuat tabel DynamoDB baru untuk melampirkan sebagai sumber data.

    2. Di bidang Nama Model, masukkanTodo.

      catatan

      Persyaratan pertama kami adalah mendefinisikan skema kami. Nama Model ini akan menjadi nama tipe, jadi yang sebenarnya Anda lakukan adalah membuat type panggilan Todo yang akan ada dalam skema:

      type Todo {}
    3. Di bawah Fields, lakukan hal berikut:

      1. Buat bidang bernamaid, dengan tipeID, dan wajib diatur keYes.

        catatan

        Ini adalah bidang yang akan ada dalam lingkup Todo tipe Anda. Nama bidang Anda di sini akan dipanggil id dengan jenisID!:

        type Todo { id: ID! }

        AWS AppSync mendukung beberapa nilai skalar untuk kasus penggunaan yang berbeda.

      2. Menggunakan Tambahkan bidang baru, buat empat bidang tambahan dengan Name nilai yang disetel kename,when,where, dandescription. TypeNilai-nilai mereka akanString, Array dan Required nilai dan keduanya akan diaturNo. Itu akan terlihat seperti ini:

        Model information form showing fields for a Todo model with ID, name, when, where, and description.
        catatan

        Tipe lengkap dan bidangnya akan terlihat seperti ini:

        type Todo { id: ID! name: String when: String where: String description: String }

        Karena kami membuat skema menggunakan model yang telah ditentukan ini, itu juga akan diisi dengan beberapa mutasi boilerplate berdasarkan tipe seperticreate,delete, dan update untuk membantu Anda mengisi sumber data Anda dengan mudah.

    4. Di bawah konfigurasi tabel model, masukkan nama tabel, sepertiTodoAPITable. Atur Primary Key keid.

      catatan

      Kami pada dasarnya membuat tabel DynamoDB baru yang disebut TodoAPITable yang akan dilampirkan ke API sebagai sumber data utama kami. Kunci utama kami diatur ke id bidang wajib yang kami tetapkan sebelum ini. Perhatikan bahwa tabel baru ini kosong dan tidak berisi apa pun kecuali kunci partisi.

    5. Pilih Berikutnya.

  6. Tinjau perubahan Anda dan pilih Buat API. Tunggu sebentar untuk membiarkan AWS AppSync layanan selesai membuat AndaAPI.

Anda telah berhasil membuat API GraphQL dengan skema dan sumber data DynamoDB. Untuk meringkas langkah-langkah di atas, kami memilih untuk membuat API GraphQL yang sama sekali baru. Kami mendefinisikan namaAPI, lalu menambahkan definisi skema kami dengan menambahkan tipe pertama kami. Kami mendefinisikan jenis dan bidangnya, lalu memilih untuk melampirkan sumber data ke salah satu bidang dengan membuat tabel DynamoDB baru tanpa data di dalamnya.