跳转到主要内容
POST
/
enrichment
/
mapping
/
data
/
upsert
写入映射数据
curl --request POST \
  --url 'https://api.flashcat.cloud/enrichment/mapping/data/upsert?app_key=' \
  --header 'Content-Type: application/json' \
  --data '
{
  "schema_id": "665f1a2b3c4d5e6f7a8b9c01",
  "docs": [
    {
      "host": "server01",
      "owner": "alice",
      "team": "sre",
      "service": "api"
    },
    {
      "host": "server02",
      "owner": "bob",
      "team": "平台",
      "service": "gateway"
    }
  ]
}
'
{
  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
  "data": {
    "keys": [
      "server01",
      "server02"
    ]
  }
}

限制说明

项目说明
速率限制每个账户 1,000 次/分钟50 次/秒
权限要求无 —— 持有有效的 app_key 即可调用

使用说明

  • 每条数据须包含映射规则中定义的所有来源标签和结果标签的值。
  • 未知标签的值将被静默忽略。
  • 每个值最多 2048 个字符。
  • Upsert 以来源标签组合为键,来源键相同的行将被更新。
  • 单个映射规则默认最多存储 10,000 条数据。
  • 每个映射规则的写入操作有锁保护,并发 Upsert 可能返回 ErrRequestTooFrequently

授权

app_key
string
query
必填

在 Flashduty 控制台 账户 → APP Key 中签发的 app_key。调用任何公开 API 时都必须携带。它等同于所属账户的身份凭证,请妥善保管。

请求体

application/json
schema_id
string
必填

映射规则 ID(MongoDB ObjectID 十六进制)。

docs
object[]
必填

待插入或更新的数据行,每行须包含所有来源标签和结果标签的值。

Maximum array length: 1000

响应

成功

成功响应结构。2xx 响应中 request_id 标识本次调用(同时出现在 Flashcat-Request-Id 响应头中),data 为接口业务 payload。失败响应使用不同结构,参见 ErrorResponse

request_id
string
必填

本次请求的唯一 ID,也会在 Flashcat-Request-Id 响应头中返回。反馈问题时请一并附上。

示例:

"01HK8XQE3Z7JM2NTFQ5YJ8P9R4"

data
object
必填

每个接口自己的业务 payload,详见各接口的 200 响应 schema。