关联 API
此 API 可用于定义数据源之间的关联。
创建关联
POST /api/datasources/uid/:sourceUID/correlations
创建两个数据源之间的关联 - 由路径中的 sourceUID
标识的源数据源,以及在请求体中指定的目标数据源。
请求示例
POST /api/datasources/uid/uyBf2637k/correlations HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
{
"targetUID": "PDDA8E780A17E7EF1",
"label": "My Label",
"description": "Logs to Traces",
"type": "query",
"config": {
"field": "message",
"target": {},
}
}
JSON 请求体模式
- targetUID – 目标数据源 uid。
- label – 关联的标签。
- description – 关联的描述。
响应示例
HTTP/1.1 200
Content-Type: application/json
{
"message": "Correlation created",
"result": {
"description": "Logs to Traces",
"label": "My Label",
"sourceUID": "uyBf2637k",
"targetUID": "PDDA8E780A17E7EF1",
"uid": "50xhMlg9k",
"type": "query",
"config": {
"field": "message",
"target": {},
}
}
}
状态码
- 200 – 成功
- 400 - 错误 (无效 JSON,缺少或无效字段)
- 401 – 未授权
- 403 – 禁止访问,源数据源是只读的
- 404 – 未找到,找不到源数据源或目标数据源
- 500 – 内部错误
删除关联
DELETE /api/datasources/uid/:sourceUID/correlations/:correlationUID
删除关联。
请求示例
DELETE /api/datasources/uid/uyBf2637k/correlations/J6gn7d31L HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
响应示例
HTTP/1.1 200
Content-Type: application/json
{
"message": "Correlation deleted"
}
状态码
- 200 – 成功
- 401 – 未授权
- 403 – 禁止访问,数据源是只读的
- 404 – 未找到关联
- 500 – 内部错误
更新关联
PATCH /api/datasources/uid/:sourceUID/correlations/:correlationUID
更新关联。
请求示例
POST /api/datasources/uid/uyBf2637k/correlations/J6gn7d31L HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
{
"label": "My Label",
"description": "Logs to Traces",
}
JSON 请求体模式
- label – 关联的标签。
- description – 关联的描述。
响应示例
HTTP/1.1 200
Content-Type: application/json
{
"message": "Correlation updated",
"result": {
"description": "Logs to Traces",
"label": "My Label",
"sourceUID": "uyBf2637k",
"targetUID": "PDDA8E780A17E7EF1",
"uid": "J6gn7d31L",
"type": "query",
"config": {
"field": "message",
"target": {}
}
}
}
状态码
- 200 – 成功
- 400 – 错误请求
- 401 – 未授权
- 403 – 禁止访问,源数据源是只读的
- 404 – 未找到,找不到源数据源或目标数据源
- 500 – 内部错误
获取单个关联
GET /api/datasources/uid/:sourceUID/correlations/:correlationUID
获取单个关联。
请求示例
GET /api/datasources/uid/uyBf2637k/correlations/J6gn7d31L HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
响应示例
HTTP/1.1 200
Content-Type: application/json
{
"description": "Logs to Traces",
"label": "My Label",
"sourceUID": "uyBf2637k",
"targetUID": "PDDA8E780A17E7EF1",
"uid": "J6gn7d31L",
"provisioned": false,
"type": "query",
"config": {
"field": "message",
"target": {},
}
}
状态码
- 200 – 成功
- 401 – 未授权
- 404 – 未找到,找不到源数据源或关联
- 500 – 内部错误
获取来自给定数据源的所有关联
GET /api/datasources/uid/:sourceUID/correlations
获取路径中由给定 sourceUID
标识的数据源产生的所有关联。
请求示例
GET /api/datasources/uid/uyBf2637k/correlations HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
响应示例
HTTP/1.1 200
Content-Type: application/json
[
{
"description": "Logs to Traces",
"label": "My Label",
"sourceUID": "uyBf2637k",
"targetUID": "PDDA8E780A17E7EF1",
"uid": "J6gn7d31L",
"provisioned": false,
"type": "query",
"config": {
"field": "message",
"target": {},
}
},
{
"description": "Logs to Metrics",
"label": "Another Label",
"sourceUID": "uyBf2637k",
"targetUID": "P15396BDD62B2BE29",
"uid": "uWCpURgVk",
"provisioned": false,
"type": "query",
"config": {
"field": "message",
"target": {},
}
}
]
状态码
- 200 – 成功
- 401 – 未授权
- 404 – 未找到,找不到源数据源或来自给定数据源的关联不存在
- 500 – 内部错误
获取所有关联
GET /api/datasources/correlations
获取所有关联。
查询参数
- page - 可选。指定要返回的页码。使用 limit 参数指定每页的关联数量。默认页码是 1。
- limit - 可选。限制每页返回的关联数量。默认每页 100 个关联。每页最大限制是 1000 个关联。
- sourceUID - 可选。指定源数据源 UID 进行过滤。可以重复指定以按多个数据源进行过滤。
请求示例
GET /api/datasources/correlations HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
响应示例
HTTP/1.1 200
Content-Type: application/json
[
{
"description": "Prometheus to Loki",
"label": "My Label",
"sourceUID": "uyBf2637k",
"targetUID": "PDDA8E780A17E7EF1",
"uid": "J6gn7d31L",
"provisioned": false,
"type": "query",
"config": {
"field": "message",
"target": {},
}
},
{
"description": "Loki to Tempo",
"label": "Another Label",
"sourceUID": "PDDA8E780A17E7EF1",
"targetUID": "P15396BDD62B2BE29",
"uid": "uWCpURgVk",
"provisioned": false,
"type": "query",
"config": {
"field": "message",
"target": {},
}
}
]
状态码
- 200 – 成功
- 401 – 未授权
- 404 – 未找到,未找到关联
- 500 – 内部错误