View a markdown version of this page

Pindai - AWS AppSync GraphQL

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

Pindai

Dokumen pemetaan Scan permintaan memungkinkan Anda memberi tahu resolver AWS AppSync DynamoDB untuk membuat Scan permintaan ke DynamoDB, dan memungkinkan Anda untuk menentukan yang berikut:

  • Filter untuk mengecualikan hasil

  • Indeks mana yang akan digunakan

  • Berapa banyak barang yang harus dikembalikan

  • Apakah akan menggunakan bacaan yang konsisten

  • Token paginasi

  • Pemindaian paralel

Dok Scan umen pemetaan memiliki struktur sebagai berikut:

{ "version" : "2017-02-28", "operation" : "Scan", "index" : "fooIndex", "limit" : 10, "consistentRead" : false, "nextToken" : "aPaginationToken", "totalSegments" : 10, "segment" : 1, "filter" : { ... }, "projection" : { ... } }

Bidang didefinisikan sebagai berikut:

Pindai bidang

version

Versi definisi template. 2017-02-28dan 2018-05-29 saat ini didukung. Nilai ini diperlukan.

operation

Operasi DynamoDB untuk melakukan. Untuk melakukan operasi Scan DynamoDB, ini harus disetel ke. Scan Nilai ini diperlukan.

filter

Filter yang dapat digunakan untuk memfilter hasil dari DynamoDB sebelum dikembalikan. Untuk informasi selengkapnya tentang filter, lihat Filter. Ini adalah bidang opsional.

index

Nama indeks untuk kueri. Operasi kueri DynamoDB memungkinkan Anda untuk memindai Indeks Sekunder Lokal dan Indeks Sekunder Global selain indeks kunci utama untuk kunci hash. Jika ditentukan, ini memberitahu DynamoDB untuk menanyakan indeks yang ditentukan. Jika dihilangkan, indeks kunci utama ditanyakan.

limit

Jumlah maksimum item untuk dievaluasi pada satu waktu. Ini adalah bidang opsional.

consistentRead

Sebuah Boolean yang menunjukkan apakah akan menggunakan pembacaan yang konsisten saat menanyakan DynamoDB. Bidang ini opsional, dan defaultnya. false

nextToken

Token pagination untuk melanjutkan kueri sebelumnya. Ini akan diperoleh dari kueri sebelumnya. Ini adalah bidang opsional.

select

Secara default, resolver AWS AppSync DynamoDB hanya mengembalikan atribut apa pun yang diproyeksikan ke dalam indeks. Jika lebih banyak atribut diperlukan, maka bidang ini dapat diatur. Ini adalah bidang opsional. Nilai yang didukung adalah:

ALL_ATTRIBUTES

Mengembalikan semua atribut item dari tabel atau indeks yang ditentukan. Jika Anda menanyakan indeks sekunder lokal, DynamoDB mengambil seluruh item dari tabel induk untuk setiap item yang cocok dalam indeks. Jika indeks dikonfigurasi untuk memproyeksikan semua atribut item, semua data dapat diperoleh dari indeks sekunder lokal dan tidak diperlukan pengambilan.

ALL_PROJECTED_ATTRIBUTES

Diizinkan hanya saat menanyakan indeks. Mengambil semua atribut yang telah diproyeksikan ke dalam indeks. Jika indeks dikonfigurasi untuk memproyeksikan semua atribut, nilai pengembalian ini setara dengan menentukanALL_ATTRIBUTES.

SPECIFIC_ATTRIBUTES

Mengembalikan hanya atribut yang tercantum dalam projection'sexpression. Nilai pengembalian ini setara dengan menentukan nilai projection expression tanpa menentukan nilai apa pun untukSelect.

totalSegments

Jumlah segmen untuk mempartisi tabel saat melakukan pemindaian paralel. Bidang ini opsional, tetapi harus ditentukan jika segment ditentukan.

segment

Segmen tabel dalam operasi ini saat melakukan pemindaian paralel. Bidang ini opsional, tetapi harus ditentukan jika totalSegments ditentukan.

projection

Proyeksi yang digunakan untuk menentukan atribut yang akan dikembalikan dari operasi DynamoDB. Untuk informasi selengkapnya tentang proyeksi, lihat Pro yeksi. Ini adalah bidang opsional.

Hasil yang dikembalikan oleh pemindaian DynamoDB secara otomatis diubah menjadi tipe primitif GraphQL dan JSON dan tersedia dalam konteks pemetaan (). $context.result

Untuk informasi selengkapnya tentang konversi tipe DynamoDB, lihat Sistem tipe (pemetaan respons).

Untuk informasi selengkapnya tentang templat pemetaan respons, lihat ikhtisar templ at pemetaan Resolver.

Hasilnya memiliki struktur sebagai berikut:

{ items = [ ... ], nextToken = "a pagination token", scannedCount = 10 }

Bidang didefinisikan sebagai berikut:

items

Daftar yang berisi item yang dikembalikan oleh pemindaian DynamoDB.

nextToken

Jika mungkin ada lebih banyak hasil, nextToken berisi token pagination yang dapat Anda gunakan dalam permintaan lain. AWS AppSync mengenkripsi dan mengaburkan token pagination yang dikembalikan dari DynamoDB. Ini mencegah data tabel Anda bocor secara tidak sengaja ke penelepon. Selain itu, token pagination ini tidak dapat digunakan di resolver yang berbeda.

scannedCount

Jumlah item yang diambil oleh DynamoDB sebelum ekspresi filter (jika ada) diterapkan.

Contoh 1

Contoh berikut adalah template pemetaan untuk kueri GraphQL:allPosts.

Dalam contoh ini, semua entri dalam tabel dikembalikan.

{ "version" : "2017-02-28", "operation" : "Scan" }

Contoh 2

Contoh berikut adalah template pemetaan untuk kueri GraphQL:postsMatching(title: String!).

Dalam contoh ini, semua entri dalam tabel dikembalikan di mana judul dimulai dengan title argumen.

{ "version" : "2017-02-28", "operation" : "Scan", "filter" : { "expression" : "begins_with(title, :title)", "expressionValues" : { ":title" : $util.dynamodb.toDynamoDBJson($context.arguments.title) }, } }

Untuk informasi selengkapnya tentang DynamoDB Scan API, lihat dokumentasi DynamoDB API.