全部产品
Search
文档中心

ApsaraDB for MongoDB:Rincian kompatibilitas instance yang kompatibel dengan DynamoDB

更新时间:Jun 27, 2025

ApsaraDB for MongoDB mendukung protokol DynamoDB. Topik ini menjelaskan rincian kompatibilitas instance ApsaraDB for MongoDB yang kompatibel dengan DynamoDB.

Penting

Instance kluster terdistribusi yang kompatibel dengan DynamoDB tidak lagi tersedia untuk pembelian. Untuk menggunakan instance kluster terdistribusi, disarankan menggunakan protokol MongoDB. Informasi lebih lanjut dapat ditemukan di [Pemberitahuan] Akhir Penjualan untuk Instance Kluster Terdistribusi yang Kompatibel dengan DynamoDB.

Informasi latar belakang

Amazon DynamoDB adalah layanan database NoSQL yang sepenuhnya dikelola, menawarkan performa cepat dan skalabilitas tanpa batas. ApsaraDB for MongoDB kompatibel dengan protokol DynamoDB, memungkinkan Anda membuat instance ApsaraDB for MongoDB yang kompatibel dengan DynamoDB.

Catatan penggunaan

  • Protokol DynamoDB hanya didukung pada instance kluster terdistribusi ApsaraDB for MongoDB yang menjalankan MongoDB 4.0.

  • Tipe protokol dapat diubah menjadi DynamoDB pada instance kluster terdistribusi ApsaraDB for MongoDB yang sudah ada untuk mendukung protokol DynamoDB.

  • Protokol DynamoDB hanya didukung pada instance kluster terdistribusi ApsaraDB for MongoDB yang menggunakan tipe jaringan VPC. Autentikasi tidak diperlukan.

Rincian kompatibilitas operasi DynamoDB

Operasi

Parameter

Didukung

Keterangan

CreateTable

Parameter permintaan

Parameter wajib: AttributeDefinitions

Ya

T/A

Parameter wajib: KeySchema

Ya

T/A

Parameter wajib: TableName

Ya

  • Tidak boleh mengandung karakter khusus berikut: tanda dolar ($).

  • Tidak boleh dimulai dengan awalan system..

  • Harus memiliki panjang 1 hingga 100 karakter.

Parameter opsional: BillingMode

Tidak

T/A

Parameter opsional: GlobalSecondaryIndexes

Ya

T/A

Parameter opsional: LocalSecondaryIndexes

Ya

T/A

Parameter opsional: ProvisionedThroughput

Tidak

T/A

Parameter opsional: SSESpecification

Tidak

T/A

Parameter opsional: StreamSpecification

Ya

Parameter StreamViewType hanya mendukung nilai-nilai berikut:

  • KEYS_ONLY

    Catatan

    KEYS_ONLY hanya mendukung partition keys, tetapi tidak mendukung sort keys.

  • NEW_IMAGE

Parameter opsional: Tags

Tidak

T/A

Parameter respons

TableDescription

Ya

T/A

UpdateTable

Parameter permintaan

Parameter opsional: AttributeDefinitions

Ya

T/A

Parameter opsional: BillingMode

Tidak

T/A

Parameter wajib: GlobalSecondaryIndexesUpdates

Ya

CREATE dan DELETE didukung. UPDATE tidak didukung.

Parameter opsional: ProvisionedThroughput

Tidak

T/A

Parameter opsional: ReplicaUpdates

Tidak

T/A

Parameter opsional: SSESpecification

Tidak

T/A

Parameter opsional: StreamSpecification

Ya

Parameter StreamViewType hanya mendukung nilai-nilai berikut:

  • KEYS_ONLY

    Catatan

    KEYS_ONLY hanya mendukung partition keys, tetapi tidak mendukung sort keys.

  • NEW_IMAGE

Parameter wajib: TableName

Ya

T/A

Parameter respons

TableDescription

Ya

Untuk informasi lebih lanjut, lihat TableDescription.

DescribeTable

Parameter permintaan

Parameter wajib: TableName

Ya

T/A

Parameter respons

Table

Ya

Untuk informasi lebih lanjut, lihat TableDescription.

ListTables

Parameter permintaan

Parameter opsional: ExclusiveStartTableName

Tidak

Rekaman di halaman yang berbeda tidak didukung. Tidak ada batasan jumlah rekaman yang dikembalikan.

Parameter opsional: Limit

Tidak

Rekaman di halaman yang berbeda tidak didukung. Tidak ada batasan jumlah rekaman yang dikembalikan.

Parameter respons

LastEvaluatedTableName

Tidak

T/A

TableNames

Ya

T/A

DeleteTable

Parameter permintaan

Parameter wajib: TableName

Ya

T/A

Parameter respons

TableDescription

Ya

Untuk informasi lebih lanjut, lihat TableDescription.

PutItem

Parameter permintaan

Parameter wajib: Item

Ya

T/A

Parameter wajib: TableName

Ya

T/A

Parameter opsional: ConditionalOperator

Tidak

T/A

Parameter opsional: ConditionExpression

Ya

Untuk informasi lebih lanjut, lihat Rincian kompatibilitas ekspresi.

Parameter opsional: Expected

Tidak

T/A

Parameter opsional: ExpressionAttributeNames

Ya

Untuk informasi lebih lanjut, lihat Rincian kompatibilitas ekspresi.

Parameter opsional: ExpressionAttributeValues

Ya

Untuk informasi lebih lanjut, lihat Rincian kompatibilitas ekspresi.

Parameter opsional: ReturnConsumedCapacity

Tidak

T/A

Parameter opsional: ReturnItemCollectionMetrics

Tidak

T/A

Parameter opsional: ReturnValues

Ya

T/A

Parameter respons

Attributes

Ya

T/A

ConsumedCapacity

Tidak

T/A

ItemCollectionMetrics

Tidak

T/A

UpdateItem

Parameter permintaan

Parameter wajib: Key

Ya

T/A

Parameter wajib: TableName

Ya

T/A

Parameter opsional: AttributeUpdates

Tidak

T/A

Parameter opsional: ConditionalOperator

Tidak

T/A

Parameter opsional: ConditionExpression

Ya

Untuk informasi lebih lanjut, lihat Rincian kompatibilitas ekspresi.

Parameter opsional: Expected

Tidak

T/A

Parameter opsional: ExpressionAttributeNames

Ya

Untuk informasi lebih lanjut, lihat Rincian kompatibilitas ekspresi.

Parameter opsional: ExpressionAttributeValues

Ya

Untuk informasi lebih lanjut, lihat Rincian kompatibilitas ekspresi.

Parameter opsional: ReturnConsumedCapacity

Tidak

T/A

Parameter opsional: ReturnItemCollectionMetrics

Tidak

T/A

Parameter opsional: ReturnValues

Ya

T/A

Parameter opsional: UpdateExpression

Ya

Untuk informasi lebih lanjut, lihat Rincian kompatibilitas ekspresi.

Parameter respons

Attributes

Ya

T/A

ConsumedCapacity

Tidak

T/A

ItemCollectionMetrics

Tidak

T/A

GetItem

Parameter permintaan

Parameter wajib: Key

Ya

T/A

Parameter wajib: TableName

Ya

T/A

Parameter opsional: AttributesToGet

Tidak

T/A

Parameter opsional: ConsistentRead

Tidak

T/A

Parameter opsional: ExpressionAttributeNames

Ya

Untuk informasi lebih lanjut, lihat Rincian kompatibilitas ekspresi.

Parameter opsional: ProjectionExpression

Ya

Untuk informasi lebih lanjut, lihat Rincian kompatibilitas ekspresi.

Parameter opsional: ReturnConsumedCapacity

Tidak

T/A

Parameter respons

ConsumedCapacity

Tidak

T/A

Item

Ya

T/A

DeleteItem

Parameter permintaan

Parameter wajib: Key

Ya

T/A

Parameter wajib: TableName

Ya

T/A

Parameter opsional: ConditionalOperator

Tidak

T/A

Parameter opsional: ConditionExpression

Ya

Untuk informasi lebih lanjut, lihat Rincian kompatibilitas ekspresi.

Parameter opsional: Expected

Tidak

T/A

Parameter opsional: ExpressionAttributeNames

Ya

Untuk informasi lebih lanjut, lihat Rincian kompatibilitas ekspresi.

Parameter opsional: ExpressionAttributeValues

Ya

Untuk informasi lebih lanjut, lihat Rincian kompatibilitas ekspresi.

Parameter opsional: ReturnConsumedCapacity

Tidak

T/A

Parameter opsional: ReturnItemCollectionMetrics

Tidak

T/A

Parameter opsional: ReturnValues

Ya

T/A

Parameter respons

Attributes

Ya

T/A

ConsumedCapacity

Tidak

T/A

ItemCollectionMetrics

Tidak

T/A

BatchWriteItem

Parameter permintaan

Parameter wajib: RequestItems

Ya

T/A

Parameter opsional: ReturnConsumedCapacity

Tidak

T/A

Parameter opsional: ReturnItemCollectionMetrics

Tidak

T/A

Parameter respons

ConsumedCapacity

Tidak

T/A

ItemCollectionMetrics

Tidak

T/A

UnprocessedItems

Ya

T/A

BatchGetItem

Parameter permintaan

Parameter wajib: RequestItems

Ya

Item tidak mendukung parameter AttributesToGet dan ConsistentRead.

Parameter opsional: ReturnConsumedCapacity

Tidak

T/A

Parameter respons

ConsumedCapacity

Tidak

T/A

Responses

Ya

T/A

UnprocessedKeys

Ya

T/A

Query

Parameter permintaan

Parameter wajib: TableName

Ya

T/A

Parameter opsional: AttributesToGet

Tidak

T/A

Parameter opsional: ConditionalOperator

Tidak

T/A

Parameter opsional: ConsistentRead

Tidak

T/A

Parameter opsional: ExclusiveStartKey

Ya

T/A

Parameter opsional: ExpressionAttributeNames

Ya

Untuk informasi lebih lanjut, lihat Rincian kompatibilitas ekspresi.

Parameter opsional: ExpressionAttributeValues

Ya

Untuk informasi lebih lanjut, lihat Rincian kompatibilitas ekspresi.

Parameter opsional: FilterExpression

Ya

Untuk informasi lebih lanjut, lihat Rincian kompatibilitas ekspresi.

Parameter opsional: IndexName

Ya

T/A

Parameter opsional: KeyConditionExpression

Ya

Untuk informasi lebih lanjut, lihat Rincian kompatibilitas ekspresi.

Parameter opsional: KeyConditions

Tidak

T/A

Parameter opsional: Limit

Ya

T/A

Parameter opsional: ProjectionExpression

Ya

Untuk informasi lebih lanjut, lihat Rincian kompatibilitas ekspresi.

Parameter opsional: QueryFilter

Tidak

T/A

Parameter opsional: ReturnConsumedCapacity

Tidak

T/A

Parameter opsional: ScanIndexForward

Ya

T/A

Parameter opsional: Select

Tidak

T/A

Parameter respons

ConsumedCapacity

Tidak

T/A

Count

Ya

T/A

Items

Ya

T/A

LastEvaluatedKey

Ya

T/A

ScannedCount

Ya

T/A

Scan

Parameter permintaan

Parameter wajib: TableName

Ya

T/A

Parameter opsional: AttributesToGet

Tidak

T/A

Parameter opsional: ConditionalOperator

Tidak

T/A

Parameter opsional: ConsistentRead

Tidak

T/A

Parameter opsional: ExclusiveStartKey

Ya

T/A

Parameter opsional: ExpressionAttributeNames

Ya

Untuk informasi lebih lanjut, lihat Rincian kompatibilitas ekspresi.

Parameter opsional: ExpressionAttributeValues

Ya

Untuk informasi lebih lanjut, lihat Rincian kompatibilitas ekspresi.

Parameter opsional: FilterExpression

Ya

Untuk informasi lebih lanjut, lihat Rincian kompatibilitas ekspresi.

Parameter opsional: IndexName

Ya

T/A

Parameter opsional: Limit

Ya

T/A

Parameter opsional: ProjectionExpression

Ya

Untuk informasi lebih lanjut, lihat Rincian kompatibilitas ekspresi.

Parameter opsional: ReturnConsumedCapacity

Tidak

T/A

Parameter opsional: ScanFilter

Tidak

T/A

Parameter opsional: Segment

Ya

T/A

Parameter opsional: Select

Tidak

T/A

Parameter opsional: TotalSegments

Ya

T/A

Parameter respons

ConsumedCapacity

Tidak

T/A

Count

Ya

T/A

Items

Ya

T/A

LastEvaluatedKey

Ya

T/A

ScannedCount

Ya

T/A

Rincian kompatibilitas operasi DynamoDB Streams

Operasi

Parameter

Didukung

Keterangan

DescribeStream

Parameter permintaan

Parameter wajib: StreamArn

Ya

T/A

Parameter opsional: Limit

Tidak

T/A

Parameter opsional: ExclusiveStartShardId

Tidak

T/A

Parameter respons

Parameter wajib: StreamDescription

Ya

Nilai parameter respons ini untuk instance ApsaraDB for MongoDB yang kompatibel dengan DynamoDB berbeda dari nilai-nilai untuk instance Amazon DynamoDB dalam aspek-aspek berikut:

  • Nilai parameter StartingSequenceNumber tetap unknown.

  • Parameter EndingSequenceNumber menunjukkan timestamp.

  • Parameter ShardId tetap arn:alibaba:mongo-dynamodb@shard-only-1 karena instance kluster terdistribusi ApsaraDB for MongoDB yang kompatibel dengan DynamoDB hanya memiliki satu node shard.

ListStreams

Parameter permintaan

Parameter opsional: TableName

Ya

T/A

Parameter opsional: Limit

Tidak

T/A

Parameter opsional: ExclusiveStartStreamArn

Tidak

T/A

Parameter respons

Parameter wajib: Streams

Ya

Untuk setiap tabel, maksimal satu aliran dapat dikembalikan.

GetShardIterator

Parameter permintaan

Parameter wajib: StreamArn

Ya

T/A

Parameter wajib: ShardId

Ya

Parameter ini tetap arn:alibaba:mongo-dynamodb@shard-only-1 karena instance kluster terdistribusi ApsaraDB for MongoDB yang kompatibel dengan DynamoDB hanya memiliki satu node shard.

Parameter wajib: ShardIteratorType

Ya

Hanya mendukung LATEST dan AFTER_SEQUENCE_NUMBER.

Parameter opsional: SequenceNumber

Ya

Parameter ini valid hanya ketika parameter ShardIteratorType disetel ke AFTER_SEQUENCE_NUMBER. Nilai parameter dapat berupa timestamp 32-bit dalam detik.

Parameter respons

Parameter wajib: ShardIterator

Ya

T/A

GetRecords

Parameter permintaan

Parameter wajib: ShardIterator

Ya

T/A

Parameter opsional: Limit

Ya

Ketika parameter ini tidak ditentukan, setiap halaman berisi 101 entri data, bukan 1 MB data.

Parameter respons

Parameter wajib: Records

Ya

T/A

Struktur data operasi DynamoDB

Tipe data

Bidang

Didukung

TableDescription

ArchivalSummary

Tidak

AttributeDefinitions

Tidak

BillingModeSummary

Tidak

CreationDateTime

Tidak

GlobalSecondaryIndexes

Ya

GlobalTableVersion

Tidak

ItemCount

Ya

KeySchema

Ya

LatestStreamArn

Ya

LatestStreamLabel

Ya

LocalSecondaryIndexes

Ya

ProvisionedThroughput

Tidak

Replicas

Tidak

RestoreSummary

Tidak

SSEDescription

Tidak

StreamSpecification

Ya

TableArn

Tidak

TableId

Tidak

TableName

Ya

TableSizeBytes

Ya

TableStatus

Ya

Rincian kompatibilitas ekspresi

  • Nama atribut yang mengandung .: Nama atribut yang mengandung . menunjukkan atribut skalar atau dokumen bersarang. Di Amazon DynamoDB, jika nama atribut ekspresi dipetakan ke semua elemen dalam jalur dokumen, atribut tersebut diproses sebagai atribut skalar. Jika tidak, atribut tersebut diproses sebagai atribut bersarang.

    Catatan

    Atribut skalar yang mengandung ., seperti ekspresi query atau proyeksi, tidak dapat diproses di ApsaraDB for MongoDB.

  • Ekspresi proyeksi: Hanya array satu dimensi yang didukung. Saat ekspresi proyeksi hanya berisi satu elemen array, bidang lainnya akan dikembalikan.

  • Ekspresi kondisi:

    • Sintaksis untuk ekspresi kondisi di Amazon DynamoDB:

      condition-expression ::=
            operand comparator operand
          | operand BETWEEN operand AND operand
          | operand IN ( operand (',' operand (, ...) ))
          | function
          | condition AND condition
          | condition OR condition
          | NOT condition
          | ( condition )
      
      comparator ::=
          =
          | <>
          | <
          | <=
          | >
          | >=
      
      function ::=
          attribute_exists (path)
          | attribute_not_exists (path)
          | attribute_type (path, type)
          | begins_with (path, substr)
          | contains (path, operand)
          | size (path)
    • Dalam operand1 comparator operand2, operand1 harus berupa path, dan operand2 harus berupa nilai atribut ekspresi.

    • Dalam operand1 BETWEEN operand2 AND operand3, operand1 harus berupa path, dan operand lainnya harus berupa nilai atribut ekspresi.

    • Dalam operand1 IN ( operand2 (',' operand3 (, ...) )), operand1 harus berupa path, dan operand lainnya harus berupa nilai atribut ekspresi.

    • Untuk fungsi size(path) dalam function, bidang path harus bertipe STRING (digunakan untuk menentukan panjang) atau bertipe SET atau LIST (digunakan untuk menentukan ukuran). Tidak dapat bertipe BINARY atau MAP.

  • Ekspresi pembaruan:

    • Sintaksis untuk ekspresi pembaruan di Amazon DynamoDB:

      update-expression ::=
          [ SET action [, action] ... ]
          [ REMOVE action [, action] ...]
          [ ADD action [, action] ... ]
          [ DELETE action [, action] ...]
      
      set-action ::=
          path = value
      
      value ::=
          operand
          | operand '+' operand
          | operand '-' operand
      
      operand ::=
          path | function
      
      function ::=
          if_not_exists (path, value)
          | list_append (list1, list2)
      
      remove-action ::=
          path
      
      add-action ::=
          path value
      
      delete-action ::=
          path value
    • set-action:

      • Dalam SET path = operand, operand tidak boleh berupa path.

      • Dalam SET path = operand1 '+'|'-' operand2, operand1 harus berupa path. Ini menunjukkan bahwa hanya penambahan atau pengurangan bidang yang didukung dalam ekspresi ini.

      • Dalam SET path = if_not_exists (path, value), dua paths harus sama, dan value harus berupa nilai atribut ekspresi.

      • Dalam SET path = if_not_exists (path, value), pembaruan sebagian tidak didukung ketika beberapa kondisi ditentukan secara bersamaan. Ini menunjukkan bahwa semua kondisi harus terpenuhi agar ekspresi ini dieksekusi.

      • Dalam SET path = list_append(list1, list2), salah satu nilai list1 dan list2 harus sama dengan path, dan yang lainnya harus berupa nilai atribut ekspresi.

    • remove-action: Saat elemen dalam list dihapus, null digunakan untuk menggantikan elemen yang dihapus. Ukuran list tetap tidak berubah dan elemen yang tersisa tidak bergeser.

Pemetaan tipe data

Amazon DynamoDB mendukung tipe data yang berbeda dari ApsaraDB for MongoDB. Pemetaan tipe data disediakan antara instance ApsaraDB for MongoDB yang kompatibel dengan DynamoDB dan instance ApsaraDB for MongoDB untuk memastikan kompatibilitas antara kedua set tipe data tersebut.

Tabel berikut mencantumkan pemetaan tipe data.

Tipe data DynamoDB

MongoDB tipe data

B

Data biner

BOOL

Boolean

BS

*

L

Array

M

Objek

N

Double

NS

*

NULL

Null

S

String

SS

*

Catatan

Di Amazon DynamoDB, setiap nilai harus unik dalam binary set (BS), number set (NS), atau string set (SS). Sebagai contoh, saat Anda memasukkan 1,2,2,3 dalam NS, Amazon DynamoDB menghapus duplikat sehingga data yang dimasukkan menjadi 1,2,3. Instance ApsaraDB for MongoDB yang kompatibel dengan DynamoDB tidak mendukung deduplikasi data untuk BS, NS, dan SS. Dalam hal ini, tipe data * pada tabel di atas diproses sebagai array. Pada rilis mendatang dari ApsaraDB for MongoDB, tipe data ini akan dioptimalkan untuk deduplikasi data.