菜单
Enterprise 开源

关联 API

此 API 可用于定义数据源之间的关联。

创建关联

POST /api/datasources/uid/:sourceUID/correlations

创建两个数据源之间的关联 - 由路径中的 sourceUID 标识的源数据源,以及在请求体中指定的目标数据源。

请求示例

http
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
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

删除关联。

请求示例

http
DELETE /api/datasources/uid/uyBf2637k/correlations/J6gn7d31L HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

响应示例

http
HTTP/1.1 200
Content-Type: application/json
{
  "message": "Correlation deleted"
}

状态码

  • 200 – 成功
  • 401 – 未授权
  • 403 – 禁止访问,数据源是只读的
  • 404 – 未找到关联
  • 500 – 内部错误

更新关联

PATCH /api/datasources/uid/:sourceUID/correlations/:correlationUID

更新关联。

请求示例

http
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
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

获取单个关联。

请求示例

http
GET /api/datasources/uid/uyBf2637k/correlations/J6gn7d31L HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

响应示例

http
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 标识的数据源产生的所有关联。

请求示例

http
GET /api/datasources/uid/uyBf2637k/correlations HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

响应示例

http
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 进行过滤。可以重复指定以按多个数据源进行过滤。

请求示例

http
GET /api/datasources/correlations HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

响应示例

http
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 – 内部错误