すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB for MongoDB:DynamoDB互換インスタンスの互換性の詳細

最終更新日:Jan 07, 2025

ApsaraDB for MongoDBはDynamoDBプロトコルをサポートしています。 このトピックでは、DynamoDB互換のApsaraDB for MongoDBインスタンスの互換性の詳細について説明します。

重要

DynamoDB互換のシャードクラスターインスタンスは購入できなくなりました。 シャードクラスターインスタンスを使用するには、MongoDBプロトコルを使用することを推奨します。 詳細については、「 [お知らせ] DynamoDB互換シャードクラスターインスタンスの販売終了」をご参照ください。

背景情報

Amazon DynamoDBは、シームレスなスケーラビリティで高速かつ予測可能なパフォーマンスを提供する完全マネージド型NoSQLデータベースサービスです。 ApsaraDB for MongoDBはDynamoDBプロトコルと互換性があります。 DynamoDBプロトコルを選択して、DynamoDB互換のApsaraDB for MongoDBインスタンスを作成できます。

使用上の注意

  • DynamoDBプロトコルは、MongoDB 4.0を実行するApsaraDB for MongoDBシャードクラスターインスタンスでのみサポートされます。

  • 既存のApsaraDB for MongoDBシャードクラスターインスタンスのプロトコルタイプをDynamoDBに変更して、DynamoDBプロトコルと互換性を持たせることができます。

  • DynamoDBプロトコルは、VPCネットワークタイプを使用するApsaraDB for MongoDBシャードクラスターインスタンスでのみサポートされます。 認証は必要ありません。

DynamoDB操作の互換性の詳細

操作

パラメーター

対応

補足

CreateTable

リクエストパラメーター

必須パラメーター: AttributeDefinitions

対象

非該当

必須パラメーター: KeySchema

対象

非該当

必須パラメーター: TableName

対象

  • 次の特殊文字を含めることはできません: ドル記号 ($) 。

  • システムで開始することはできません。 プレフィックスを使用します。

  • 長さは1 ~ 100文字である必要があります。

オプションパラメータ: BillingMode

非対象

非該当

オプションパラメーター: GlobalSecondaryIndexes

対象

非該当

オプションパラメーター: LocalSecondaryIndexes

対象

非該当

オプションパラメーター: ProvisionedThroughput

非対象

非該当

オプションパラメータ: SSESpecification

非対象

非該当

オプションパラメーター: StreamSpecification

対象

StreamViewTypeパラメーターは、次の値のみをサポートします。

  • KEYS_ONLY

    説明

    KEYS_ONLYはパーティションキーのみをサポートしますが、ソートキーはサポートしません。

  • NEW_IMAGE

オプションパラメータ: Tags

非対象

非該当

レスポンスパラメーター

TableDescription

対象

非該当

UpdateTable

リクエストパラメーター

オプションパラメーター: AttributeDefinitions

対象

非該当

オプションパラメータ: BillingMode

非対象

非該当

必須パラメーター: GlobalSecondaryIndexesUpdates

対象

CREATEとDELETEがサポートされています。 UPDATEはサポートされていません。

オプションパラメーター: ProvisionedThroughput

非対象

非該当

オプションのパラメーター: ReplicaUpdates

非対象

非該当

オプションパラメータ: SSESpecification

非対象

非該当

オプションパラメーター: StreamSpecification

対象

StreamViewTypeパラメーターは、次の値のみをサポートします。

  • KEYS_ONLY

    説明

    KEYS_ONLYはパーティションキーのみをサポートしますが、ソートキーはサポートしません。

  • NEW_IMAGE

必須パラメーター: TableName

対象

非該当

レスポンスパラメーター

TableDescription

対象

詳細については、「TableDescription」をご参照ください。

DescribeTable

リクエストパラメーター

必須パラメーター: TableName

対象

非該当

レスポンスパラメーター

テーブル

対象

詳細については、「TableDescription」をご参照ください。

リストテーブル

リクエストパラメーター

オプションパラメーター: ExclusiveStartTableName

非対象

異なるページのレコードはサポートされていません。 返されるレコードの数に制限はありません。

オプションパラメーター: Limit

非対象

異なるページのレコードはサポートされていません。 返されるレコードの数に制限はありません。

レスポンスパラメーター

LastEvaluatedTableName

非対象

非該当

テーブル名

対象

非該当

DeleteTable

リクエストパラメーター

必須パラメーター: TableName

対象

非該当

レスポンスパラメーター

TableDescription

対象

詳細については、「TableDescription」をご参照ください。

PutItem

リクエストパラメーター

必須パラメーター: Item

対象

非該当

必須パラメーター: TableName

対象

非該当

オプションパラメーター: ConditionalOperator

非対象

非該当

オプションパラメーター: ConditionExpression

対象

詳細については、「式の互換性の詳細」をご参照ください。

オプションパラメーター: Expected

非対象

非該当

オプションパラメーター: ExpressionAttributeNames

対象

詳細については、「式の互換性の詳細」をご参照ください。

オプションパラメーター: ExpressionAttributeValues

対象

詳細については、「式の互換性の詳細」をご参照ください。

オプションパラメーター: ReturnConsumedCapacity

非対象

非該当

オプションパラメーター: ReturnItemCollectionMetrics

非対象

非該当

オプションパラメーター: ReturnValues

対象

非該当

レスポンスパラメーター

Attributes

対象

非該当

消費容量

非対象

非該当

ItemCollectionMetrics

非対象

非該当

UpdateItem

リクエストパラメーター

必須パラメーター: キー

対象

非該当

必須パラメーター: TableName

対象

非該当

オプションパラメーター: AttributeUpdates

非対象

非該当

オプションパラメーター: ConditionalOperator

非対象

非該当

オプションパラメーター: ConditionExpression

対象

詳細については、「式の互換性の詳細」をご参照ください。

オプションパラメーター: Expected

非対象

非該当

オプションパラメーター: ExpressionAttributeNames

対象

詳細については、「式の互換性の詳細」をご参照ください。

オプションパラメーター: ExpressionAttributeValues

対象

詳細については、「式の互換性の詳細」をご参照ください。

オプションパラメーター: ReturnConsumedCapacity

非対象

非該当

オプションパラメーター: ReturnItemCollectionMetrics

非対象

非該当

オプションパラメーター: ReturnValues

対象

非該当

オプションパラメーター: UpdateExpression

対象

詳細については、「式の互換性の詳細」をご参照ください。

レスポンスパラメーター

Attributes

対象

非該当

消費容量

非対象

非該当

ItemCollectionMetrics

非対象

非該当

GetItem

リクエストパラメーター

必須パラメーター: キー

対象

非該当

必須パラメーター: TableName

対象

非該当

オプションパラメーター: AttributesToGet

非対象

非該当

オプションのパラメーター: ConsistentRead

非対象

非該当

オプションパラメーター: ExpressionAttributeNames

対象

詳細については、「式の互換性の詳細」をご参照ください。

オプションパラメーター: ProjectionExpression

対象

詳細については、「式の互換性の詳細」をご参照ください。

オプションパラメーター: ReturnConsumedCapacity

非対象

非該当

レスポンスパラメーター

消費容量

非対象

非該当

項目

対象

非該当

DeleteItem

リクエストパラメーター

必須パラメーター: キー

対象

非該当

必須パラメーター: TableName

対象

非該当

オプションパラメーター: ConditionalOperator

非対象

非該当

オプションパラメーター: ConditionExpression

対象

詳細については、「式の互換性の詳細」をご参照ください。

オプションパラメーター: Expected

非対象

非該当

オプションパラメーター: ExpressionAttributeNames

対象

詳細については、「式の互換性の詳細」をご参照ください。

オプションパラメーター: ExpressionAttributeValues

対象

詳細については、「式の互換性の詳細」をご参照ください。

オプションパラメーター: ReturnConsumedCapacity

非対象

非該当

オプションパラメーター: ReturnItemCollectionMetrics

非対象

非該当

オプションパラメーター: ReturnValues

対象

非該当

レスポンスパラメーター

Attributes

対象

非該当

消費容量

非対象

非該当

ItemCollectionMetrics

非対象

非該当

BatchWriteItem

リクエストパラメーター

必須パラメーター: RequestItems

対象

非該当

オプションパラメーター: ReturnConsumedCapacity

非対象

非該当

オプションパラメーター: ReturnItemCollectionMetrics

非対象

非該当

レスポンスパラメーター

消費容量

非対象

非該当

ItemCollectionMetrics

非対象

非該当

UnprocessedItems

対象

非該当

BatchGetItem

リクエストパラメーター

必須パラメーター: RequestItems

対象

Itemは、AttributesToGetおよびConsistentReadパラメーターをサポートしていません。

オプションパラメーター: ReturnConsumedCapacity

非対象

非該当

レスポンスパラメーター

消費容量

非対象

非該当

レスポンス

対象

非該当

UnprocessedKeys

対象

非該当

クエリ

リクエストパラメーター

必須パラメーター: TableName

対象

非該当

オプションパラメーター: AttributesToGet

非対象

非該当

オプションパラメーター: ConditionalOperator

非対象

非該当

オプションのパラメーター: ConsistentRead

非対象

非該当

オプションパラメーター: ExclusiveStartKey

対象

非該当

オプションパラメーター: ExpressionAttributeNames

対象

詳細については、「式の互換性の詳細」をご参照ください。

オプションパラメーター: ExpressionAttributeValues

対象

詳細については、「式の互換性の詳細」をご参照ください。

オプションパラメーター: FilterExpression

対象

詳細については、「式の互換性の詳細」をご参照ください。

オプションパラメーター: IndexName

対象

非該当

オプションパラメーター: KeyConditionExpression

対象

詳細については、「式の互換性の詳細」をご参照ください。

オプションパラメーター: KeyConditions

非対象

非該当

オプションパラメーター: Limit

対象

非該当

オプションパラメーター: ProjectionExpression

対象

詳細については、「式の互換性の詳細」をご参照ください。

オプションパラメーター: QueryFilter

非対象

非該当

オプションパラメーター: ReturnConsumedCapacity

非対象

非該当

オプションパラメーター: ScanIndexForward

対象

非該当

オプションパラメーター:

非対象

非該当

レスポンスパラメーター

消費容量

非対象

非該当

Count

対象

非該当

項目

対象

非該当

LastEvaluatedKey

対象

非該当

ScannedCount

対象

非該当

Scan

リクエストパラメーター

必須パラメーター: TableName

対象

非該当

オプションパラメーター: AttributesToGet

非対象

非該当

オプションパラメーター: ConditionalOperator

非対象

非該当

オプションのパラメーター: ConsistentRead

非対象

非該当

オプションパラメーター: ExclusiveStartKey

対象

非該当

オプションパラメーター: ExpressionAttributeNames

対象

詳細については、「式の互換性の詳細」をご参照ください。

オプションパラメーター: ExpressionAttributeValues

対象

詳細については、「式の互換性の詳細」をご参照ください。

オプションパラメーター: FilterExpression

対象

詳細については、「式の互換性の詳細」をご参照ください。

オプションパラメーター: IndexName

対象

非該当

オプションパラメーター: Limit

対象

非該当

オプションパラメーター: ProjectionExpression

対象

詳細については、「式の互換性の詳細」をご参照ください。

オプションパラメーター: ReturnConsumedCapacity

非対象

非該当

オプションパラメータ: ScanFilter

非対象

非該当

オプションパラメータ: Segment

対象

非該当

オプションパラメーター:

非対象

非該当

オプションパラメーター: TotalSegments

対象

非該当

レスポンスパラメーター

消費容量

非対象

非該当

Count

対象

非該当

項目

対象

非該当

LastEvaluatedKey

対象

非該当

ScannedCount

対象

非該当

DynamoDB Streams操作の互換性の詳細

操作

パラメーター

対応

補足

DescribeStream

リクエストパラメーター

必須パラメーター: StreamArn

対象

非該当

オプションパラメーター: Limit

非対象

非該当

オプションパラメーター: ExclusiveStartShardId

非対象

非該当

レスポンスパラメーター

必須パラメーター: StreamDescription

対象

DynamoDB互換のApsaraDB for MongoDBインスタンスのこのレスポンスパラメーターの値は、次の点でAmazon DynamoDBインスタンスの値とは異なります。

  • StartingSequenceNumberパラメーターの値はunknownに固定されています。

  • EndingSequenceNumberパラメーターはタイムスタンプを示します。

  • dynamodb互換のApsaraDB for MongoDBシャードクラスターインスタンスにはシャードノードが1つしかないため、ShardIdパラメーターはarn:alibaba:mongo-DynamoDB @ shard-only-1に固定されています。

ListStreams

リクエストパラメーター

オプションパラメーター: TableName

対象

非該当

オプションパラメーター: Limit

非対象

非該当

オプションパラメーター: ExclusiveStartStreamArn

非対象

非該当

レスポンスパラメーター

必須パラメーター: Streams

対象

テーブルごとに、最大1つのストリームを返すことができます。

GetShardIterator

リクエストパラメーター

必須パラメーター: StreamArn

対象

非該当

必須パラメーター: ShardId

対象

dynamodb互換のApsaraDB for MongoDBシャードクラスターインスタンスにはシャードノードが1つしかないため、このパラメーターはarn:alibaba:mongo-DynamoDB @ shard-only-1に固定されています。

必須パラメーター: ShardIteratorType

対象

LATESTAFTER_SEQUENCE_NUMBERのみがサポートされています。

オプションパラメーター: SequenceNumber

対象

このパラメーターは、ShardIteratorTypeパラメーターがAFTER_SEQUENCE_NUMBERに設定されている場合にのみ有効です。 パラメータ値は、秒単位の32ビットのタイムスタンプとすることができる。

レスポンスパラメーター

必須パラメーター: ShardIterator

対象

非該当

GetRecords

リクエストパラメーター

必須パラメーター: ShardIterator

対象

非該当

オプションパラメーター: Limit

対象

このパラメーターを指定しない場合、各ページには1 MBのデータではなく101のデータエントリが含まれます。

レスポンスパラメーター

必須パラメーター: Records

対象

非該当

DynamoDB操作のデータ構造

データ型

項目

対応

TableDescription

ArchivalSummary

非対象

属性定義

非対象

BillingModeSummary

非対象

CreationDateTime

非対象

GlobalSecondaryIndexes

対象

GlobalTableVersion

非対象

ItemCount

対象

KeySchema

対象

LatestStreamArn

対象

LatestStreamLabel

対象

LocalSecondaryIndexes

対象

ProvisionedThroughput

非対象

レプリカ

非対象

RestoreSummary

非対象

SSEDescription

非対象

StreamSpecification

対象

TableArn

非対象

TableId

非対象

TableName

対象

TableSizeBytes

対象

TableStatus

対象

式の互換性の詳細

  • 含まれる属性名。: 含まれる属性名。An attribute name that contains. は、スカラー属性またはネストされたドキュメントを示します。 Amazon DynamoDBでは、式属性名がドキュメントパス内のすべての要素にマップされている場合、属性はスカラー属性として処理されます。 それ以外の場合、属性はネストされた属性として処理されます。

    説明

    クエリや射影式など、. を含むスカラー属性は、ApsaraDB for MongoDBでは処理できません。

  • 投影式: 1次元配列のみがサポートされます。 射影式に1つの配列要素のみが含まれる場合、他のフィールドが返されます。

  • 条件式:

    • 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)
    • operand1 comparator operand2では、operand1パスで、operand2はexpression属性値でなければなりません。

    • operand1 BETWEEN operand2 AND operand3では、operand1パスで、その他のオペランドは式属性値でなければなりません。

    • operand1 In (operand2 (',' operand3 (, ...) )) では、operand1パスで、その他のオペランドは式属性値でなければなりません。

    • functionsize(path) 関数の場合、pathフィールドはSTRINGタイプ (長さを決定するために使用) またはSETまたはLISTタイプ (サイズを決定するために使用) である必要があります。 BINARYまたはMAPタイプにすることはできません。

  • 式を更新する:

    • 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:

      • SET path = operandでは、operandpathにすることはできません。

      • SET path=operand1' + '|'-'operand2では、operand1パスでなければなりません。 これは、フィールドのインクリメントまたはデクリメントのみがこの式でサポートされていることを示します。

      • SET path = if_not_exists (path, value) では、2つのpathsが等しく、valueがexpression属性値である必要があります。

      • SET path = if_not_exists (path, value) では、複数の条件が同時に指定されている場合、部分的な更新はサポートされません。 これは、この式を実行するにはすべての条件を満たす必要があることを示します。

      • SET path = list_append(list1, list2) では、list1値とlist2値のいずれかがpathに等しく、もう一方がexpression属性値である必要があります。

    • remove-action: list内の要素が削除されると、削除された要素を置き換えるためにnullが使用されます。 リストサイズは変更されず、残りの要素はシフトされません。

データ型マッピング

Amazon DynamoDBは、ApsarsDB for MongoDBとは異なるデータタイプをサポートしています。 2つのデータタイプセット間の互換性のために、DynamoDB互換のApsaraDB for MongoDBインスタンスとApsaraDB for MongoDBインスタンスの間でデータタイプマッピングが提供されます。

次の表に、データ型のマッピングを示します。

DynamoDBデータ型

MongoDBデータ型

B

バイナリデータ

BOOL

Boolean

BS

*

L

配列

M

オブジェクト

N

Double

NS

*

NULL

ヌル

S

String

SS

*

説明

Amazon DynamoDBでは、各値はバイナリセット (BS) 、数値セット (NS) 、または文字列セット (SS) 内で一意である必要があります。 たとえば、NSに1,2、2、3を挿入すると、Amazon DynamoDBは重複を削除し、挿入されたデータは1,2、3になります。 DynamoDB互換のApsaraDB for MongoDBインスタンスは、BS、NS、およびSSのデータ重複排除をサポートしていません。 この場合、前の表の * データ型は配列として処理されます。 ApsaraDB for MongoDBの後のリリースでは、これらのデータ型はデータ重複排除用に最適化されます。