Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Scan
Dokumen pemetaan Scan
permintaan memungkinkan Anda memberi tahu AWS AppSync DynamoDB resolver untuk membuat Scan
permintaan ke DynamoDB, dan memungkinkan Anda untuk menentukan hal berikut:
-
Filter untuk mengecualikan hasil
-
Indeks mana yang akan digunakan
-
Berapa banyak item yang akan dikembalikan
-
Apakah akan menggunakan pembacaan yang konsisten
-
Token pagination
-
Pemindaian paralel
Dokumen Scan
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:
Bidang pemindaian
-
version
-
Versi definisi template.
2017-02-28
dan2018-05-29
saat ini didukung. Nilai ini diperlukan. -
operation
-
Operasi DynamoDB untuk melakukan. Untuk melakukan operasi
Scan
DynamoDB, ini harus diatur ke.Scan
Nilai ini diperlukan. -
filter
-
Filter yang dapat digunakan untuk memfilter hasil dari DynamoDB sebelum dikembalikan. Untuk informasi selengkapnya tentang filter, lihat Menyaring. Bidang ini bersifat opsional.
-
index
-
Nama indeks untuk query. Operasi query 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 query indeks tertentu. Jika dihilangkan, indeks kunci utama ditanyakan.
-
limit
-
Jumlah maksimum item untuk dievaluasi pada satu waktu. Bidang ini bersifat opsional.
-
consistentRead
-
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. Bidang ini bersifat opsional.
-
select
-
Secara default, AWS AppSync DynamoDB resolver hanya mengembalikan atribut apa pun yang diproyeksikan ke dalam indeks. Jika lebih banyak atribut diperlukan, maka bidang ini dapat diatur. Bidang ini bersifat opsional. Nilai yang didukung adalah:
-
ALL_ATTRIBUTES
-
Mengembalikan semua atribut item dari tabel tertentu atau indeks. 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 menentukan
ALL_ATTRIBUTES
. SPECIFIC_ATTRIBUTES
-
Mengembalikan hanya atribut yang tercantum dalam
projection
'sexpression
. Nilai pengembalian ini setara dengan menentukanprojection
'sexpression
tanpa menentukan nilai apa pun untuk.Select
-
-
totalSegments
-
Jumlah segmen untuk mempartisi tabel dengan 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 Proyeksi. Bidang ini bersifat opsional.
Hasil yang dikembalikan oleh pemindaian DynamoDB secara otomatis diubah menjadi GraphQL dan tipe primitif JSON dan tersedia dalam konteks pemetaan (). $context.result
Untuk informasi selengkapnya tentang konversi tipe DynamoDB, lihat Mengetik sistem (pemetaan respons).
Untuk informasi selengkapnya tentang template pemetaan respons, lihat Ringkasan template 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 berbagai resolver. -
scannedCount
-
Jumlah item yang diambil oleh DynamoDB sebelum ekspresi filter (jika ada) diterapkan.
Contoh 1
Contoh berikut adalah template pemetaan untuk query GraphQL:. allPosts
Dalam contoh ini, semua entri dalam tabel dikembalikan.
{ "version" : "2017-02-28", "operation" : "Scan" }
Contoh 2
Contoh berikut adalah template pemetaan untuk query 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, lihat Scan
API dokumentasi DynamoDB. API