JSPM

  • Created
  • Published
  • Downloads 2290
  • Score
    100M100P100Q114130F
  • License ISC

火山引擎OpenAPI SDK nodejs版

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@volcengine/openapi) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    Volcano Engine OpenAPI node sdk

    中文文档

    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);