azure-active-directory - Azure B2C Active Directory:更新所有用户的一个属性
问题描述
在我当前的项目中,我使用的是 Microsoft 的 Azure B2C Actice Directory。
testClaim
我的计划是更新每个用户的特定属性 ( )。
我实际上正在做的是将所有用户加载到我的 AD 中并在foreach
循环中更新每个用户。
var requestBody = new SetTestClaimRequest
{
ClaimName = "testClaim",
Value = "thisIsATestValue"
};
var client = new RestClient("myRes");
var request = new RestRequest(Method.PUT);
request.AddJsonBody(requestBody);
我面临的问题是,GraphApi 开始阻止我的请求,在几个之后,只是回答以下错误:
Error Calling the Graph API:
{
"odata.error": {
"code": "Request_ThrottledTemporarily",
"message": {
"lang": "en",
"value": "Your request is throttled temporarily. Please try after 150 seconds."
},
"requestId": "ccf8a936-490e-4c4a-87aa-125157b2e6dd",
"date": "2020-04-17T12:37:44"
}
}
有没有办法在不限制我的请求的情况下避免这种情况?在我看来,节流不是一种选择,因为更新我处理的用户数量需要几个小时。
解决方案
不,没有办法绕过节流限制。以可接受的速度处理可能需要几个小时。最多尝试每分钟 1000 次操作。如果您收到 HTTP 429,请确保实现回退逻辑。
推荐阅读
- cassandra - Cassandra tablestats 显示完全修复后修复率为 0.0%
- python - 使用 pd.DataFrame(ticker: data.c) 获取 SyntaxError
- kotlin - 如何使用不可变转换在 Kotlin 中反转地图
- python - 如何将图像更改为表示为 NumPy 数组的灰度
- c# - 在 C# 中基于用户输入代码编写动态 sql 查询
- python - Scapy多次嗅探数据包?
- javascript - 从mysql创建动态折线图实时数据
- swagger - POST 和 GET 方法的 swagger 模型定义
- java - 从 SQLite Column 获取所有数字字符串并获取总和计算
- rxjs - 合并固定数量的 mergeMapped observables - RxJS