在複製活動中設定 Azure Cosmos DB for MongoDB
本文概述如何在資料管線中使用複製活動,從 Azure Cosmos DB for MongoDB 資料複製或將資料複製到其中。
支援的設定
對於複製活動下每個索引標籤的組態,請分別參閱下列各節。
一般
請參閱<[一般] 設定>指導,來設定 [一般] 設定索引標籤。
來源
前往 [來源] 索引標籤以設定複製活動來源。 如需詳細的組態,請參閱下列內容。
以下是必要的屬性:
- 連線:從連線清單選取 [Azure Cosmos DB for MongoDB 連線]。 如果不存在連線,請選取連線清單底部的 [更多],以建立新的 Azure Cosmos DB for MongoDB 連線。
- 資料庫:在下拉式清單中選取您的資料庫。
- 集合名稱:指定 Azure Cosmos DB 集合的名稱。 可以從下拉式清單中選取集合。
在 [進階] 下,可以指定下列欄位:
- 篩選器:使用查詢運算子指定選取範圍篩選。 若要傳回集合中的所有文件,請省略此參數,或傳遞空白文件 ({})。
- 指標方法:選取 [+ 新增] 以指定基礎查詢的執行方式。 執行查詢的方式如下:
- 投影:指定要在投影文件中傳回的欄位。 若要傳回比對文件中的所有欄位,請省略此參數。
- 排序:指定查詢傳回比對文件的順序。 若要了解詳細資訊,請參閱<cursor.sort()>。
- 限制:指定伺服器傳回的文件數目上限。 若要了解詳細資訊,請參閱<cursor.limit()>。
- 略過:指定要略過的文件數,以及 MongoDB 開始傳回結果的位置。 若要了解詳細資訊,請參閱<cursor.skip()>。
- 批次大小:指定要在回應的每個批次中從 MongoDB 執行個體傳回的文件數目。 在大部分情況下,修改批次大小不會影響使用者或應用程式。 Azure Cosmos DB 限制每個批次的大小不能超過 40 MB,也就是文件大小的 [批次大小] 總數,因此,如果文件大小很大,請降低此值。 預設值是 100。
- 其他資料行:新增其他資料行來儲存來源檔案的相對路徑或靜態值。 後者支援運算式。
Destination
前往 [目的地] 索引標籤以設定複製活動目的地。 如需詳細的組態,請參閱下列內容。
以下是必要的屬性:
- 連線:從連線清單選取 [Azure Cosmos DB for MongoDB 連線]。 如果不存在連線,請選取連線清單底部的 [更多],以建立新的 Azure Cosmos DB for MongoDB 連線。
- 資料庫:在下拉式清單中選取您的資料庫。
- 集合名稱:指定 Azure Cosmos DB 集合的名稱。 可以從下拉式清單中選取集合。
在 [進階] 下,可以指定下列欄位:
寫入行為:描述如何將資料寫入至 Azure Cosmos DB for MongoDB。 允許的值:insert 和 upsert。
如果存在具有相同
_id
的文件,Upsert 的行為會用來取代文件;否則會插入文件。注意
如果未在原始文件中或藉由資料行對應來指定
_id
,則服務會自動為文件產生_id
。 這表示您必須確定,為了讓 Upsert 如預期般運作,您的文件具有識別碼。寫入批次逾時:在逾時前等待批次插入作業完成的時間。允許的值為時間範圍,預設值為 00:30:00 (30 分鐘)。
寫入批次大小:此屬性可控制在每個批次中寫入的文件大小。 可以嘗試增加此值來改善效能,如果文件大小很大,則可嘗試降低此值。 預設值為 10,000。
對應
對於 [對應] 索引標籤組態,請參閱<在 [對應] 索引標籤下設定對應>。當來源和目的地都是階層式資料時,不支援對應。
設定
對於 [設定] 索引標籤組態,請參閱<在 [設定] 索引標籤下進行其他設定>。
資料表摘要
下列資料表包含有關 Azure Cosmos DB for MongoDB中複製活動的詳細資訊。
來源資訊
名稱 | 描述: | 值 | 必要 | JSON 指令碼屬性 |
---|---|---|---|---|
[連接] | 與來源資料存放區的連線。 | <Azure Cosmos DB for MongoDB 連線> | 必要 | connection |
Database | 您用作來源的資料庫。 | <您的資料庫> | 必要 | database |
集合名稱 | Azure Cosmos DB 集合的名稱。 | <您的集合> | 必要 | collection |
Filter | 使用查詢運算子的選取範圍篩選。 若要傳回集合中的所有文件,請省略此參數,或傳遞空白文件 ({})。 | <您的選取範圍篩選> | 不必要 | 篩選器 |
指標方法 | 基礎查詢的執行方式。 | • 投影 • 排序 • 限制 • 略過 |
不必要 | cursorMethods: • 投影 • 排序 • 限制 • 略過 |
批次大小 | 要在回應的每個批次中從 MongoDB 執行個體傳回的文件數目。 在大部分情況下,修改批次大小不會影響使用者或應用程式。 Azure Cosmos DB 限制每個批次的大小不能超過 40 MB,也就是文件大小的 [批次大小] 總數,因此,如果文件大小很大,請降低此值。 | <您的寫入批次大小> (預設值為 100) |
不必要 | batchSize |
其他資料行 | 新增其他資料行來儲存來源檔案的相對路徑或靜態值。 後者支援運算式。 | • 名稱 • 值 |
不必要 | additionalColumns: • 名稱 • 值 |
目的地資訊
名稱 | 描述: | 值 | 必要 | JSON 指令碼屬性 |
---|---|---|---|---|
[連接] | 與目的地資料存放區的連線。 | <Azure Cosmos DB for MongoDB 連線> | 必要 | connection |
Database | 您的目的地資料庫。 | <您的資料庫> | 必要 | database |
集合名稱 | Azure Cosmos DB 集合的名稱。 | <您的集合> | 必要 | collection |
寫入行為 | 描述如何將資料寫入至 Azure Cosmos DB for MongoDB。 允許的值:insert 和 upsert。 如果存在具有相同 _id 的文件,Upsert 的行為會用來取代文件;否則會插入文件。附註:如果未在原始文件中或藉由資料行對應來指定 _id ,則服務會自動為文件產生 _id 。 這表示您必須確定,為了讓 Upsert 如預期般運作,您的文件具有識別碼。 |
• Insert (預設值) • Upsert |
不必要 | writeBehavior: • insert • upsert |
寫入批次逾時 | 在逾時前等待批次插入作業完成的時間。 | 時間範圍 (預設值為 00:30:00 - 30 分鐘) |
不必要 | writeBatchTimeout |
寫入批次大小 | 控制在每個批次中寫入的文件大小。 您可以嘗試增加此值來改善效能,如果您的文件大小很大,則可嘗試降低此值。 | <您的寫入批次大小> (預設值為 10,000) |
不必要 | writeBatchSize |