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