stackstorm----webhooks认识
学习stackstorm的webhooks
本文学习自stackstorm官方文档,如有不正确之处,还请大神指教.
传感器和webhooks
传感器 ---- pull方法
传感器使用轮询方法(传感器定期连接到外部系统以检索数据)与外部系统和服务集成,或者使用被动方法,在这些方法中,它们侦听某些端口,使用您定义的任何自定义协议接收数据.
webhooks ---- push方法
Webhooks 使用 HTTP HOST 请求将 触发器 直接推送到 StackStorm API;
Webhooks 提供了一种内置的被动方法,用于通过HTTP POST接收 JSON 或 URL编码 的表单数据;当某事件发生时,必须将这些数据从 外部系统 “推送” 到StackStorm
两者的优劣势
Webhook 可以方便的修改已有的脚本或软件,相对更轻量级.
传感器是首选的集成方法, 提供更精细和更紧密的集成.
webhooks的认证
所有对/api/v1/webhooks端点的请求都需要以与其他API请求相同的方式进行身份验证.
身份验证方法–API密钥[标题:St2-Api-Key 查询参数:?st2-api-key]和令牌[标题:X-Auth-Token 查询参数:?x-auth-token]
建议用于webhook的是不会过期的API密钥。
令牌有固定的到期日.
webhooks的请求构成
请求主体(也可称为触发器)的有效负载是 JSON或URL编码的表单数据.
主体的数据类型是 根据 Content-Type 标签头的值来确定,即:JSON ----- application/json URL编码的表单数据 ---- application/x-www-form-urlencoded