全栈应用服务器

  • 全栈应用服务器 > API 文档 > 沙箱概述 > 密钥注入

    密钥注入

    最近更新时间: 2026-05-19 18:00:59

    密钥注入

    密钥注入 API 用于管理平台侧保存的 HTTPS 请求注入规则。创建沙箱时可以通过 injections 引用已保存规则,或直接传入内联规则。真实密钥由平台侧持有,沙箱内进程不会直接读取真实密钥。

    支持的注入类型

    类型 必填参数 描述
    http base_url 自定义 HTTP Header 注入
    openai api_key OpenAI 兼容 API 注入,默认匹配 api.openai.com
    anthropic api_key Anthropic API 注入,默认匹配 api.anthropic.com
    gemini api_key Google Gemini API 注入,默认匹配 generativelanguage.googleapis.com
    qiniu api_key 七牛 AI API 注入,默认匹配 api.qnaigc.com
    github token GitHub HTTPS 请求注入,匹配 github.comapi.github.com

    查询注入规则列表

    描述

    查询当前账号下已保存的注入规则。

    请求路径

    GET /injection-rules
    

    响应字段

    返回注入规则数组:

    字段名称 字段类型 描述
    ruleID string 注入规则 ID
    name string 注入规则名称,同一用户下唯一
    createdAt string 创建时间
    updatedAt string 更新时间
    injection object 注入规则配置

    请求示例

    curl -X GET "$QINIU_SANDBOX_API_URL/injection-rules" \
      -H "Authorization: Qiniu <SignedToken>"
    

    SignedToken 由七牛 AK/SK 对请求签名生成。Go SDK 和 qshell 会自动完成签名。

    创建注入规则

    描述

    创建一条可复用的注入规则。

    请求路径

    POST /injection-rules
    

    请求参数

    参数名称 参数类型 必填 描述
    name string 注入规则名称,最长 64 个字符,同一用户下唯一
    injection object 注入规则配置

    http 类型参数:

    参数名称 参数类型 必填 描述
    injection.type string 固定为 http
    injection.base_url string 匹配 HTTPS 请求的基础 URL;未指定协议时默认使用 https
    injection.headers object 要注入或覆盖的 HTTP Header,最多 20 项

    AI 服务类型参数:

    参数名称 参数类型 必填 描述
    injection.type string 取值为 openaianthropicgeminiqiniu
    injection.api_key string 对应服务的 API Key
    injection.base_url string 自定义基础 URL;不传时使用该类型默认 Host

    GitHub 类型参数:

    参数名称 参数类型 必填 描述
    injection.type string 固定为 github
    injection.token string GitHub Token

    响应字段

    字段同注入规则列表中的单个规则对象。

    请求示例

    curl -X POST "$QINIU_SANDBOX_API_URL/injection-rules" \
      -H "Authorization: Qiniu <SignedToken>" \
      -H "Content-Type: application/json" \
      -d '{
        "name": "openai-prod",
        "injection": {
          "type": "openai",
          "api_key": "sk-xxx"
        }
      }'
    

    响应示例

    {
      "ruleID": "ir_123456",
      "name": "openai-prod",
      "createdAt": "2026-01-01T00:00:00Z",
      "updatedAt": "2026-01-01T00:00:00Z",
      "injection": {
        "type": "openai"
      }
    }
    

    获取注入规则详情

    请求路径

    GET /injection-rules/{ruleID}
    

    路径参数

    参数名称 参数类型 必填 描述
    ruleID string 注入规则 ID

    成功时返回单个注入规则对象。

    更新注入规则

    请求路径

    PUT /injection-rules/{ruleID}
    

    请求参数

    参数名称 参数类型 必填 描述
    name string 新的注入规则名称,最长 64 个字符
    injection object 新的注入规则配置

    成功时返回更新后的注入规则对象。

    删除注入规则

    请求路径

    DELETE /injection-rules/{ruleID}
    

    成功时返回 204 No Content

    在创建沙箱时引用规则

    已保存的注入规则可以在创建沙箱时通过 type: id 引用:

    curl -X POST "$QINIU_SANDBOX_API_URL/sandboxes" \
      -H "X-API-Key: $QINIU_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "templateID": "base",
        "injections": [
          {
            "type": "id",
            "id": "ir_123456"
          }
        ]
      }'
    

    相关文档

    以上内容是否对您有帮助?