Azure B2C Active Directory:对所有用户更新一个 属性
Azure B2C Active Directory: Update one property on all User
在我当前的项目中,我使用的是 Microsofts Azure B2C Actice Directory。
我的计划是更新每个用户的特定 属性 (testClaim
)。
我实际上在做的是加载我广告中的所有用户并在 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,请确保实施退避逻辑。
在我当前的项目中,我使用的是 Microsofts Azure B2C Actice Directory。
我的计划是更新每个用户的特定 属性 (testClaim
)。
我实际上在做的是加载我广告中的所有用户并在 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,请确保实施退避逻辑。