Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Migrasi dari VTL ke dalam JavaScript AWS AppSync

Mode fokus
Migrasi dari VTL ke dalam JavaScript AWS AppSync - AWS AppSync GraphQL

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

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

AWS AppSync memungkinkan Anda untuk menulis logika bisnis Anda untuk resolver dan fungsi Anda menggunakan VTL atau. JavaScript Dengan kedua bahasa, Anda menulis logika yang menginstruksikan AWS AppSync layanan tentang cara berinteraksi dengan sumber data Anda. DenganVTL, Anda menulis template pemetaan yang harus mengevaluasi ke string JSON -encoded yang valid. Dengan JavaScript, Anda menulis penangan permintaan dan respons yang mengembalikan objek. Anda tidak mengembalikan string JSON -encoded.

Misalnya, ambil template VTL pemetaan berikut untuk mendapatkan item Amazon DynamoDB:

{ "operation": "GetItem", "key": { "id": $util.dynamodb.toDynamoDBJson($ctx.args.id), } }

Utilitas $util.dynamodb.toDynamoDBJson mengembalikan string JSON -encoded. Jika $ctx.args.id disetel ke<id>, template mengevaluasi ke string JSON -encoded yang valid:

{ "operation": "GetItem", "key": { "id": {"S": "<id>"}, } }

Saat bekerja dengan JavaScript, Anda tidak perlu mencetak string mentah JSON -encoded dalam kode Anda, dan menggunakan utilitas seperti toDynamoDBJson tidak diperlukan. Contoh yang setara dari template pemetaan di atas adalah:

import { util } from '@aws-appsync/utils'; export function request(ctx) { return { operation: 'GetItem', key: {id: util.dynamodb.toDynamoDB(ctx.args.id)} }; }

Alternatifnya adalah menggunakanutil.dynamodb.toMapValues, yang merupakan pendekatan yang direkomendasikan untuk menangani objek nilai:

import { util } from '@aws-appsync/utils'; export function request(ctx) { return { operation: 'GetItem', key: util.dynamodb.toMapValues({ id: ctx.args.id }), }; }

Ini mengevaluasi untuk:

{ "operation": "GetItem", "key": { "id": { "S": "<id>" } } }
catatan

Sebaiknya gunakan modul DynamoDB dengan sumber data DynamoDB:

import * as ddb from '@aws-appsync/utils/dynamodb' export function request(ctx) { ddb.get({ key: { id: ctx.args.id } }) }

Sebagai contoh lain, ambil template pemetaan berikut untuk menempatkan item di sumber data Amazon DynamoDB:

{ "operation" : "PutItem", "key" : { "id": $util.dynamodb.toDynamoDBJson($util.autoId()), }, "attributeValues" : $util.dynamodb.toMapValuesJson($ctx.args) }

Saat dievaluasi, string template pemetaan ini harus menghasilkan string JSON -encoded yang valid. Saat menggunakan JavaScript, kode Anda mengembalikan objek permintaan secara langsung:

import { util } from '@aws-appsync/utils'; export function request(ctx) { const { id = util.autoId(), ...values } = ctx.args; return { operation: 'PutItem', key: util.dynamodb.toMapValues({ id }), attributeValues: util.dynamodb.toMapValues(values), }; }

yang mengevaluasi untuk:

{ "operation": "PutItem", "key": { "id": { "S": "2bff3f05-ff8c-4ed8-92b4-767e29fc4e63" } }, "attributeValues": { "firstname": { "S": "Shaggy" }, "age": { "N": 4 } } }
catatan

Sebaiknya gunakan modul DynamoDB dengan sumber data DynamoDB:

import { util } from '@aws-appsync/utils' import * as ddb from '@aws-appsync/utils/dynamodb' export function request(ctx) { const { id = util.autoId(), ...item } = ctx.args return ddb.put({ key: { id }, item }) }
PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.