You need to enable JavaScript to run this app.
文档中心
对象存储

对象存储

复制全文
下载 pdf
向量索引
ListIndexes(TOS Vectors Node.js SDK)
复制全文
下载 pdf
ListIndexes(TOS Vectors Node.js SDK)
ListIndexes 接口用于列举向量索引,本文介绍如何通过 TOS Vectors Node.js SDK 的 ListIndexes 接口完成该操作。​
注意事项​
  • 为了防止密钥泄露,本文示例代码需要从环境变量中读取 Access Key ID 和 Secret Access Key。因此使用 SDK 前,您需要配置长期访问凭证,详细介绍,请参见配置长期访问凭证。​
  • TOS Vectors Node.js SDK 支持使用临时访问凭证;也支持配置超时机制、重试策略等多种机制,您可以根据业务需求灵活设置,提升应用安全性,详细介绍,请参见常见配置场景。​
权限说明​
主账号默认拥有全部权限,但是 IAM 用户默认没有任何权限。如果您需要使用 IAM 用户执行 ListIndexes 操作,主账号需通过 IAM策略和桶策略为该 IAM 用户授予以下权限:tosvectors:ListIndexes​
代码示例​
列举向量索引基本用法​
​
// 列举向量索引基本用法​
​
import {​
TosVectorsClient,​
TosClientError,​
TosServerError,​
} from "@volcengine/tos-sdk";​
​
// 从环境变量中获取认证信息和配置​
const accessKeyId = process.env["TOS_ACCESS_KEY"]; // TOS_ACCESS_KEY: 您的 Access Key ID​
const accessKeySecret = process.env["TOS_SECRET_KEY"]; // TOS_SECRET_KEY: 您的 Secret Key​
const region = 'Provide your region';​
const endpoint = 'Provide your vector endpoint';​
const vectorBucketName = 'Provide your vector bucket name';​
const accountId = process.env["TOS_ACCOUNT_ID"];​
​
const client = new TosVectorsClient({​
accessKeyId,​
accessKeySecret,​
region,​
endpoint,​
});​
​
/**​
* 处理 SDK 调用过程中可能出现的错误。​
* @param error 捕获到的错误对象​
*/​
function handleError(error: Error) {​
if (error instanceof TosClientError) {​
console.log("Client Error:");​
console.log(" Message:", error.message);​
if (error.stack) {​
console.log(" Stack:", error.stack);​
}​
} else if (error instanceof TosServerError) {​
console.log("Server Error:");​
console.log(" Request ID:", error.requestId);​
console.log(" Status Code:", error.statusCode);​
console.log(" Code:", error.code);​
console.log(" Message:", error.message);​
console.log(" Headers:", error.headers);​
} else {​
console.log("Unexpected Error:");​
console.log(" Message:", error.message);​
}​
}​
​
async function main() {​
try {​
console.log(`列举向量桶 ${vectorBucketName} 中的向量索引列表...`);​
​
const result = await client.listIndexes({​
vectorBucketName: vectorBucketName,​
accountID: accountId,​
});​
​
// 打印通用返回信息​
console.log("Request Succeeded:");​
console.log(" Request ID:", result.requestId);​
console.log(" Status Code:", result.statusCode);​
console.log(" Headers:", result.headers);​
​
// 打印业务数据:本次返回的索引列表​
const indexes = result.data.indexes || [];​
if (indexes.length === 0) {​
console.log("当前请求未返回任何向量索引。");​
} else {​
console.log("向量索引列表:");​
for (const index of indexes) {​
console.log(` - Index Name: ${index.indexName}`);​
console.log(` Index TRN: ${index.indexTrn}`);​
console.log(` Vector Bucket Name: ${index.vectorBucketName}`);​
console.log(` Creation Time: ${index.creationTime}`);​
}​
}​
​
// 打印下一页标记(如存在)​
if (result.data.nextToken) {​
console.log("Next Token:", result.data.nextToken);​
}​
} catch (error: any) {​
handleError(error);​
}​
}​
​
main();​
​
​
分页列举向量索引​
​
// 分页列举向量索引​
​
import {​
TosVectorsClient,​
TosClientError,​
TosServerError,​
} from "@volcengine/tos-sdk";​
​
// 从环境变量中获取认证信息和配置​
const accessKeyId = process.env["TOS_ACCESS_KEY"]; // TOS_ACCESS_KEY: 您的 Access Key ID​
const accessKeySecret = process.env["TOS_SECRET_KEY"]; // TOS_SECRET_KEY: 您的 Secret Key​
const region = 'Provide your region';​
const endpoint = 'Provide your vector endpoint';​
const vectorBucketName = 'Provide your vector bucket name';​
const accountId = process.env["TOS_ACCOUNT_ID"];​
​
const client = new TosVectorsClient({​
accessKeyId,​
accessKeySecret,​
region,​
endpoint,​
});​
​
/**​
* 处理 SDK 调用过程中可能出现的错误。​
* @param error 捕获到的错误对象​
*/​
function handleError(error: Error) {​
if (error instanceof TosClientError) {​
console.log("Client Error:");​
console.log(" Message:", error.message);​
if (error.stack) {​
console.log(" Stack:", error.stack);​
}​
} else if (error instanceof TosServerError) {​
console.log("Server Error:");​
console.log(" Request ID:", error.requestId);​
console.log(" Status Code:", error.statusCode);​
console.log(" Code:", error.code);​
console.log(" Message:", error.message);​
console.log(" Headers:", error.headers);​
} else {​
console.log("Unexpected Error:");​
console.log(" Message:", error.message);​
}​
}​
​
async function main() {​
let maxResults = 100;​
​
try {​
console.log("开始分页列举向量索引...");​
​
let nextToken: string | undefined = undefined;​
let page = 1;​
​
// 使用 nextToken 进行分页循环​
do {​
console.log(`\n请求第 ${page} 页向量索引列表...`);​
​
const result = await client.listIndexes({​
vectorBucketName: vectorBucketName,​
accountID: accountId,​
maxResults,​
nextToken,​
});​
​
// 每页打印请求通用信息​
console.log("Page Request Info:");​
console.log(" Request ID:", result.requestId);​
console.log(" Status Code:", result.statusCode);​
console.log(" Headers:", result.headers);​
​
// 打印本页索引列表​
const indexes = result.data.indexes || [];​
if (indexes.length === 0) {​
console.log(" 本页未返回任何向量索引。");​
} else {​
console.log(" 本页向量索引列表:");​
for (const index of indexes) {​
console.log(` - Index Name: ${index.indexName}`);​
console.log(` Index TRN: ${index.indexTrn}`);​
console.log(` Vector Bucket Name: ${index.vectorBucketName}`);​
console.log(` Creation Time: ${index.creationTime}`);​
}​
}​
​
nextToken = result.data.nextToken;​
if (nextToken) {​
console.log(" Next Token:", nextToken);​
page += 1;​
} else {​
console.log(" 已无更多分页结果。");​
}​
} while (nextToken);​
} catch (error: any) {​
handleError(error);​
}​
}​
​
main();​
​
​
​
最近更新时间:2026.08.03 11:05:44
这个页面对您有帮助吗?
有用
有用
无用
无用