JSON
数据类型
自定义数据源
描述
与 HTTP Get 数据源(带可选 OAuth2 配置)类似,JSON 数据源从客户提供的 URL 中拉取内容,并将这些数据提供给 Openmix 应用程序。数据应始终为有效的 JSON 格式。Fusion 会将结果封装在一个 JSON 包装器对象中,以添加元数据,然后将数据发送到 Openmix。Openmix 应用程序负责检索数据并对错误情况做出任何决策。
注意:客户的 JSON 数据与 JSON 包装器结合后的总大小必须小于 10K,否则 Fusion 将拒绝。这是基础设施应用服务器施加的硬性限制。
与 HTTP Get Fusion 数据源类似,此数据源也提供可选的 OAuth2 集成(主要用于从门户 API 检索数据)。
数据源格式
成功示例:检索到有效的 JSON
{
"body": {
"active_user_sessions": 9,
"available": "YES",
"component": "fusion",
"current_time": "2017-05-31 17:16:19"
},
"responseCode": 200,
"status": "success",
"timestamp": "2017-05-31T17:16:19.655Z"
}
<!--NeedCopy-->
成功示例:从门户 API 检索数据
{"body":[["Akamai CDN,"856244],["Telenor CDN,"1575138],["Arkena North,"1567285]],"timestamp":"2017-04-18T19:21:20.490Z","responseCode":200,"status":"success"}
字段
- Body:从客户 URL 检索到的已验证 JSON 有效负载,如果未检索到有效的 JSON,则为空 JSON 对象 “{}”
- Response Code:指示特定的 HTTP 请求是否成功完成。
- Status:“Success”(成功)表示 Fusion 收到响应且正文中包含有效的 JSON。否则,表示某种类型的故障,例如 “invalid_json”(无效 JSON)、”failure”(失败)、”timeout”(超时)等
- Timestamp:表示 Fusion 调用 UTC 时间的 ISO 8601 字符串。
在 Fusion 中设置
可以从左侧导航窗格中 Openmix 下访问 Fusion 数据源。有关初始步骤,请参阅 Fusion 集成文档。
当进入服务特定配置对话框时,输入以下内容:
- Name:数据源的名称。如果未指定,则默认为“Service - Platform Name”。
- Run Every:数据源从服务更新的频率。
- Platform:与数据源关联的平台。
- URL:URL 是客户网络上的一个端点,它返回客户希望在 Openmix 中看到的一些数据。响应正文从 URL 检索并按原样推送到 Openmix。唯一的要求是它必须返回有效的 JSON。
可选 OAuth2 配置
可选的 OAuth2 配置最初旨在通过 ITM API 拉取 Openmix 和 Radar 数据。
-
使用以下技术实施:
- 在调用客户所需(目标)端点之前,首先获取一个 OAuth2 请求令牌
- OAuth2 令牌通过客户的令牌端点请求。
-
在 OAuth2 令牌 POST 请求(必须是 HTTPS)中,以下请求正文会传递给客户的令牌生成器:
- client_id(用户输入)
- client_secret(用户输入)
-
grant_type,硬编码为
client_credentials
- 将返回一个 OAuth2 令牌,用于后续的 API 请求。
- 使用有效的 OAuth2 令牌,将调用客户的目标 URL,并在请求头中传递
Authorization: Bearer {token}
对于 JSON OAuth 实施而言,好消息是,如果调用 API 端点(Openmix 或 Radar),则不需要 OAuth2 配置字段。Fusion 已知用户的 OAuth2 客户端凭据,因此会自动为所有基于 ITM 的 API URL 传递这些凭据。
安装完成后,数据源将显示在 Fusion 数据源主页上,并带有绿色状态和日志历史记录中的监控指标。
要编辑 Fusion 数据源,请在列表中单击该数据源,然后单击“编辑”按钮。更改配置后,单击“保存”。这将返回到数据源列表,并保存更改并将其应用于数据源。