找回密码
 立即注册
首页 业界区 安全 wso2~api订阅策略与订阅冻结

wso2~api订阅策略与订阅冻结

战匈琼 2025-6-12 09:27:46
相关参考:

  • https://jaadds.medium.com/monetizing-apis-with-wso2-api-manager-7af0438230d
  • https://apim.docs.wso2.com/en/4.4.0/design/api-monetization/monetizing-an-api/#a-configure-the-billing-engine
  • https://apim.docs.wso2.com/en/4.4.0/design/api-monetization/monetizing-an-api/#step-1-create-a-subscription-policy
api订阅策略在admin后台,你可以通过Rate Limiting Policies>Subscription Policies来添加和修改自定义的策略,并且它可以在使用次数(count),使用带宽( Bandwidth),异常事件数量等方面对请求进行限制。
基本配置

限制单位

  • Minute(s)
  • Hour(s)
  • Day(s)
  • Month(s)
  • Year(s)
请求数
1.jpeg

请求带宽
2.jpeg

事件数
3.jpeg

突发流量限制
4.jpeg

免费与商业配置

免费与商业的策略,默认使用免费策略,商业策略可以自定义限制方式,它们在达到限制后都会对接口停止订阅,直到下一个策略周期的到来
5.jpeg

6.jpeg

被限流后,将返回这个错误
  1. # http 429
  2. {
  3.     "code": "900804",
  4.     "message": "Message throttled out",
  5.     "description": "You have exceeded your quota .You can access API after 2025-Jun-10 09:40:00+0000 UTC",
  6.     "nextAccessTime": "2025-Jun-10 09:40:00+0000 UTC"
  7. }
复制代码
api订阅的锁定

开发者平台,在应用中看到api的锁定状态
7.jpeg

发布者对api管理员,可以锁定某个api,可能对发布者管理员来说,某个应用使用不太正常,需要禁用它对api的访问
8.jpeg

应用订阅的api被锁定后,应用再调用api时,返回这个错误
  1. # http 401
  2. {
  3.     "code": "900907",
  4.     "message": "The requested API is temporarily blocked",
  5.     "description": "Access failure for API: /user-register/1.0.0, version: 1.0.0 status: (900907) - The requested API is temporarily blocked"
  6. }
复制代码
锁定api的接口
  1. /api/am/publisher/v4/subscriptions/block-subscription?subscriptionId=e55f1158-e291-4de4-a6e4-c500b902d025&blockState=BLOCKED
复制代码
api订阅状态修改后生效的缓存时间

  • 从文档上看,缓存是15分钟,如果你把api里的应用订阅改成blocking,15分钟后应用将不能访问当前api
  • https://apim.docs.wso2.com/en/latest/manage-apis/design/advanced-topics/block-subscription-to-an-api/
9.jpeg

api策略中的商业计划

这块内容需要结合analytics功能来实现,并且需要配置monetization对应的银行账户,以便生产费用后,如何将钱打到账户中

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册