详情

首页手游攻略 火山引擎API如何用Node.js接入?

火山引擎API如何用Node.js接入?

佚名 2026-08-07 14:39:54

调用火山引擎API需完成身份认证、签名构造、HTTP请求三步,推荐使用官方SDK初始化客户端并调用封装方法;手动请求需严格遵循时间格式、Host头及签名规则;TOS上传文件时key不可以/开头。

要在Node.js项目中调用火山引擎的API(如ECS、VPC或对象存储TOS),必须先完成身份认证、构造签名、发起HTTP请求三个核心环节,漏掉任一环都会返回401或403错误。

安装SDK并初始化客户端

执行 npm install @volcengine/volc-sdk-nodejs 安装官方SDK。这一步不能跳过,手动拼签名极易出错且不支持自动重试和超时控制。

创建 volcClient.js 文件,填入你的AccessKey ID和Secret Key:

const { VolcEngine } = require('@volcengine/volc-sdk-nodejs');

const client = new VolcEngine({

accessKeyId: '【你的AccessKey ID】',

secretKey: '【你的Secret Key】',

region: 'cn-north-1',

service: 'ecs'

});

注意:region和服务名必须与你要调用的API完全匹配,比如调TOS要写 service: 'tos',写成 tos-api 会直接报错。

调用ECS ListInstances接口

方法一:使用SDK封装好的方法(推荐)

client.listInstances({}).then(res => console.log(res)).catch(err => console.error(err));

方法二:手动构造HTTP请求(仅调试用)

第一步:设置请求路径为 /,HTTP方法为 GET

第二步:添加必要Header:X-Date(当前UTC时间,格式为 YYYYMMDD'T'HHMMSS'Z')、Host(如 ecs.cn-north-1.volcengineapi.com);

第三步:按火山签名算法生成 Authorization 头——这一步最易出错,【时间戳偏差超过15分钟会导致签名失效】

第四步:用 https.request 发起请求,响应体是JSON字符串,需 JSON.parse() 解析。

上传文件到TOS

先创建TOS客户端实例:

const tosClient = new VolcEngine({ service: 'tos', region: 'cn-beijing', bucket: 'your-bucket-name' });

调用putObject上传本地文件:

tosClient.putObject({

key: 'test.jpg',

body: fs.readFileSync('./test.jpg')

}).then(() => console.log('上传成功')).catch(e => console.error(e));

这一步操作起来很简单,直接把文件读取为Buffer传进去就行。但【key不能以/开头,否则TOS会返回400 Bad Request】

点击查看更多
推荐专题
热门阅读