共用方式為


針對輸入布建 API 問題進行疑難解答

簡介

本文件涵蓋輸入布建 API 的常見錯誤和問題,以及如何進行疑難解答。

疑難排解案例

無效的數據格式

問題描述

  • 您會收到 HTTP 400(不正確的要求)回應碼的錯誤訊息 Invalid Data Format

可能的原因

  1. 您會根據布 建 /bulkUpload API 規格來傳送有效的大量要求,但您尚未將 HTTP 要求標頭 'Content-Type' 設定為 application/scim+json
  2. 您傳送不符合布 建 /bulkUpload API 規格的大量要求。

解決方法:

  1. 確定 HTTP 要求已 Content-Type 將標頭設定為 值 application/scim+json
  2. 請確定大量要求承載符合布 建 /bulkUpload API 規格。

布建記錄中沒有任何專案

問題描述

  • 您已將要求傳送至布建 /bulkUpload API 端點,而且您收到 HTTP 202 回應碼,但布建記錄中沒有對應至要求的數據。

可能的原因

  1. API 驅動的布建應用程式已暫停。
  2. 布建服務尚未使用大量要求處理詳細數據來更新布建記錄。
  3. 您的內部部署布建代理程式狀態為非使用中狀態(如果您正在執行 /API 導向的輸入使用者布建至 內部部署的 Active Directory)。

解決方法:

  1. 確認您的布建應用程式正在執行。 如果未執行,請選取 [開始布建] 功能表選項以處理數據。
  2. 重新啟動內部部署代理程式,將您的內部部署布建代理程式狀態開啟為作用中。
  3. 在處理要求和寫入布建記錄之間,預期會有 5 到 10 分鐘的延遲。 如果您的 API 用戶端將數據傳送至布建 /bulkUpload API 端點,則會導致要求調用和布建記錄查詢之間的時間延遲。

禁止 403 回應碼

要求太多 429 回應碼

bulkUpload API 端點會強制執行下列節流限制,並在違反這些限制時傳回 429 回應碼。

  • 每 5 秒 40 個 API 呼叫 – 如果呼叫數目超出 5 秒範圍內的此限制,則用戶端會取得 429 個回應。 若要避免這種情況 ,其中一個方法是使用用戶端要求提交邏輯中的延遲來步調 要求提交。 

  • 6000 API 呼叫在 24 小時期間 – 如果呼叫數目超過此限制,則用戶端會取得 429 回應。 若要避免這種情況,其中一個方法是確保您的SCIM大量承載已優化,以針對每個API呼叫使用最多50筆記錄。 使用此方法,您可以每隔 24 小時傳送 300K 筆記錄。

問題描述

  • 您已將要求傳送至布建 /bulkUpload API 端點,並取得 HTTP 403(禁止)回應碼。

可能的原因

  • 圖形許可權 SynchronizationData-User.Upload 未指派給您的 API 用戶端。

解決方法:

  • 將 API 用戶端指派 Graph 許可權 SynchronizationData-User.Upload ,然後重試作業。

未經授權的 401 回應碼

問題描述

  • 您已將要求傳送至布建 /bulkUpload API 端點,並取得 HTTP 401(未經授權)回應碼。 錯誤碼會顯示 「InvalidAuthenticationToken」,並顯示「存取令牌已過期或尚未有效」的訊息。

可能的原因

  • 您的存取令牌已過期。

解決方法:

  • 為您的 API 用戶端產生新的存取令牌。

作業進入隔離狀態

問題描述

  • 您剛開始布建應用程式,且處於隔離狀態。

可能的原因

  • 在開始作業之前,您尚未設定通知電子郵件。

解決方案: 移至 [ 編輯布建 ] 功能表項。 在 [設定 發生失敗時傳送電子郵件通知旁邊的複選框,以及輸入通知電子郵件的欄位。 請務必核取方塊、提供電子郵件,並儲存變更。 按兩下 [ 重新啟動布建 ] 以將作業從隔離區中取出。

使用者建立 - 無效的 UPN

問題描述 使用者布建失敗。 布建記錄會顯示錯誤碼: AzureActiveDirectoryInvalidUserPrincipalName

解決方法:

  1. 取得 [ 編輯屬性對應 ] 頁面。
  2. UserPrincipalName選取對應並將其更新為使用 函式RandomString
  3. 將此表示式複製並貼到表示式方塊中: Join("", Replace([userName], , "(?<Suffix>@(.)*)", "Suffix", "", , ), RandomString(3, 3, 0, 0, 0, ), "@", DefaultDomain())

此表達式會將隨機數附加至 Microsoft Entra ID 所接受的 UPN 值,以修正此問題。

使用者建立失敗 - 網域無效

問題描述 使用者布建失敗。 布建記錄會顯示指出的錯誤訊息 domain does not exist

解決方法:

  1. 移至 [ 編輯屬性對應 ] 頁面。
  2. UserPrincipalName選取對應,並將此表示式複製並貼到表示式輸入方塊中:Join("", Replace([userName], , "(?<Suffix>@(.)*)", "Suffix", "", , ), RandomString(3, 3, 0, 0, 0, ), "@", DefaultDomain())

此表達式會將預設網域附加至 Microsoft Entra ID 所接受的 UPN 值,以修正此問題。

下一步