Azure B2 C Active Directory: обновить одно свойство для всех пользователей. - PullRequest
0 голосов
/ 17 апреля 2020

В моем текущем проекте я использую Microsoft Azure B2 C Actice Directory.

Я планирую обновить свойство speciffi c (testClaim) каждого отдельного пользователя.

Что я на самом деле делаю, так это загружаю всех пользователей в мою AD и обновляю каждого из них в foreach -l oop.

        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"
  }
}

Есть ли способ избежать этого без регулирования моего запроса? На мой взгляд, регулирование не является выбором, поскольку для обновления количества пользователей, с которыми он имеет дело, потребуется несколько часов.

1 Ответ

1 голос
/ 18 апреля 2020

Нет, нет способа обойти ограничения дросселирования. Это может занять несколько часов для обработки по принятой ставке. Попробуйте 1000 опсов в минуту максимум. Убедитесь, что реализовали логи c, если получили HTTP 429.

...