Skip to content

volcengine/volc-sdk-nodejs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

56f2e3a · Apr 24, 2025
Apr 22, 2025
Sep 5, 2024
Dec 25, 2020
Oct 12, 2023
May 13, 2022
May 11, 2023
May 11, 2023
Apr 24, 2025
Apr 28, 2023
Mar 7, 2023
Jul 19, 2023
Jul 19, 2023
Dec 21, 2020
Jul 18, 2021
Apr 24, 2025
Nov 26, 2021

Repository files navigation

Volcano Engine OpenAPI node sdk

中文文档

Requirements:

  • Node.js >= 12

Installation

npm install -S @volcengine/openapi

Basic Usage

1. Setting OpenAPI service's AK&SK

Available in three settings

1. Use API to set AK&SK

// Use the default service instance. You can also create a new instance.
// `const iamService = new iam.IamService();`
const iamService = iam.defaultService;

// set aksk
iamService.setAccessKeyId(AccessKeyId);
iamService.setSecretKey(SecretKey);
// If you use sts to request, you need to set up `SessionToken` after aksk is set
iamService.setSessionToken(SessionToken);

2. Use environment variables to set AK & SK

VOLC_ACCESSKEY="your ak" VOLC_SECRETKEY="your sk"

3. Use configuration file

Put it in ~/.volc/config in json format, the format is:

{"VOLC_ACCESSKEY":"your ak","VOLC_SECRETKEY":"your sk"}

Request OpenAPI

Take the ListUsers API of the iam service as an example

import { iam } from'@volcengine/openapi';

async function main(AccessKeyId, SecretKey) {
   // Use the default service instance. You can also create a new instance.
   // `const iamService = new iam.IamService();`
   const iamService = iam.defaultService;

   // set aksk
   iamService.setAccessKeyId(AccessKeyId);
   iamService.setSecretKey(SecretKey);
  
   // Request OpenAPI
   const usersResponse = await iamService.ListUsers({
     Limit: 10,
     Offset: 0,
   });
}

OpenAPI signature method

By HTTP Header

import {Signer} from '@volcengine/openapi';

// http request data
const openApiRequestData: RequestObj = {
    region: 'cn-north-1',
    method: 'GET',
    // [optional] http request url query
    params: {},
    // http request headers
    headers: {},
    // [optional] http request body
    body: "",
}

const signer = new Signer(openApiRequestData, "iam");

// sign
signer.addAuthorization({accessKeyId, secretKey, sessionToken});

// Print signed headers
console.log(openApiRequestData.headers);

By HTTP Query

const openApiRequestData: RequestObj = {
    method: "POST",
    region: "cn-north-1",
    params: {
        Action: "AssumeRole",
        Version: "2018-01-01",
        RoleTrn: "trn:iam::200:role/STSRole",
        RoleSessionName: "test",
    },
}

const credentials: Credentials = {
    accessKeyId: VOLC_ACCESSKEY,
    secretKey: VOLC_SECRETKEY,
    sessionToken: "",
}

const signer = new Signer(openApiRequestData, "sts");

const signedQueryString = signer.getSignUrl(credentials);