Copy アクティビティで Azure Cosmos DB for MongoDB を構成する
この記事では、データ パイプラインのCopy アクティビティを使用して、Azure Cosmos DB for MongoDB との間でデータをコピーする方法について説明します。
サポートされている構成
Copy アクティビティの下の各タブの構成については、それぞれ次のセクションを参照してください。
全般
[全般設定] タブを構成するには、全般設定のガイダンスを参照してください。
Source
[ソース] タブに移動して、コピー アクティビティのソースを構成します。 詳細な構成については、次の内容を参照してください。
次のプロパティは必須です。
- [接続]: 接続リストから Azure Cosmos DB for MongoDB 接続を選択します。 接続が存在しない場合は、接続一覧の下部にある [その他] を選択して、新しい Azure Cosmos DB for MongoDB 接続を作成します。
- [データベース]: ドロップ ダウン リストからデータベースを選びます。
- [コレクション名]: Azure Cosmos DB コレクションの名前を指定します。 ドロップダウン リストからコレクションを選択できます。
[詳細設定] では、次のフィールドを指定できます。
- [フィルター]: クエリ演算子を使って選択フィルターを指定します。 コレクション内のすべてのドキュメントを返すには、このパラメーターを省略するか、空のドキュメント ({}) を渡します。
- [Cursor メソッド]: [+ 新規] を選んで、基になるクエリの実行方法を指定します。 クエリを実行する方法は次のとおりです。
- project: プロジェクションのドキュメントで返されるフィールドを指定します。 一致するドキュメント内のすべてのフィールドを返すには、このパラメーターを省略します。
- sort: 一致するドキュメントがクエリによって返される順序を指定します。 詳細については、「cursor.sort()」を参照してください。
- limit: サーバーが返すドキュメントの最大数を指定します。 詳細については、「cursor.limit()」を参照してください。
- skip: スキップするドキュメントの数と、MongoDB が結果を返すときの開始位置を指定します。 詳細については、「cursor.skip()」を参照してください。
- [バッチ サイズ]: MongoDB インスタンスからの応答の各バッチで返されるドキュメントの数を指定します。 ほとんどの場合、バッチ サイズを変更しても、ユーザーまたはアプリケーションへの影響はありません。 Azure Cosmos DB では各バッチのサイズが 40 MB を超過しないように制限されていますが、これはドキュメントがバッチ サイズの数だけ存在するときの合計サイズなので、ドキュメントのサイズが大きくなる場合はこの値を減らしてください。 既定値は 100 です。
- [追加の列]: ソース ファイルの相対パスまたは静的値を格納するための追加のデータ列を追加します。 後者では式がサポートされています。
宛先
[コピー先] タブに移動して、コピー アクティビティのコピー先を構成します。 詳細な構成については、次の内容を参照してください。
次のプロパティは必須です。
- [接続]: 接続リストから Azure Cosmos DB for MongoDB 接続を選択します。 接続が存在しない場合は、接続一覧の下部にある [その他] を選択して、新しい Azure Cosmos DB for MongoDB 接続を作成します。
- [データベース]: ドロップ ダウン リストからデータベースを選びます。
- [コレクション名]: Azure Cosmos DB コレクションの名前を指定します。 ドロップダウン リストからコレクションを選択できます。
[詳細設定] では、次のフィールドを指定できます。
[書き込む動作]: Azure Cosmos DB for MongoDB にデータを書き込む方法について説明します。 使用できる値は、[挿入] と [アップサート] です。
アップサートの動作では、同じ
_id
を持つドキュメントが既に存在する場合はそのドキュメントを置き換え、それ以外の場合はドキュメントを挿入します。Note
元のドキュメントまたは列マッピングで
_id
が指定されていない場合は、サービスによってドキュメントの_id
が自動的に生成されます。 つまり、アップサートが期待どおりに動作するには、ドキュメントに ID があることを確認する必要があります。[書き込みバッチ タイムアウト]: タイムアウトになるまでにバッチ挿入操作の完了を待つ時間です。許容される値は時間間隔で、00:30:00 (30 分) が既定値となっています。
[書き込みバッチ サイズ]: このプロパティは、各バッチで書き込むドキュメントのサイズを制御します。 パフォーマンスを向上させるには値を大きくしてみて、ドキュメントのサイズが大きい場合は値を小さくしてみます。 既定値は 10,000 です。
マッピング
[マッピング] タブの構成については、「[マッピング] タブでマッピングを構成する」をご覧ください。コピー元とコピー先の両方が階層データのときは、マッピングはサポートされません。
設定
[設定] タブの構成については、「[設定] タブで他の設定を構成する」を参照してください。
表の概要
次の表は、Azure Cosmos DB for MongoDB での Copy アクティビティについての詳細です。
ソース情報
名前 | Description | Value | 必須 | JSON スクリプト プロパティ |
---|---|---|---|---|
接続 | ソース データ ストアへの実際の接続。 | <Azure Cosmos DB for MongoDB 接続> | はい | つながり |
データベース | ソースとして使用するデータベース。 | < データベース > | はい | database |
[コレクション名] | Azure Cosmos DB コレクションの名前。 | < コレクション > | はい | collection |
Assert | クエリ演算子を使用した選択フィルター。 コレクション内のすべてのドキュメントを返すには、このパラメーターを省略するか、空のドキュメント ({}) を渡します。 | < 選択フィルター > | いいえ | フィルター |
Cursor メソッド | 基になるクエリの実行方法。 | • プロジェクト • sort • limit • skip |
いいえ | cursorMethods: • プロジェクト • sort • limit • skip |
バッチ サイズ | MongoDB インスタンスからの応答の各バッチで返されるドキュメントの数。 ほとんどの場合、バッチ サイズを変更しても、ユーザーまたはアプリケーションへの影響はありません。 Azure Cosmos DB では各バッチのサイズが 40 MB を超過しないように制限されていますが、これはドキュメントがバッチ サイズの数だけ存在するときの合計サイズなので、ドキュメントのサイズが大きくなる場合はこの値を減らしてください。 | < 書き込みバッチのサイズ > (既定値は 100) |
いいえ | batchSize |
追加の列 | ソース ファイルの相対パスまたは静的値を格納するための追加のデータ列を追加します。 後者では式がサポートされています。 | • 名前 • 値 |
いいえ | additionalColumns: •名前 • value |
コピー先の情報
名前 | Description | Value | 必須 | JSON スクリプト プロパティ |
---|---|---|---|---|
接続 | コピー先データ ストアへの接続。 | <Azure Cosmos DB for MongoDB 接続> | はい | つながり |
データベース | コピー先として使用するデータベース。 | < データベース > | はい | database |
[コレクション名] | Azure Cosmos DB コレクションの名前。 | < コレクション > | はい | collection |
[Write behavior](書き込み動作) | Azure Cosmos DB for MongoDB にデータを書き込む方法を示します。 使用できる値は、[挿入] と [アップサート] です。 アップサートの動作では、同じ _id を持つドキュメントが既に存在する場合はそのドキュメントを置き換え、それ以外の場合はドキュメントを挿入します。注: 元のドキュメントまたは列マッピングで _id が指定されていない場合は、サービスによってドキュメントの _id が自動的に生成されます。 つまり、アップサートが期待どおりに動作するには、ドキュメントに ID があることを確認する必要があります。 |
• 挿入 (既定値) • [Upsert](アップサート) |
いいえ | writeBehavior: • insert • upsert |
[書き込みバッチ タイムアウト] | タイムアウトする前に一括挿入操作の完了を待つ時間です。 | TimeSpan (既定値は 00:30:00 - 30 分) |
いいえ | writeBatchTimeout |
[Write batch size](書き込みバッチ サイズ) | 各バッチで書き込むドキュメントのサイズを制御します。 パフォーマンスを向上させるにはこの値を大きくしてみて、ドキュメントのサイズが大きい場合は値を小さくしてみます。 | < 書き込みバッチのサイズ > (既定値は 10,000) |
いいえ | writeBatchSize |