Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pembantu DynamoDB di $util.dynamodb
catatan
Kami sekarang terutama mendukung runtime APPSYNC _JS dan dokumentasinya. Harap pertimbangkan untuk menggunakan runtime APPSYNC _JS dan panduannya di sini.
$util.dynamodb
berisi metode pembantu yang memudahkan untuk menulis dan membaca data ke Amazon DynamoDB, seperti pemetaan dan pemformatan tipe otomatis. Metode ini dirancang untuk membuat pemetaan tipe primitif dan Daftar ke format input DynamoDB yang tepat secara otomatis, yang merupakan format. Map
{ "TYPE" : VALUE
}
Misalnya, sebelumnya, template pemetaan permintaan untuk membuat item baru di DynamoDB mungkin terlihat seperti ini:
{ "version" : "2017-02-28", "operation" : "PutItem", "key": { "id" : { "S" : "$util.autoId()" } }, "attributeValues" : { "title" : { "S" : $util.toJson($ctx.args.title) }, "author" : { "S" : $util.toJson($ctx.args.author) }, "version" : { "N", $util.toJson($ctx.args.version) } } }
Jika kita ingin menambahkan bidang ke objek, kita harus memperbarui kueri GraphQL dalam skema, serta template pemetaan permintaan. Namun, kami sekarang dapat merestrukturisasi template pemetaan permintaan kami sehingga secara otomatis mengambil bidang baru yang ditambahkan dalam skema kami dan menambahkannya ke DynamoDB dengan tipe yang benar:
{ "version" : "2017-02-28", "operation" : "PutItem", "key": { "id" : $util.dynamodb.toDynamoDBJson($util.autoId()) }, "attributeValues" : $util.dynamodb.toMapValuesJson($ctx.args) }
Pada contoh sebelumnya, kita menggunakan $util.dynamodb.toDynamoDBJson(...)
helper untuk secara otomatis mengambil id yang dihasilkan dan mengubahnya menjadi representasi DynamoDB dari atribut string. Kami kemudian mengambil semua argumen dan mengonversinya ke representasi DynamoDB mereka dan mengeluarkannya ke bidang attributeValues
di template.
Setiap helper memiliki dua versi: versi yang mengembalikan objek (misalnya,$util.dynamodb.toString(...)
), dan versi yang mengembalikan objek sebagai JSON string (misalnya,$util.dynamodb.toStringJson(...)
). Pada contoh sebelumnya, kami menggunakan versi yang mengembalikan data sebagai JSON string. Jika Anda ingin memanipulasi objek sebelum digunakan dalam template, Anda dapat memilih untuk mengembalikan objek sebagai gantinya, seperti yang ditunjukkan berikut:
{ "version" : "2017-02-28", "operation" : "PutItem", "key": { "id" : $util.dynamodb.toDynamoDBJson($util.autoId()) }, #set( $myFoo = $util.dynamodb.toMapValues($ctx.args) ) #set( $myFoo.version = $util.dynamodb.toNumber(1) ) #set( $myFoo.timestamp = $util.dynamodb.toString($util.time.nowISO8601())) "attributeValues" : $util.toJson($myFoo) }
Pada contoh sebelumnya, kita mengembalikan argumen yang dikonversi sebagai peta alih-alih JSON string, dan kemudian menambahkan timestamp
bidang version
dan sebelum akhirnya mengeluarkannya ke attributeValues
bidang dalam template menggunakan$util.toJson(...)
.
JSONVersi masing-masing pembantu setara dengan membungkus JSON versi non dalam. $util.toJson(...)
Misalnya, pernyataan berikut persis sama:
$util.toStringJson("Hello, World!") $util.toJson($util.toString("Hello, World!"))
toDynamoDB
-
$util.dynamodb.toDynamoDB(Object) : Map
-
Alat konversi objek umum untuk DynamoDB yang mengubah objek masukan ke representasi DynamoDB yang sesuai. Ini berpendirian tentang bagaimana itu mewakili beberapa jenis: misalnya, itu akan menggunakan daftar (“L”) daripada set (“SS”, “NS”, “BS”). Ini mengembalikan sebuah objek yang menggambarkan nilai atribut DynamoDB.
Contoh string
Input: $util.dynamodb.toDynamoDB("foo") Output: { "S" : "foo" }
Contoh angka
Input: $util.dynamodb.toDynamoDB(12345) Output: { "N" : 12345 }
Contoh Boolean
Input: $util.dynamodb.toDynamoDB(true) Output: { "BOOL" : true }
Daftar contoh
Input: $util.dynamodb.toDynamoDB([ "foo", 123, { "bar" : "baz" } ]) Output: { "L" : [ { "S" : "foo" }, { "N" : 123 }, { "M" : { "bar" : { "S" : "baz" } } } ] }
Contoh peta
Input: $util.dynamodb.toDynamoDB({ "foo": "bar", "baz" : 1234, "beep": [ "boop"] }) Output: { "M" : { "foo" : { "S" : "bar" }, "baz" : { "N" : 1234 }, "beep" : { "L" : [ { "S" : "boop" } ] } } }
$util.dynamodb.toDynamoDBJson(Object) : String
-
Sama seperti
$util.dynamodb.toDynamoDB(Object) : Map
, tetapi mengembalikan nilai atribut DynamoDB sebagai JSON string dikodekan.
toString utils
$util.dynamodb.toString(String) : String
-
Mengkonversi string input ke format string DynamoDB. Ini mengembalikan sebuah objek yang menggambarkan nilai atribut DynamoDB.
Input: $util.dynamodb.toString("foo") Output: { "S" : "foo" }
-
$util.dynamodb.toStringJson(String) : Map
-
Sama seperti
$util.dynamodb.toString(String) : String
, tetapi mengembalikan nilai atribut DynamoDB sebagai JSON string dikodekan. -
$util.dynamodb.toStringSet(List<String>) : Map
-
Mengkonversi daftar dengan Strings ke format set string DynamoDB. Ini mengembalikan sebuah objek yang menggambarkan nilai atribut DynamoDB.
Input: $util.dynamodb.toStringSet([ "foo", "bar", "baz" ]) Output: { "SS" : [ "foo", "bar", "baz" ] }
-
$util.dynamodb.toStringSetJson(List<String>) : String
-
Sama seperti
$util.dynamodb.toStringSet(List<String>) : Map
, tetapi mengembalikan nilai atribut DynamoDB sebagai JSON string dikodekan.
toNumber utils
-
$util.dynamodb.toNumber(Number) : Map
-
Mengkonversi angka ke format nomor DynamoDB. Ini mengembalikan sebuah objek yang menggambarkan nilai atribut DynamoDB.
Input: $util.dynamodb.toNumber(12345) Output: { "N" : 12345 }
-
$util.dynamodb.toNumberJson(Number) : String
-
Sama seperti
$util.dynamodb.toNumber(Number) : Map
, tetapi mengembalikan nilai atribut DynamoDB sebagai JSON string dikodekan. -
$util.dynamodb.toNumberSet(List<Number>) : Map
-
Mengkonversi daftar angka ke format set nomor DynamoDB. Ini mengembalikan sebuah objek yang menggambarkan nilai atribut DynamoDB.
Input: $util.dynamodb.toNumberSet([ 1, 23, 4.56 ]) Output: { "NS" : [ 1, 23, 4.56 ] }
-
$util.dynamodb.toNumberSetJson(List<Number>) : String
-
Sama seperti
$util.dynamodb.toNumberSet(List<Number>) : Map
, tetapi mengembalikan nilai atribut DynamoDB sebagai JSON string dikodekan.
toBinary utils
-
$util.dynamodb.toBinary(String) : Map
-
Mengkonversi data biner dikodekan sebagai string base64 ke format biner DynamoDB. Ini mengembalikan sebuah objek yang menggambarkan nilai atribut DynamoDB.
Input: $util.dynamodb.toBinary("foo") Output: { "B" : "foo" }
-
$util.dynamodb.toBinaryJson(String) : String
-
Sama seperti
$util.dynamodb.toBinary(String) : Map
, tetapi mengembalikan nilai atribut DynamoDB sebagai JSON string dikodekan. -
$util.dynamodb.toBinarySet(List<String>) : Map
-
Mengkonversi daftar data biner yang dikodekan sebagai string base64 ke format set biner DynamoDB. Ini mengembalikan sebuah objek yang menggambarkan nilai atribut DynamoDB.
Input: $util.dynamodb.toBinarySet([ "foo", "bar", "baz" ]) Output: { "BS" : [ "foo", "bar", "baz" ] }
-
$util.dynamodb.toBinarySetJson(List<String>) : String
-
Sama seperti
$util.dynamodb.toBinarySet(List<String>) : Map
, tetapi mengembalikan nilai atribut DynamoDB sebagai JSON string dikodekan.
toBoolean utils
-
$util.dynamodb.toBoolean(Boolean) : Map
-
Mengkonversi Boolean ke format DynamoDB Boolean yang sesuai. Ini mengembalikan sebuah objek yang menggambarkan nilai atribut DynamoDB.
Input: $util.dynamodb.toBoolean(true) Output: { "BOOL" : true }
-
$util.dynamodb.toBooleanJson(Boolean) : String
-
Sama seperti
$util.dynamodb.toBoolean(Boolean) : Map
, tetapi mengembalikan nilai atribut DynamoDB sebagai JSON string dikodekan.
toNull utils
-
$util.dynamodb.toNull() : Map
-
Mengembalikan null dalam format DynamoDB null. Ini mengembalikan sebuah objek yang menggambarkan nilai atribut DynamoDB.
Input: $util.dynamodb.toNull() Output: { "NULL" : null }
-
$util.dynamodb.toNullJson() : String
-
Sama seperti
$util.dynamodb.toNull() : Map
, tetapi mengembalikan nilai atribut DynamoDB sebagai JSON string dikodekan.
toList utils
$util.dynamodb.toList(List) : Map
-
Mengkonversi daftar objek ke format daftar DynamoDB. Setiap item dalam daftar juga dikonversi ke format DynamoDB yang sesuai. Ini berpendapat tentang bagaimana itu mewakili beberapa objek bersarang: misalnya, itu akan menggunakan daftar (“L”) daripada set (“SS”, “NS”, “BS”). Ini mengembalikan sebuah objek yang menggambarkan nilai atribut DynamoDB.
Input: $util.dynamodb.toList([ "foo", 123, { "bar" : "baz" } ]) Output: { "L" : [ { "S" : "foo" }, { "N" : 123 }, { "M" : { "bar" : { "S" : "baz" } } } ] }
-
$util.dynamodb.toListJson(List) : String
-
Sama seperti
$util.dynamodb.toList(List) : Map
, tetapi mengembalikan nilai atribut DynamoDB sebagai JSON string dikodekan.
toMap utils
-
$util.dynamodb.toMap(Map) : Map
-
Mengkonversi peta ke format peta DynamoDB. Setiap nilai dalam peta juga dikonversi ke format DynamoDB yang sesuai. Ini berpendapat tentang bagaimana itu mewakili beberapa objek bersarang: misalnya, itu akan menggunakan daftar (“L”) daripada set (“SS”, “NS”, “BS”). Ini mengembalikan sebuah objek yang menggambarkan nilai atribut DynamoDB.
Input: $util.dynamodb.toMap({ "foo": "bar", "baz" : 1234, "beep": [ "boop"] }) Output: { "M" : { "foo" : { "S" : "bar" }, "baz" : { "N" : 1234 }, "beep" : { "L" : [ { "S" : "boop" } ] } } }
-
$util.dynamodb.toMapJson(Map) : String
-
Sama seperti
$util.dynamodb.toMap(Map) : Map
, tetapi mengembalikan nilai atribut DynamoDB sebagai JSON string dikodekan. -
$util.dynamodb.toMapValues(Map) : Map
-
Membuat salinan peta di mana setiap nilai telah dikonversi ke format DynamoDB yang sesuai. Ini berpendapat tentang bagaimana itu mewakili beberapa objek bersarang: misalnya, itu akan menggunakan daftar (“L”) daripada set (“SS”, “NS”, “BS”).
Input: $util.dynamodb.toMapValues({ "foo": "bar", "baz" : 1234, "beep": [ "boop"] }) Output: { "foo" : { "S" : "bar" }, "baz" : { "N" : 1234 }, "beep" : { "L" : [ { "S" : "boop" } ] } }
catatan
Ini sedikit berbeda
$util.dynamodb.toMap(Map) : Map
karena hanya mengembalikan isi dari nilai atribut DynamoDB, tetapi tidak seluruh nilai atribut itu sendiri. Misalnya, pernyataan berikut persis sama:$util.dynamodb.toMapValues($map) $util.dynamodb.toMap($map).get("M")
-
$util.dynamodb.toMapValuesJson(Map) : String
-
Sama seperti
$util.dynamodb.toMapValues(Map) : Map
, tetapi mengembalikan nilai atribut DynamoDB sebagai JSON string dikodekan.
S3Object utilitas
-
$util.dynamodb.toS3Object(String key, String bucket, String region) : Map
-
Mengonversi kunci, bucket, dan wilayah menjadi representasi DynamoDB S3 Object. Ini mengembalikan sebuah objek yang menggambarkan nilai atribut DynamoDB.
Input: $util.dynamodb.toS3Object("foo", "bar", region = "baz") Output: { "S" : "{ \"s3\" : { \"key\" : \"foo", \"bucket\" : \"bar", \"region\" : \"baz" } }" }
-
$util.dynamodb.toS3ObjectJson(String key, String bucket, String region) : String
-
Sama seperti
$util.dynamodb.toS3Object(String key, String bucket, String region) : Map
, tetapi mengembalikan nilai atribut DynamoDB sebagai JSON string dikodekan. -
$util.dynamodb.toS3Object(String key, String bucket, String region, String version) : Map
-
Mengonversi kunci, bucket, region, dan versi opsional menjadi representasi DynamoDB S3 Object. Ini mengembalikan sebuah objek yang menggambarkan nilai atribut DynamoDB.
Input: $util.dynamodb.toS3Object("foo", "bar", "baz", "beep") Output: { "S" : "{ \"s3\" : { \"key\" : \"foo\", \"bucket\" : \"bar\", \"region\" : \"baz\", \"version\" = \"beep\" } }" }
-
$util.dynamodb.toS3ObjectJson(String key, String bucket, String region, String version) : String
-
Sama seperti
$util.dynamodb.toS3Object(String key, String bucket, String region, String version) : Map
, tetapi mengembalikan nilai atribut DynamoDB sebagai JSON string dikodekan. -
$util.dynamodb.fromS3ObjectJson(String) : Map
-
Menerima nilai string Objek DynamoDB S3 dan mengembalikan peta yang berisi kunci, bucket, wilayah, dan versi opsional.
Input: $util.dynamodb.fromS3ObjectJson({ "S" : "{ \"s3\" : { \"key\" : \"foo\", \"bucket\" : \"bar\", \"region\" : \"baz\", \"version\" = \"beep\" } }" }) Output: { "key" : "foo", "bucket" : "bar", "region" : "baz", "version" : "beep" }