你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure 用于农业的数据管理器的 API 节用指南
节用可限制某个时段内对某服务的请求数,以防止过度使用资源。 通过在 Azure 用于农业的数据管理器中限制 REST API,调用服务 API 的客户在一段时间内可以体验到更一致的性能。
Azure 用于农业的数据管理器可以处理大量请求。 如果少数客户发出大量请求,限制有助于所有客户都能获得最佳性能和可靠性。
限制约束取决于所选版本以及客户正在使用的产品的功能。 Azure 用于农业的数据管理器支持两个不同的版本:
- 标准版:我们通常推荐的版本。
- 基本版:适用于原型制作要求。
这些限制在三个时间窗口内(每一分钟、每五分钟和每一个月)发挥作用,以防止流量突然激增。
本文介绍了如何在达到限制之前跟踪剩余的请求数,以及在达到限制时如何应对。 节用限制适用于这些 API。
API 的分类
Azure 用于农业的数据管理器 API 分为三个主要类别:
- 写入操作:使用 REST API 方法(例如
PATCH
、POST
和DELETE
)更改数据的 API。 - 读取操作:使用 REST API 方法类型
GET
检索数据的 API,包括方法类型POST
的搜索 API。 - 长时间运行的作业操作:使用 REST API 方法类型
PUT
的长时间运行的异步作业 API。
这些类别共享下表中说明的总体可用配额单位。 例如,对写入操作使用整个配额意味着其他操作没有剩余配额。 每个操作都会使用特定单位的配额,这有助于跟踪剩余配额以供进一步使用。
操作 | 每个请求的单位成本 |
---|---|
写入 | 5 |
读取 | 1 1 |
长时间运行的作业:解决方案推理 | 5 |
长时间运行的作业:场操作 | 5 |
长时间运行的作业:图像光栅化 | 2 |
长时间运行的作业:级联删除实体 | 2 |
长时间运行的作业:天气引入 | 1 |
长时间运行的作业:卫星引入 | 1 |
1检索多个项时,将考虑响应中返回的每个项的额外单位成本。
基本版的 API 限制
下表列出了基本版中每个类别的总可用单位数:
操作 | 节用时间窗口 | 每个时间窗口之后重置的单位数 |
---|---|---|
写入/读取 | 每一分钟 | 25,000 |
写入/读取 | 每五分钟 | 100,000 |
写入/读取 | 每一个月 | 5,000,000 |
长时间运行的作业 | 每五分钟 | 1000 |
长时间运行的作业 | 每一个月 | 100,000 |
标准版的 API 限制
与基本版相比,标准版每月提供的 API 配额增加了 5 倍。 所有其他配额限制保持不变。
下表列出了标准版中每个类别的总可用单位数:
操作 | 节用时间窗口 | 每个时间窗口之后重置的单位数 |
---|---|---|
写入/读取 | 每一分钟 | 25,000 |
写入/读取 | 每五分钟 | 100,000 |
写入/读取 | 每一个月 | 25,000,000 1 |
长时间运行的作业 | 每五分钟 | 1000 |
长时间运行的作业 | 每一个月 | 500,000 1 |
1此限制是基本版限制的五倍。
错误代码
达到限制时,会收到 HTTP 状态代码“429 请求过多”。 响应包含 Retry-After 值,该值指定在发送下一个请求之前应用程序应该等待(或休眠)的秒数。
如果在重试值用尽之前发送请求,将不会处理该请求,并会返回一个新的重试值。 指定时间过后,可以再次向 Azure 用于农业的数据管理器发出请求。 尝试建立 TCP 连接或使用不同的用户身份验证方法不会绕过这些限制,因为它们特定于每个租户。
常见问题解答
如果写入操作在每分钟时间窗口内完全耗尽分配的 API 配额,是否可以在同一时间窗口内成功发出读取操作的请求?
列出的操作类别之间共享配额限制。 对写入操作使用所有配额意味着其他操作没有剩余配额。 本文详细介绍了每个操作使用的特定配额单位。
如何计算特定时间窗口内允许的成功请求总数?
允许的成功 API 请求总数取决于预配的版本和发出请求时所在的时间窗口。
例如,使用标准版,可以在一分钟时间窗口内拥有 25,000(每个时间窗口后重置的单位数)/5(每个请求的单位成本)= 5,000 个写入操作 API。 或者,可以使用 4,000 个写入操作和 5,000 个读取操作的组合,这会产生 4,000 * 5 + 5,000 * 1 = 25,000 个总消耗单位。
同样,对于基本版,可以在一个月时间窗口内拥有 5,000,000(每个时间窗口之后重置的单位数)/1(每个请求的单位成本)= 5,000,000 个读取操作 API。
客户最多可以引入多少个传感器事件?
系统允许每小时最多引入 100,000 个事件。 尽管在不断接受新事件,但处理可能会延迟。 延迟可能意味着这些事件不会立即与引入一起用于实时出口方案。