{"id":19411465,"url":"https://github.com/volcengine/volc-sdk-nodejs","last_synced_at":"2025-04-05T06:08:28.102Z","repository":{"id":53269005,"uuid":"325555601","full_name":"volcengine/volc-sdk-nodejs","owner":"volcengine","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-20T12:28:52.000Z","size":1197,"stargazers_count":46,"open_issues_count":11,"forks_count":7,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-29T05:03:38.890Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/volcengine.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-30T13:18:15.000Z","updated_at":"2025-03-26T03:25:36.000Z","dependencies_parsed_at":"2024-04-09T15:33:21.028Z","dependency_job_id":"8918d0e2-8234-4e1c-ad5b-71596938a87c","html_url":"https://github.com/volcengine/volc-sdk-nodejs","commit_stats":{"total_commits":204,"total_committers":36,"mean_commits":5.666666666666667,"dds":0.7549019607843137,"last_synced_commit":"6e454c926fee5f925dcd9cf28ea66b63384b5bb5"},"previous_names":[],"tags_count":52,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volcengine%2Fvolc-sdk-nodejs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volcengine%2Fvolc-sdk-nodejs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volcengine%2Fvolc-sdk-nodejs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volcengine%2Fvolc-sdk-nodejs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/volcengine","download_url":"https://codeload.github.com/volcengine/volc-sdk-nodejs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247294539,"owners_count":20915340,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T12:21:31.694Z","updated_at":"2025-04-05T06:08:28.071Z","avatar_url":"https://github.com/volcengine.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Volcano Engine OpenAPI node sdk\n\n[中文文档](./README_zh.md)\n\n## Requirements:\n\n- Node.js \u003e= 12\n\n## Installation\n```shell\nnpm install -S @volcengine/openapi\n```\n\n## Basic Usage\n\n### 1. Setting OpenAPI service's AK\u0026SK\n\nAvailable in three settings\n\n#### 1. Use API to set AK\u0026SK\n```ts\n// Use the default service instance. You can also create a new instance.\n// `const iamService = new iam.IamService();`\nconst iamService = iam.defaultService;\n\n// set aksk\niamService.setAccessKeyId(AccessKeyId);\niamService.setSecretKey(SecretKey);\n// If you use sts to request, you need to set up `SessionToken` after aksk is set\niamService.setSessionToken(SessionToken);\n```\n\n#### 2. Use environment variables to set AK \u0026 SK\n```shell\nVOLC_ACCESSKEY=\"your ak\" VOLC_SECRETKEY=\"your sk\"\n```\n\n#### 3. Use configuration file\nPut it in `~/.volc/config` in json format, the format is:\n```\n{\"VOLC_ACCESSKEY\":\"your ak\",\"VOLC_SECRETKEY\":\"your sk\"}\n```\n\n## Request OpenAPI\n\nTake the ListUsers API of the iam service as an example\n\n```ts\nimport { iam } from'@volcengine/openapi';\n\nasync function main(AccessKeyId, SecretKey) {\n   // Use the default service instance. You can also create a new instance.\n   // `const iamService = new iam.IamService();`\n   const iamService = iam.defaultService;\n\n   // set aksk\n   iamService.setAccessKeyId(AccessKeyId);\n   iamService.setSecretKey(SecretKey);\n  \n   // Request OpenAPI\n   const usersResponse = await iamService.ListUsers({\n     Limit: 10,\n     Offset: 0,\n   });\n}\n```\n\n## OpenAPI signature method\n\n### By HTTP Header\n\n```ts\nimport {Signer} from '@volcengine/openapi';\n\n// http request data\nconst openApiRequestData: RequestObj = {\n    region: 'cn-north-1',\n    method: 'GET',\n    // [optional] http request url query\n    params: {},\n    // http request headers\n    headers: {},\n    // [optional] http request body\n    body: \"\",\n}\n\nconst signer = new Signer(openApiRequestData, \"iam\");\n\n// sign\nsigner.addAuthorization({accessKeyId, secretKey, sessionToken});\n\n// Print signed headers\nconsole.log(openApiRequestData.headers);\n```\n\n### By HTTP Query \n\n```ts\nconst openApiRequestData: RequestObj = {\n    method: \"POST\",\n    region: \"cn-north-1\",\n    params: {\n        Action: \"AssumeRole\",\n        Version: \"2018-01-01\",\n        RoleTrn: \"trn:iam::200:role/STSRole\",\n        RoleSessionName: \"test\",\n    },\n}\n\nconst credentials: Credentials = {\n    accessKeyId: VOLC_ACCESSKEY,\n    secretKey: VOLC_SECRETKEY,\n    sessionToken: \"\",\n}\n\nconst signer = new Signer(openApiRequestData, \"sts\");\n\nconst signedQueryString = signer.getSignUrl(credentials);\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvolcengine%2Fvolc-sdk-nodejs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvolcengine%2Fvolc-sdk-nodejs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvolcengine%2Fvolc-sdk-nodejs/lists"}