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”.

Jenis skalar di GraphQL

Mode fokus
Jenis skalar di GraphQL - 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.

Jenis objek GraphQL memiliki nama dan bidang, dan bidang tersebut dapat memiliki sub-bidang. Pada akhirnya, bidang tipe objek harus diselesaikan ke jenis skalar, yang mewakili daun kueri. Untuk informasi selengkapnya tentang jenis objek dan skalar, lihat Skema dan tipe di situs web GraphQL.

Selain set default skalar GraphQL AWS AppSync , Anda juga dapat menggunakan skalar yang ditentukan layanan yang dimulai dengan awalan. AWS AWS AppSync tidak mendukung pembuatan skalar yang ditentukan pengguna (khusus). Anda harus menggunakan default atau AWSskalar.

Anda tidak dapat menggunakan AWSsebagai awalan untuk jenis objek kustom.

Bagian berikut adalah referensi untuk pengetikan skema.

Skalar default

GraphQL mendefinisikan skalar default berikut:

ID

Pengidentifikasi unik untuk suatu objek. Skalar ini diserialkan seperti a String tetapi tidak dimaksudkan untuk dapat dibaca manusia.

String

Urutan karakter UTF-8.

Int

Nilai integer antara - (2 31) dan 2 31 -1.

Float

Nilai floating point IEEE 754.

Boolean

Nilai Boolean, baik true ataupun false.

Daftar skalar default

ID

Pengidentifikasi unik untuk suatu objek. Skalar ini diserialkan seperti a String tetapi tidak dimaksudkan untuk dapat dibaca manusia.

String

Urutan karakter UTF-8.

Int

Nilai integer antara - (2 31) dan 2 31 -1.

Float

Nilai floating point IEEE 754.

Boolean

Nilai Boolean, baik true ataupun false.

AWS AppSync skalar

AWS AppSync mendefinisikan skalar berikut:

AWSDate

String tanggal ISO 8601 yang diperpanjang dalam format. YYYY-MM-DD

AWSTime

String waktu ISO 8601 yang diperpanjang dalam format. hh:mm:ss.sss

AWSDateTime

String tanggal dan waktu ISO 8601 yang diperpanjang dalam format. YYYY-MM-DDThh:mm:ss.sssZ

catatan

TheAWSDate,AWSTime, dan AWSDateTime skalar secara opsional dapat menyertakan offset zona waktu. Misalnya, nilai1970-01-01Z,1970-01-01-07:00, dan 1970-01-01+05:30 semuanya valid untukAWSDate. Offset zona waktu harus berupa Z (UTC) atau offset dalam jam dan menit (dan, opsional, detik). Misalnya, ±hh:mm:ss. Bidang detik di offset zona waktu dianggap valid meskipun bukan bagian dari standar ISO 8601.

AWSTimestamp

Nilai integer yang mewakili jumlah detik sebelum atau sesudah1970-01-01-T00:00Z.

AWSEmail

Alamat email dalam format local-part@domain-part seperti yang didefinisikan oleh RFC 822.

AWSJSON

Sebuah string JSON. Setiap konstruksi JSON yang valid secara otomatis diurai dan dimuat dalam kode resolver sebagai peta, daftar, atau nilai skalar daripada sebagai string input literal. String yang tidak dikutip atau JSON yang tidak valid menghasilkan kesalahan validasi GraphQL.

AWSPhone

Nomor telepon. Nilai ini disimpan sebagai string. Nomor telepon dapat berisi spasi atau tanda hubung untuk memisahkan grup digit. Nomor telepon tanpa kode negara diasumsikan sebagai nomor AS/Amerika Utara yang mengikuti Rencana Penomoran Amerika Utara (NANP).

AWSURL

URL seperti yang didefinisikan oleh RFC 1738. Misalnya, https://www.amazon.com/dp/B000NZW3KC/ ataumailto:example@example.com. URLsharus berisi skema (http,mailto) dan tidak dapat berisi dua garis miring (//) di bagian jalur.

AWSIPAddress

Valid IPv4 atau IPv6 alamat. IPv4 alamat diharapkan dalam notasi quad-dotted (). 123.12.34.56 IPv6 alamat diharapkan dalam format non-kurung, dipisahkan titik dua (). 1a2b:3c4b::1234:4567 Anda dapat menyertakan akhiran CIDR opsional (123.45.67.89/16) untuk menunjukkan subnet mask.

AWS AppSync daftar skalar

AWSDate

String tanggal ISO 8601 yang diperpanjang dalam format. YYYY-MM-DD

AWSTime

String waktu ISO 8601 yang diperpanjang dalam format. hh:mm:ss.sss

AWSDateTime

String tanggal dan waktu ISO 8601 yang diperpanjang dalam format. YYYY-MM-DDThh:mm:ss.sssZ

catatan

TheAWSDate,AWSTime, dan AWSDateTime skalar secara opsional dapat menyertakan offset zona waktu. Misalnya, nilai1970-01-01Z,1970-01-01-07:00, dan 1970-01-01+05:30 semuanya valid untukAWSDate. Offset zona waktu harus berupa Z (UTC) atau offset dalam jam dan menit (dan, opsional, detik). Misalnya, ±hh:mm:ss. Bidang detik di offset zona waktu dianggap valid meskipun bukan bagian dari standar ISO 8601.

AWSTimestamp

Nilai integer yang mewakili jumlah detik sebelum atau sesudah1970-01-01-T00:00Z.

AWSEmail

Alamat email dalam format local-part@domain-part seperti yang didefinisikan oleh RFC 822.

AWSJSON

Sebuah string JSON. Setiap konstruksi JSON yang valid secara otomatis diurai dan dimuat dalam kode resolver sebagai peta, daftar, atau nilai skalar daripada sebagai string input literal. String yang tidak dikutip atau JSON yang tidak valid menghasilkan kesalahan validasi GraphQL.

AWSPhone

Nomor telepon. Nilai ini disimpan sebagai string. Nomor telepon dapat berisi spasi atau tanda hubung untuk memisahkan grup digit. Nomor telepon tanpa kode negara diasumsikan sebagai nomor AS/Amerika Utara yang mengikuti Rencana Penomoran Amerika Utara (NANP).

AWSURL

URL seperti yang didefinisikan oleh RFC 1738. Misalnya, https://www.amazon.com/dp/B000NZW3KC/ ataumailto:example@example.com. URLsharus berisi skema (http,mailto) dan tidak dapat berisi dua garis miring (//) di bagian jalur.

AWSIPAddress

Valid IPv4 atau IPv6 alamat. IPv4 alamat diharapkan dalam notasi quad-dotted (). 123.12.34.56 IPv6 alamat diharapkan dalam format non-kurung, dipisahkan titik dua (). 1a2b:3c4b::1234:4567 Anda dapat menyertakan akhiran CIDR opsional (123.45.67.89/16) untuk menunjukkan subnet mask.

Contoh penggunaan skema

Contoh berikut skema GraphQL menggunakan semua skalar kustom sebagai “objek” dan menunjukkan permintaan resolver dan template respons untuk operasi put, get, dan list dasar. Terakhir, contoh menunjukkan bagaimana Anda dapat menggunakan ini saat menjalankan kueri dan mutasi.

type Mutation { putObject( email: AWSEmail, json: AWSJSON, date: AWSDate, time: AWSTime, datetime: AWSDateTime, timestamp: AWSTimestamp, url: AWSURL, phoneno: AWSPhone, ip: AWSIPAddress ): Object } type Object { id: ID! email: AWSEmail json: AWSJSON date: AWSDate time: AWSTime datetime: AWSDateTime timestamp: AWSTimestamp url: AWSURL phoneno: AWSPhone ip: AWSIPAddress } type Query { getObject(id: ID!): Object listObjects: [Object] } schema { query: Query mutation: Mutation }

Inilah yang putObject mungkin terlihat seperti template permintaan. A putObject menggunakan PutItem operasi untuk membuat atau memperbarui item di tabel Amazon DynamoDB Anda. Perhatikan bahwa cuplikan kode ini tidak memiliki tabel Amazon DynamoDB yang dikonfigurasi sebagai sumber data. Ini hanya digunakan sebagai contoh:

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

Template respon untuk putObject mengembalikan hasil:

$util.toJson($ctx.result)

Inilah yang getObject mungkin terlihat seperti template permintaan. A getObject menggunakan GetItem operasi untuk mengembalikan satu set atribut untuk item yang diberikan kunci utama. Perhatikan bahwa cuplikan kode ini tidak memiliki tabel Amazon DynamoDB yang dikonfigurasi sebagai sumber data. Ini hanya digunakan sebagai contoh:

{ "version": "2017-02-28", "operation": "GetItem", "key": { "id": $util.dynamodb.toDynamoDBJson($ctx.args.id), } }

Template respon untuk getObject mengembalikan hasil:

$util.toJson($ctx.result)

Inilah yang listObjects mungkin terlihat seperti template permintaan. A listObjects menggunakan Scan operasi untuk mengembalikan satu atau lebih item dan atribut. Perhatikan bahwa cuplikan kode ini tidak memiliki tabel Amazon DynamoDB yang dikonfigurasi sebagai sumber data. Ini hanya digunakan sebagai contoh:

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

Template respon untuk listObjects mengembalikan hasil:

$util.toJson($ctx.result.items)

Berikut ini adalah beberapa contoh penggunaan skema ini dengan kueri GraphQL:

mutation CreateObject { putObject(email: "example@example.com" json: "{\"a\":1, \"b\":3, \"string\": 234}" date: "1970-01-01Z" time: "12:00:34." datetime: "1930-01-01T16:00:00-07:00" timestamp: -123123 url:"https://amazon.com" phoneno: "+1 555 764 4377" ip: "127.0.0.1/8" ) { id email json date time datetime url timestamp phoneno ip } } query getObject { getObject(id:"0d97daf0-48e6-4ffc-8d48-0537e8a843d2"){ email url timestamp phoneno ip } } query listObjects { listObjects { json date time datetime } }

Di halaman ini

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.