Я создал функцию 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);
}