針對輸入布建 API 問題進行疑難解答
簡介
本文件涵蓋輸入布建 API 的常見錯誤和問題,以及如何進行疑難解答。
疑難排解案例
無效的數據格式
問題描述
- 您會收到 HTTP 400(不正確的要求)回應碼的錯誤訊息
Invalid Data Format
。
可能的原因
- 您會根據布 建 /bulkUpload API 規格來傳送有效的大量要求,但您尚未將 HTTP 要求標頭 'Content-Type' 設定為
application/scim+json
。 - 您傳送不符合布 建 /bulkUpload API 規格的大量要求。
解決方法:
- 確定 HTTP 要求已
Content-Type
將標頭設定為 值application/scim+json
。 - 請確定大量要求承載符合布 建 /bulkUpload API 規格。
布建記錄中沒有任何專案
問題描述
- 您已將要求傳送至布建 /bulkUpload API 端點,而且您收到 HTTP 202 回應碼,但布建記錄中沒有對應至要求的數據。
可能的原因
- API 驅動的布建應用程式已暫停。
- 布建服務尚未使用大量要求處理詳細數據來更新布建記錄。
- 您的內部部署布建代理程式狀態為非使用中狀態(如果您正在執行 /API 導向的輸入使用者布建至 內部部署的 Active Directory)。
解決方法:
- 確認您的布建應用程式正在執行。 如果未執行,請選取 [開始布建] 功能表選項以處理數據。
- 重新啟動內部部署代理程式,將您的內部部署布建代理程式狀態開啟為作用中。
- 在處理要求和寫入布建記錄之間,預期會有 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
。
解決方法:
- 取得 [ 編輯屬性對應 ] 頁面。
UserPrincipalName
選取對應並將其更新為使用 函式RandomString
。- 將此表示式複製並貼到表示式方塊中:
Join("", Replace([userName], , "(?<Suffix>@(.)*)", "Suffix", "", , ), RandomString(3, 3, 0, 0, 0, ), "@", DefaultDomain())
此表達式會將隨機數附加至 Microsoft Entra ID 所接受的 UPN 值,以修正此問題。
使用者建立失敗 - 網域無效
問題描述 使用者布建失敗。 布建記錄會顯示指出的錯誤訊息 domain does not exist
。
解決方法:
- 移至 [ 編輯屬性對應 ] 頁面。
UserPrincipalName
選取對應,並將此表示式複製並貼到表示式輸入方塊中:Join("", Replace([userName], , "(?<Suffix>@(.)*)", "Suffix", "", , ), RandomString(3, 3, 0, 0, 0, ), "@", DefaultDomain())
此表達式會將預設網域附加至 Microsoft Entra ID 所接受的 UPN 值,以修正此問題。