火山引擎API如何用Node.js接入?
调用火山引擎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】。
-
08.07
魔兽世界12.0前夕增辉唤魔师天赋如何加点-魔兽世界12.0前夕增辉唤魔师天赋加点详情
-
08.07
三国群英传策定九州骑兵队如何搭配阵容-三国群英传策定九州骑兵队阵容搭配做法
-
08.07
《红色沙漠》冰冷之心套装获取攻略-冰冷之心套装详细获得做法
-
08.07
开局废灵根我无敌了手游测试资格获取做法大全开局废灵根我无敌了手游内测资格申请与预约攻略
-
08.07
异环阿德勒如何配队与出装 异环阿德勒配队与出装推荐
-
08.07
阅读《Dungeon Crawler Carl》图像小说的前10页
-
- 韩式惊悚片《西瓜》海报
- 08.07
-
- 现代扁平化插画头像
- 08.07
-
- 动漫风:屋顶秘密舱门发现之旅
- 08.07
-
-
- 夏日列车上的轻阅读
- 08.07
-
- 未来感月食美妆封面
- 08.07
-
-
下载
- |
-
-
下载
- 《行尸走肉第一章》免安装中文汉化硬盘版下载
- 单机|436 MB
- 一款以动作冒险为主题的游戏
-
-
下载
- 《街头霸王X铁拳》免安装中文汉化硬盘版下载
- 单机|111MB
- 一款非常好玩的格斗游戏
-
-
下载
- |
-
-
下载
- 《暗黑破坏神3》免安装繁体中文正式版下载
- 单机|7630 MB
- 一款以角色扮演为主题的游戏
-
-
下载
- 《马克思佩恩3》免安装硬盘版下载
- 单机|27033 MB
- 一款以第三人称射击为主题的游戏