Как отложить выполнение процесса после превышения лимита API - PullRequest
0 голосов
/ 18 ноября 2018

Я создал функцию Azure для извлечения данных через вызовы API и загрузки в таблицу Azure. Так как данные огромны каждый раз, когда пределы API превышают. Лимит вызовов API составляет 300 в минуту. Поэтому я думаю, что если мы задержим процесс после 290 вызовов API на минуту, процесс продолжится из очереди в следующую минуту.

Посоветуйте, пожалуйста, будет ли работать вышеуказанная логика?

Ниже приведен код, я не вижу, что приведенный ниже код задерживает процесс. Пожалуйста, сообщите.

public static void Run([TimerTrigger("0 */60 * * * *")]TimerInfo 
myTimer,TraceWriter log)
    {
      const string StorageAccountName=""
      const string StorageAccountKey=""
      CloudTable tableReference1 = 
storageAccount.CreateCloudTableClient().GetTableReference("APIcounttable");
tableReference1.CreateIfNotExists((TableRequestOptions)null, 
(OperationContext)null);
        int num = new Random().Next(1, 999999999);
        DateTime now = DateTime.Now;
tableReference1.Execute(TableOperation.Insert((ITableEntity)new CountAPICalls(DateTime.Now.ToString("yyyyMMddHHmmssfffffff")+num.ToString())
        {

            API = "APIcall",

        }), 

 (TableRequestOptions)null, (OperationContext)null);

 if (tableReference1.ExecuteQuery<CountAPICalls>(new 
 TableQuery<CountAPICalls>().Where(TableQuery.GenerateFilterCondition("Key","eq", "APIcall")), (TableRequestOptions)null,(OperationContext)null).ToList<CountAPICalls>().Count<CountAPICalls>()>290)
  { 
  System.Threading.Thread.Sleep(10000); 
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...