API Key 管理

更新时间:
复制 MD 格式

表格存储支持使用 API Key 或 AccessKey 访问知识存储服务和记忆存储服务。API Key 无需管理 AccessKey 密钥对,支持独立创建和吊销,适合 AI 应用快速接入。本文主要介绍 API Key 的创建和使用方法。

选择认证方式

请根据应用需要访问的资源选择认证方式。

认证方式

适用场景

支持范围

使用说明

API Key

应用只需调用知识存储服务和记忆存储服务的 API

知识存储服务和记忆存储服务的全部 API

接入简单,必须使用 HTTPS,不支持访问 OSS 或表格存储的其他 API

AccessKey(AK/SK)

应用还需访问 OSS、表格存储其他能力,或需要通过 RAM Policy 精细控制权限

由 RAM 身份获得的权限决定

生产环境建议使用 RAM 用户的 AccessKey 或 STS 临时访问凭证,不要使用阿里云账号 AccessKey

如果只调用知识存储和记忆存储接口,建议使用 API Key。如果需要将本地文件上传至 OSS 后导入知识库,或者访问表格存储的其他接口,请使用 AccessKey 或 STS 临时访问凭证。AccessKey 的创建、授权和 RAM Policy 配置方法,请参见配置访问权限。

创建 API Key

  1. 登录表格存储控制台。

  2. 在左侧导航栏,单击API Key。

  3. 在 API Key 管理页面,单击创建 API Key。

  4. 在创建 API Key 对话框,设置过期时间。

  5. 单击创建。

重要

请妥善保管密钥值,仅在创建时显示一次,无法再次查看。

使用 API Key

通过 SDK 或 curl 使用 API Key 访问知识存储服务和记忆存储服务。API Key 支持两项服务的全部 API 操作,包括创建、查询、检索和删除。

说明

通过 API Key 访问时,必须使用 HTTPS 协议的访问地址。

Python

需安装AgentStorage Python SDK :pip install tablestore-agent-storage
from tablestore_agent_storage import AgentStorageClient

# 使用 API Key 初始化客户端
client = AgentStorageClient(
    api_key="your-api-key",
    ots_endpoint="https://your-instance.cn-beijing.ots.aliyuncs.com",
    ots_instance_name="your-instance-name",
)

# 创建知识库
client.create_knowledge_base({"knowledgeBaseName": "product_docs"})

# 查看已创建的知识库
response = client.list_knowledge_base()
for kb in response["data"]["knowledgeBases"]:
    print(kb["knowledgeBaseName"])

# 检索知识库
results = client.retrieve({
    "knowledgeBaseName": "product_docs",
    "retrievalQuery": {"type": "TEXT", "text": "your query"}
})
for item in results["data"]["retrievalResults"]:
    print(item["content"])

TypeScript

需安装AgentStorage TypeScript SDK :npm install @tablestore/agent-storage/
import { AgentStorageClient } from '@tablestore/agent-storage';

// 使用 API Key 初始化客户端
const client = new AgentStorageClient({
  apiKey: 'your-api-key',
  endpoint: 'https://your-instance.cn-beijing.ots.aliyuncs.com',
  instanceName: 'your-instance-name',
});

// 创建知识库
await client.createKnowledgeBase({ knowledgeBaseName: 'product_docs' });

// 查看已创建的知识库
const response = await client.listKnowledgeBase({});
for (const kb of response.data.knowledgeBases) {
  console.log(kb.knowledgeBaseName);
}

// 检索知识库
const results = await client.retrieve({
  knowledgeBaseName: 'product_docs',
  retrievalQuery: { type: 'TEXT', text: '查询文本' },
});
for (const item of results.data.retrievalResults) {
  console.log(item.content);
}

curl

通过 HTTP 请求直接访问时,在请求头中添加 x-ots-apikey 和 x-ots-instancename 字段。
curl -X POST 'https://your-instance.cn-beijing.ots.aliyuncs.com/CreateKnowledgeBase' \
  -H 'x-ots-instancename: your-instance-name' \
  -H 'x-ots-apikey: your-api-key' \
  -H 'Content-Type: application/json' \
  -d '{"knowledgeBaseName": "product_docs"}'

以下示例展示如何通过 curl 查看已创建的知识库列表。

curl -X POST 'https://your-instance.cn-beijing.ots.aliyuncs.com/ListKnowledgeBase' \
  -H 'x-ots-instancename: your-instance-name' \
  -H 'x-ots-apikey: your-api-key' \
  -H 'Content-Type: application/json' \
  -d '{}'

使用限制

  • API Key 仅支持访问知识存储服务和记忆存储服务的 API。如需访问表格存储的其他 API,请使用 AccessKey 认证。

  • 创建 API Key 时,系统会自动创建一个专属 RAM 用户并绑定 AliyunOTSFullAccess 权限策略。API Key 的权限等同于该 RAM 用户的权限,如需调整请前往 RAM 控制台修改对应用户的权限策略。

  • 通过 API Key 访问知识存储服务和记忆存储服务时,系统同时校验 API 操作权限和 ots:CallWithBearerToken 权限。如果对应 RAM 用户缺少其中任一权限,请求将被拒绝。