O Tablestore oferece suporte à autenticação por chave de API para o Knowledge Store e o Memory Store. Crie e revogue chaves de API independentemente, sem gerenciar pares de AccessKey. O acesso por chave de API exige HTTPS.
Métodos de autenticação
O Tablestore é compatível com os seguintes métodos de autenticação:
|
Método de autenticação |
Caso de uso |
APIs compatíveis |
|
AccessKey (AK/SK) |
Acesso completo a todos os recursos |
Todas as APIs do Tablestore |
|
Chave de API |
Integração de aplicações de IA sem gerenciamento de pares de chaves |
Apenas APIs do Knowledge Store e Memory Store |
Crie uma chave de API
Faça login no console do Tablestore.
No painel de navegação à esquerda, clique em API Key.
Na página API Key Management, clique em Create API Key.
Na caixa de diálogo Create API Key, defina Expiration Time.
Clique em Create.
Armazene o valor da chave em um local seguro. Esse valor aparece apenas no momento da criação e não pode ser recuperado posteriormente.
Usar uma chave de API
Acesse o Knowledge Store e o Memory Store com uma chave de API usando um SDK ou curl. As chaves de API oferecem suporte a todas as operações de API para ambos os serviços.
O acesso por chave de API requer um endpoint HTTPS.
SDK
Os SDKs para Python e TypeScript estão disponíveis para o Knowledge Store e o Memory Store. Para inicializar o cliente, passe o parâmetro api_key em vez das credenciais de AccessKey.
Python
Instale o SDK.
pip install tablestore-agent-storage
O exemplo a seguir cria uma base de conhecimento e realiza uma busca semântica usando uma chave de API:
from tablestore_agent_storage import AgentStorageClient
# Initialize the client with an 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",
)
# Create a knowledge base
client.create_knowledge_base({"knowledgeBaseName": "product_docs"})
# List knowledge bases
response = client.list_knowledge_base()
for kb in response["data"]["knowledgeBases"]:
print(kb["knowledgeBaseName"])
# Retrieve from a knowledge base
results = client.retrieve({
"knowledgeBaseName": "product_docs",
"retrievalQuery": {"type": "TEXT", "text": "your query"}
})
for item in results["data"]["retrievalResults"]:
print(item["content"])
TypeScript
Instale o SDK.
npm install @tablestore/agent-storage
O exemplo a seguir cria uma base de conhecimento e realiza uma busca semântica usando uma chave de API:
import { AgentStorageClient } from '@tablestore/agent-storage';
// Initialize the client with an API key
const client = new AgentStorageClient({
apiKey: 'your-api-key',
endpoint: 'https://your-instance.cn-beijing.ots.aliyuncs.com',
instanceName: 'your-instance-name',
});
// Create a knowledge base
await client.createKnowledgeBase({ knowledgeBaseName: 'product_docs' });
// List knowledge bases
const response = await client.listKnowledgeBase({});
for (const kb of response.data.knowledgeBases) {
console.log(kb.knowledgeBaseName);
}
// Retrieve from a knowledge base
const results = await client.retrieve({
knowledgeBaseName: 'product_docs',
retrievalQuery: { type: 'TEXT', text: 'your query' },
});
for (const item of results.data.retrievalResults) {
console.log(item.content);
}
curl
Inclua os cabeçalhos x-ots-apikey e x-ots-instancename nas requisições HTTP.
O exemplo a seguir cria uma base de conhecimento usando curl:
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"}'
O exemplo a seguir lista todas as bases de conhecimento usando 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 '{}'
Limitações
As chaves de API oferecem suporte apenas às APIs do Knowledge Store e Memory Store. Para acessar outras APIs do Tablestore, use a autenticação por AccessKey.
Ao criar uma chave de API, o sistema gera um usuário RAM dedicado com a política
AliyunOTSFullAccessvinculada. A chave de API herda as permissões desse usuário RAM. Para ajustar as permissões, modifique a política do usuário no console do RAM.Se o usuário RAM não tiver a permissão para a operação de API ou a permissão
ots:CallWithBearerToken, as requisições ao Knowledge Store e Memory Store por chave de API falharão.