您必須將 2 億個 JSON 文件遷移到現有的 Azure Cosmos DB SQL API 容器中,如果文件已存在,則執行 upsert。目標是最大化輸送量、自動處理節流,並最大限度地減少 .NET 服務中的程式碼變更。您應該採取哪兩個行動?
選擇一個答案
點擊一個選項來檢查您的答案。
正確答案: 使用已啟用 AllowBulkExecution 的 Azure Cosmos DB .NET SDK (v3/v4) 並分派平行的 CreateItemAsync/UpsertItemAsync 呼叫。, 使用適用於 .NET 或 Java 的 Azure Cosmos DB Bulk Executor 程式庫來執行高輸送量的批次匯入和更新操作。.
為什麼這是答案
正確答案是使用已啟用 AllowBulkExecution 的 Azure Cosmos DB .NET SDK (v3/v4) 並分派平行的 CreateItemAsync/UpsertItemAsync 呼叫,以及使用適用於 .NET 或 Java 的 Azure Cosmos DB Bulk Executor 程式庫來執行高輸送量的批次匯入和更新操作。這兩種方法都旨在最大化輸送量並自動處理節流,這是遷移大量文件時的關鍵要求。AllowBulkExecution 模式允許 SDK 在內部將操作批次處理為單一服務呼叫,從而提高效率。Bulk Executor 程式庫專為高輸送量操作而設計,並內建了節流處理機制。 在單一執行緒上依序插入文件並使用指數退避會導致輸送量過低,無法有效遷移 2 億個文件。將寫入操作包裝在用戶端迴圈中,該迴圈為每個文件呼叫一次預存程序,會因每個文件都有額外的網路往返而效率低下,並且可能無法處理大量資料。使用單一 Azure Functions 實例和佇列觸發器會將寫入操作序列化,這會嚴重限制輸送量,無法滿足大規模遷移的需求。
通過考試 — 無需無休止地尋找答案
集中一處獲取此考試的所有核實題目和解釋,節省數小時的準備時間。1,000 多種認證 · 20 多種語言 · 免費開始。
更快通過您的考試 → 無需信用卡