设置项目跟踪导出配置

PUT /api/v1/projects/{id}/trace-export/config

存储项目级 OTLP 跟踪导出设置。身份验证密钥仅被引用 (headers_secret_ref);原始值永远不会被接受或存储。增加生成计数器并将配置标记为待下游交付。项目范围由路由 ID 路径参数承载,而组织则派生自该项目。

路径参数

  • id 字符串 必需

    项目 ID

application/json

body 必需

类型化JSON配置

  • content_mode 字符串

    ContentMode 选择跨度内容校订。空表示 metadata_only。

    值为 metadata_only 或 full。

  • egress_mode 字符串

    EgressMode 选择跨度的交付位置。空表示仅platform_only。

    值为 platform_only、platform_and_customer_mirror 或 customer_only。

  • enabled 布尔 必需

    Enabled 是一个指针,因此处理程序可以区分省略的字段(nil、被拒绝)和显式 false(有效的“禁用导出”请求)。

  • 端点 字符串

    端点是客户的 OTLP/ HTTP端点。启用后为必填项。必须是 https,并且不能点内部/环回解决(请参阅验证)。

    最大长度为 2048。

  • headers 对象

    标头包含预设所需的非秘密导出标头(例如工作区 ID)。切勿将密钥值放在此处 — 请使用 HeadersSecretRef。

    隐藏标头属性 显示标头属性 对象
    • * 字符串 additionalProperties
  • headers_secret_ref 字符串

    HeadersSecretRef 是指向单个存储的身份验证密钥(通常是API密钥)的指针。它只是一个引用,而不是秘密值。必须将范围限定为调用者的项目(请参阅验证)。

    最大长度为 512。

  • insecure_skip_verify 布尔

    InsecureSkipVerify 禁用客户端点的 TLS 验证。指针 so nil(验证,默认)与显式选择退出不同;用户界面表面将其视为故意降低的安全性。

  • protocol 字符串

    协议是出站 OTLP协议。 v1 仅支持 http/protobuf。

    值为 http/protobuf。

  • resource_attributes 对象

    ResourceAttributes 是额外的OTLP资源属性,印在发送到客户端点的每个范围上(例如,目标所需的项目/模型标识符)。给定目标所需的哪些密钥来自其预设(请参阅 pkg/traceexportconfig/presets);值始终由客户提供,因为它们通常命名目标端自己的项目,而该平台无法查找该项目。

    隐藏resource_attributes 属性 显示resource_attributes 属性 对象
    • * 字符串 additionalProperties
  • sample_policy 对象

    SamplingPolicy 选择导出前应用的头部采样器。

    隐藏采样策略属性 显示采样策略属性 对象
    • 比率 数字

      Ratio 为采样概率 (0..1);仅当类型为比率时才为必填项和使用项。

      最小值为 0,最大值为 1。

    • 类型 字符串

      类型为always_on、always_off、ratio、parent_based之一。

      取值为 always_on、always_off、ratio 或 parent_based。

  • secret_header_name 字符串

    SecretheaderName 是引用密钥的值作为发送的标头名称(例如“api_key”),可以从预设的 secret_header_keys 中获取或由用户为自定义目标输入。平台将出站“:”标题行,因此存储的密钥始终是裸值(而不是预先格式化的标题行)。设立HeadersSecretRef 时为必填项(请参阅验证)。

    最大长度为 128。

响应

  • 不支持或格式不正确的API版本、所选已发布合约中不可用的操作或不可接受的表示形式(包括不支持的媒体类型参数或排除的 SSE)。现有的身份验证、授权和速率限制失败优先。

    隐藏响应属性 显示响应属性 对象
    • badRequestDetail 对象

      标准错误模式定义的可选验证详细信息; API协商错误不会发出此字段。

      隐藏 BadRequestDetail 属性 显示 BadRequestDetail 属性 对象
      • 字段 大量[对象]

        验证失败的字段。

        隐藏字段属性 显示字段属性 对象

        字段及其验证失败。

        • 描述 字符串 必需

          人类可读的验证失败。

        • 字段 字符串 必需

          无效请求字段的名称或路径。

    • 详细信息 字符串 必需

      人类可读的错误详细信息。

    • 错误 整型 必需

      HTTP status code.

    • 错误代码 字符串 必需

      机器可读的错误代码。

    • 参数 array[string]

      与错误相关的请求参数名称;不应用时省略。

    • 原因 字符串 必需

      HTTP状态原因短语。

    隐藏响应属性 显示响应属性 对象
    • badRequestDetail 对象

      标准错误模式定义的可选验证详细信息; API协商错误不会发出此字段。

      隐藏 BadRequestDetail 属性 显示 BadRequestDetail 属性 对象
      • 字段 大量[对象]

        验证失败的字段。

        隐藏字段属性 显示字段属性 对象

        字段及其验证失败。

        • 描述 字符串 必需

          人类可读的验证失败。

        • 字段 字符串 必需

          无效请求字段的名称或路径。

    • 详细信息 字符串 必需

      人类可读的错误详细信息。

    • 错误 整型 必需

      HTTP status code.

    • 错误代码 字符串 必需

      机器可读的错误代码。

    • 参数 array[string]

      与错误相关的请求参数名称;不应用时省略。

    • 原因 字符串 必需

      HTTP状态原因短语。

  • 200

    正常

    隐藏响应属性 显示响应属性 对象
    • 生成 整型
    • updated_at 字符串
    隐藏响应属性 显示响应属性 对象
    • 生成 整型
    • updated_at 字符串
  • 400

    Invalid config

    隐藏响应属性 显示响应属性 对象
    • 代码 字符串
    • 错误 字符串
    • Success 布尔
    隐藏响应属性 显示响应属性 对象
    • 代码 字符串
    • 错误 字符串
    • Success 布尔
  • 401

    凭证缺失或无效

    隐藏响应属性 显示响应属性 对象
    • 代码 字符串
    • 错误 字符串
    • Success 布尔
    隐藏响应属性 显示响应属性 对象
    • 代码 字符串
    • 错误 字符串
    • Success 布尔
  • 403

    调用者缺乏项目所有者权限

    隐藏响应属性 显示响应属性 对象
    • 代码 字符串
    • 错误 字符串
    • Success 布尔
    隐藏响应属性 显示响应属性 对象
    • 代码 字符串
    • 错误 字符串
    • Success 布尔
  • 413

    配置超过 16 KB

    隐藏响应属性 显示响应属性 对象
    • 代码 字符串
    • 错误 字符串
    • Success 布尔
    隐藏响应属性 显示响应属性 对象
    • 代码 字符串
    • 错误 字符串
    • Success 布尔
PUT /api/v1/projects/{id}/trace-export/config
curl \
 --request PUT 'https://agentengine.mongodb.com/api/v1/projects/{id}/trace-export/config' \
 --header "Authorization: $API_KEY" \
 --header "Content-Type: application/json" \
 --data '{
  "content_mode": "metadata_only",
  "egress_mode": "platform_only",
  "enabled": true,
  "endpoint": "string",
  "headers": {
    "additionalProperty1": "string",
    "additionalProperty2": "string"
  },
  "headers_secret_ref": "string",
  "insecure_skip_verify": true,
  "protocol": "http/protobuf",
  "resource_attributes": {
    "additionalProperty1": "string",
    "additionalProperty2": "string"
  },
  "sampling_policy": {
    "ratio": 42.0,
    "type": "always_on"
  },
  "secret_header_name": "string"
}'
请求示例
{
  "content_mode": "metadata_only",
  "egress_mode": "platform_only",
  "enabled": true,
  "endpoint": "string",
  "headers": {
    "additionalProperty1": "string",
    "additionalProperty2": "string"
  },
  "headers_secret_ref": "string",
  "insecure_skip_verify": true,
  "protocol": "http/protobuf",
  "resource_attributes": {
    "additionalProperty1": "string",
    "additionalProperty2": "string"
  },
  "sampling_policy": {
    "ratio": 42.0,
    "type": "always_on"
  },
  "secret_header_name": "string"
}
响应示例 (406)
{
  "detail": "This operation is not available in API version 2026-09-20-preview.",
  "error": 406,
  "errorCode": "OPERATION_NOT_IN_API_VERSION",
  "parameters": [
    "Accept"
  ],
  "reason": "Not Acceptable"
}
{
  "detail": "This operation supports text/event-stream, which the Accept header excludes. Remove unsupported media-type parameters or accept this type with a positive q value.",
  "error": 406,
  "errorCode": "UNACCEPTABLE_MEDIA_TYPE",
  "parameters": [
    "Accept"
  ],
  "reason": "Not Acceptable"
}
{
  "detail": "The requested API version is not supported. Supported versions: 2026-09-20-preview.",
  "error": 406,
  "errorCode": "UNSUPPORTED_API_VERSION",
  "parameters": [
    "Accept"
  ],
  "reason": "Not Acceptable"
}
响应示例 (406)
{
  "detail": "This operation is not available in API version 2026-09-20-preview.",
  "error": 406,
  "errorCode": "OPERATION_NOT_IN_API_VERSION",
  "parameters": [
    "Accept"
  ],
  "reason": "Not Acceptable"
}
响应示例 (200)
{
  "generation": 42,
  "updated_at": "string"
}
响应示例 (200)
{
  "generation": 42,
  "updated_at": "string"
}
响应示例 (400)
{
  "code": "string",
  "error": "string",
  "success": true
}
响应示例 (400)
{
  "code": "string",
  "error": "string",
  "success": true
}
响应示例 (401)
{
  "code": "string",
  "error": "string",
  "success": true
}
响应示例 (401)
{
  "code": "string",
  "error": "string",
  "success": true
}
响应示例 (403)
{
  "code": "string",
  "error": "string",
  "success": true
}
响应示例 (403)
{
  "code": "string",
  "error": "string",
  "success": true
}
响应示例 (413)
{
  "code": "string",
  "error": "string",
  "success": true
}
响应示例 (413)
{
  "code": "string",
  "error": "string",
  "success": true
}