表格存储支持使用 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
登录表格存储控制台。
在左侧导航栏,单击API Key。
在 API Key 管理页面,单击创建 API Key。
在创建 API Key 对话框,设置过期时间。
单击创建。
请妥善保管密钥值,仅在创建时显示一次,无法再次查看。
使用 API Key
通过 SDK 或 curl 使用 API Key 访问知识存储服务和记忆存储服务。API Key 支持两项服务的全部 API 操作,包括创建、查询、检索和删除。
通过 API Key 访问时,必须使用 HTTPS 协议的访问地址。
Python
需安装AgentStorage Python SDK :pip install tablestore-agent-storagefrom 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 用户缺少其中任一权限,请求将被拒绝。