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

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

最終更新日:Jun 12, 2024

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

背景情報

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

N/A

必須パラメーター: KeySchema

N/A

必須パラメーター: TableName

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

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

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

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

任意

N/A

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

N/A

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

N/A

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

任意

N/A

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

任意

N/A

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

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

  • KEYS_ONLY

    説明

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

  • NEW_IMAGE

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

任意

N/A

レスポンスパラメーター

TableDescription

N/A

UpdateTable

リクエストパラメーター

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

N/A

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

任意

N/A

必須パラメーター: GlobalSecondaryIndexesUpdates

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

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

任意

N/A

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

任意

N/A

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

任意

N/A

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

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

  • KEYS_ONLY

    説明

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

  • NEW_IMAGE

必須パラメーター: TableName

N/A

レスポンスパラメーター

TableDescription

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

DescribeTable

リクエストパラメーター

必須パラメーター: TableName

N/A

レスポンスパラメーター

テーブル

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

リストテーブル

リクエストパラメーター

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

任意

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

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

任意

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

レスポンスパラメーター

LastEvaluatedTableName

任意

N/A

テーブル名

N/A

DeleteTable

リクエストパラメーター

必須パラメーター: TableName

N/A

レスポンスパラメーター

TableDescription

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

PutItem

リクエストパラメーター

必須パラメーター: Item

N/A

必須パラメーター: TableName

N/A

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

任意

N/A

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

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

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

任意

N/A

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

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

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

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

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

任意

N/A

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

任意

N/A

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

N/A

レスポンスパラメーター

Attributes

N/A

消費容量

任意

N/A

ItemCollectionMetrics

任意

N/A

UpdateItem

リクエストパラメーター

必須パラメーター: キー

N/A

必須パラメーター: TableName

N/A

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

任意

N/A

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

任意

N/A

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

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

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

任意

N/A

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

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

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

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

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

任意

N/A

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

任意

N/A

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

N/A

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

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

レスポンスパラメーター

Attributes

N/A

消費容量

任意

N/A

ItemCollectionMetrics

任意

N/A

GetItem

リクエストパラメーター

必須パラメーター: キー

N/A

必須パラメーター: TableName

N/A

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

任意

N/A

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

任意

N/A

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

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

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

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

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

任意

N/A

レスポンスパラメーター

消費容量

任意

N/A

項目

N/A

DeleteItem

リクエストパラメーター

必須パラメーター: キー

N/A

必須パラメーター: TableName

N/A

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

任意

N/A

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

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

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

任意

N/A

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

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

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

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

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

任意

N/A

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

任意

N/A

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

N/A

レスポンスパラメーター

Attributes

N/A

消費容量

任意

N/A

ItemCollectionMetrics

任意

N/A

BatchWriteItem

リクエストパラメーター

必須パラメーター: RequestItems

N/A

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

任意

N/A

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

任意

N/A

レスポンスパラメーター

消費容量

任意

N/A

ItemCollectionMetrics

任意

N/A

UnprocessedItems

N/A

BatchGetItem

リクエストパラメーター

必須パラメーター: RequestItems

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

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

任意

N/A

レスポンスパラメーター

消費容量

任意

N/A

レスポンス

N/A

UnprocessedKeys

N/A

クエリ

リクエストパラメーター

必須パラメーター: TableName

N/A

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

任意

N/A

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

任意

N/A

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

任意

N/A

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

N/A

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

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

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

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

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

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

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

N/A

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

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

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

任意

N/A

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

N/A

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

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

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

任意

N/A

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

任意

N/A

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

N/A

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

任意

N/A

レスポンスパラメーター

消費容量

任意

N/A

集計

N/A

項目

N/A

LastEvaluatedKey

N/A

ScannedCount

N/A

Scan

リクエストパラメーター

必須パラメーター: TableName

N/A

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

任意

N/A

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

任意

N/A

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

任意

N/A

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

N/A

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

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

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

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

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

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

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

N/A

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

N/A

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

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

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

任意

N/A

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

任意

N/A

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

N/A

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

任意

N/A

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

N/A

レスポンスパラメーター

消費容量

任意

N/A

集計

N/A

項目

N/A

LastEvaluatedKey

N/A

ScannedCount

N/A

DynamoDB Streams操作の互換性の詳細

操作

パラメーター

サポート対象

説明

DescribeStream

リクエストパラメーター

必須パラメーター: StreamArn

N/A

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

任意

N/A

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

任意

N/A

レスポンスパラメーター

必須パラメーター: 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

N/A

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

任意

N/A

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

任意

N/A

レスポンスパラメーター

必須パラメーター: Streams

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

GetShardIterator

リクエストパラメーター

必須パラメーター: StreamArn

N/A

必須パラメーター: ShardId

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

必須パラメーター: ShardIteratorType

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

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

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

レスポンスパラメーター

必須パラメーター: ShardIterator

N/A

GetRecords

リクエストパラメーター

必須パラメーター: ShardIterator

N/A

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

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

レスポンスパラメーター

必須パラメーター: Records

N/A

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の条件式の構文:

      条件式: ::=
            operand comparatorオペランド
          | operand BETWEENオペランドANDオペランド
          | operand IN ( operand (',' operand (, ...) ) ))
          | 関数
          | 条件と条件
          | 条件または条件
          | 条件ではない
          | (条件)
      
      コンパレータ::=
          =
          | <>
          | <
          | <=
          |>
          | >=
      
      関数 :::=
          attribute_exists (パス)
          | attribute_not_exists (パス)
          | attribute_type (パス、タイプ)
          | begins_with (path, substr)
          | contains (path, operand)
          | サイズ (パス) 
    • 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] ... ]
          [削除アクション [、アクション] ...]
          [ADD action [, action] ... ]
          [DELETEアクション [、アクション] ...]
      
      set-アクション::=
          パス=値
      
      値 ::=
          オペランド
          | operand '+' オペランド
          | operand '-' オペランド
      
      オペランド ::=
          パス | 関数
      
      関数 :::=
          if_not_exists (パス、値)
          | list_append (list1, list2)
      
      削除アクション :::=
          パス
      
      add-action :::=
          パス値
      
      delete-action :::=
          パス値 
    • 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が使用されます。 Listサイズは変更されず、残りの要素はシフトされません。

データ型マッピング

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の後のリリースでは、これらのデータ型はデータ重複排除用に最適化されます。