Tablestore prend en charge l'authentification par clé API pour Knowledge Store et Memory Store. Vous pouvez créer et révoquer des clés API de manière indépendante, sans avoir à gérer des paires AccessKey. L'accès par clé API nécessite HTTPS.
Méthodes d'authentification
Tablestore prend en charge les méthodes d'authentification suivantes :
|
Méthode d'authentification |
Cas d'utilisation |
API prises en charge |
|
AccessKey (AK/SK) |
Accès complet à toutes les fonctionnalités |
Toutes les API Tablestore |
|
Clé API |
Intégration d'applications IA sans gestion de paires de clés |
Uniquement les API Knowledge Store et Memory Store |
Créer une clé API
Connectez-vous à la console Tablestore.
Dans le volet de navigation de gauche, cliquez sur API Key.
Sur la page API Key Management, cliquez sur Create API Key.
Dans la boîte de dialogue Create API Key, définissez Expiration Time.
Cliquez sur Create.
Conservez la valeur de la clé dans un emplacement sécurisé. La valeur de la clé n'est affichée qu'au moment de sa création et ne peut pas être récupérée ultérieurement.
Utiliser une clé API
Vous pouvez accéder à Knowledge Store et Memory Store avec une clé API en utilisant un SDK ou curl. Les clés API prennent en charge toutes les opérations d'API pour ces deux services.
L'accès par clé API nécessite un endpoint HTTPS.
SDK
Des SDK Python et TypeScript sont disponibles pour Knowledge Store et Memory Store. Pour initialiser le client, transmettez le paramètre api_key au lieu des identifiants AccessKey.
Python
Installez le SDK.
pip install tablestore-agent-storage
L'exemple suivant crée une base de connaissances et effectue une recherche sémantique à l'aide d'une clé 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
Installez le SDK.
npm install @tablestore/agent-storage
L'exemple suivant crée une base de connaissances et effectue une recherche sémantique à l'aide d'une clé 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
Incluez les en-têtes x-ots-apikey et x-ots-instancename dans vos requêtes HTTP.
L'exemple suivant crée une base de connaissances à l'aide de 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"}'
L'exemple suivant liste toutes les bases de connaissances à l'aide de 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 '{}'
Limitations
Les clés API prennent uniquement en charge les API Knowledge Store et Memory Store. Pour accéder aux autres API Tablestore, utilisez l'authentification AccessKey.
Lorsque vous créez une clé API, un utilisateur RAM dédié est créé avec la stratégie
AliyunOTSFullAccessattachée. La clé API hérite des autorisations de cet utilisateur RAM. Pour ajuster les autorisations, modifiez la stratégie de l'utilisateur dans la console RAM.Si l'utilisateur RAM ne dispose pas de l'autorisation pour l'opération d'API ou de l'autorisation
ots:CallWithBearerToken, les requêtes adressées à Knowledge Store et Memory Store via la clé API échouent.