我正在使用Azure Logic应用程序与Azure BLOB存储触发器。
在Azure存储中更新或修改blob时,我会从存储中提取或修改blob的内容,对数据进行一些转换,并使用LogicApp的“创建内容 - Azure Blob存储”操作将其作为新blob内容推送回Azure存储。
插入大量blob(例如10000个文件)或更新到blob存储中,Logic App会按预期为这些插入的blob触发多次运行,但进一步的Azure Blob操作失败并出现以下错误:
{
"statusCode": 429,
"message": "Rate limit is exceeded. Try again in 16 seconds."
}
有人在Logic App中遇到过类似的问题吗?如果是,你能否说明可能的原因和可能的解决办法。
谢谢
好像你正在使用Azure Blob Managed API上的rate limits。
请查看此doc:https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-request-limits
对于每个Azure订阅和租户,资源管理器每小时最多允许12,000个读取请求,每小时允许1,200个写入请求。
你可以通过以下方式检查用法:
response.Headers.GetValues("x-ms-ratelimit-remaining-subscription-reads").GetValue(0)
要么
response.Headers.GetValues("x-ms-ratelimit-remaining-subscription-writes").GetValue(0)