1.0.3 • Published 4 years ago

tencentcloud-serverless-nodejs v1.0.3

Weekly downloads
21
License
MIT
Repository
github
Last release
4 years ago

Tencentcloud-Serverless-Nodejs

GitHub license NPM Version NODE Version

腾讯云云函数SDK,集成云函数业务流接口

配置需求

  • 打开函数外网访问权限
  • 如果没有手动传入secretId和secretKey等参数,函数需绑定有SCF Invoke 权限(或者包含SCF Invoke,比如SCF FullAccess)的角色

Install

npm install tencentcloud-serverless-nodejs

Example

const { SDK, LogType }  = require('tencentcloud-serverless-nodejs')

exports.main_handler = async (event, context) => {
  context.callbackWaitsForEmptyEventLoop = false
  const sdk = new SDK({
    region:'ap-guangzhou'
  }) //如果在云函数中运行并且绑定了有SCF调用资格的运行角色,会默认取环境变量中的鉴权信息
  const res = await sdk.invoke({
    functionName: 'test_function',
    logType: LogType.Tail,
    data: {
      name: 'juli',
      role: 'big boss'
    }
  })
  console.log(res)
  // {
  //  "RequestId":"195434cd-ecf1-43d1-b707-90a293f5a282",
  //  "Result":{
  //     "BillDuration":3,
  //     "Duration":3,
  //     "ErrMsg":"",
  //     "FunctionRequestId":"195434cd-ecf1-43d1-b707-90a293f5a282",
  //     "InvokeResult":0,
  //     "Log":"START RequestId: 195434cd-ecf1-43d1-b707-90a293f5a282\nEvent RequestId: 195434cd-ecf1-43d1-b707-90a293f5a282\n2020-06-15T12:48:44.194Z\t195434cd-ecf1-43d1-b707-90a293f5a282\tHello World 111\n2020-06-15T12:48:44.194Z\t195434cd-ecf1-43d1-b707-90a293f5a282\t{ name: 'juli', role: 'big boss' }\n2020-06-15T12:48:44.196Z\t195434cd-ecf1-43d1-b707-90a293f5a282\tundefined\n2020-06-15T12:48:44.196Z\t195434cd-ecf1-43d1-b707-90a293f5a282\t{\n  callbackWaitsForEmptyEventLoop: [Getter/Setter],\n  getRemainingTimeInMillis: [Function: getRemainingTimeInMillis],\n  memory_limit_in_mb: 128,\n  time_limit_in_ms: 3000,\n  request_id: '195434cd-ecf1-43d1-b707-90a293f5a282',\n  environment: '{\"SCF_NAMESPACE\":\"default\"}',\n  environ: 'SCF_NAMESPACE=default;SCF_NAMESPACE=default',\n  function_version: '$LATEST',\n  function_name: 'test_function',\n  namespace: 'default',\n  tencentcloud_region: '',\n  tencentcloud_appid: 'xxxxxxxx',\n  tencentcloud_uin: 'xxxxxxxxxx'\n}\n\nEND RequestId: 195434cd-ecf1-43d1-b707-90a293f5a282\nReport RequestId: 195434cd-ecf1-43d1-b707-90a293f5a282 Duration:3ms Memory:128MB MemUsage:10.5977MB",
  //     "MemUsage":11112448,
  //     "RetMsg":"{\"name\":\"juli\",\"role\":\"big boss\"}"
  //  }
}
};

API

Init

new SDK(Params)

使用SDK前,需要先初始化SDK,参数中undefined的值会被忽略。

Params:

参数名是否必填类型描述
regionstring地域,默认广州(ap-guangzhou)
secretIdstring默认会取process.env.TENCENTCLOUD_SECRETID
secretKeystring默认会取process.env.TENCENTCLOUD_SECRETKEY
tokenstring默认会取process.env.TENCENTCLOUD_SESSIONTOKEN

Invoke

invoke(Params)

调用函数。支持同步和异步调用

Params:

参数名是否必填类型描述
functionNamestring函数名称
qualifierstring函数版本,默认为$LATEST
datastring | object函数运行入参
namespacestring命名空间,默认为default
invocationType'RequestResponse' | 'Event'同步/异步调用
routingKeystring | object函数灰度流量控制调用,以json格式传入,例如{"k":"v"},注意kv都需要是字符串类型,最大支持的参数长度是1024字节
logType'None'| 'Tail'日志类型,默认None,如传入Tail会返回调用过程中打印的日志

Return:

正常调用返回一个带有返回值结果和RequestId的object

 {
   "RequestId":"195434cd-ecf1-43d1-b707-90a293f5a282",
   "Result":{
      "BillDuration":3,
      "Duration":3,
      "ErrMsg":"",
      "FunctionRequestId":"195434cd-ecf1-43d1-b707-90a293f5a282",
      "InvokeResult":0,
      "Log":"START RequestId: 195434cd-ecf1-43d1-b707-90a293f5a282\nEvent RequestId: 195434cd-ecf1-43d1-b707-90a293f5a282\n2020-06-15T12:48:44.194Z\t195434cd-ecf1-43d1-b707-90a293f5a282\tHello World 111\n2020-06-15T12:48:44.194Z\t195434cd-ecf1-43d1-b707-90a293f5a282\t{ name: 'juli', role: 'big boss' }\n2020-06-15T12:48:44.196Z\t195434cd-ecf1-43d1-b707-90a293f5a282\tundefined\n2020-06-15T12:48:44.196Z\t195434cd-ecf1-43d1-b707-90a293f5a282\t{\n  callbackWaitsForEmptyEventLoop: [Getter/Setter],\n  getRemainingTimeInMillis: [Function: getRemainingTimeInMillis],\n  memory_limit_in_mb: 128,\n  time_limit_in_ms: 3000,\n  request_id: '195434cd-ecf1-43d1-b707-90a293f5a282',\n  environment: '{\"SCF_NAMESPACE\":\"default\"}',\n  environ: 'SCF_NAMESPACE=default;SCF_NAMESPACE=default',\n  function_version: '$LATEST',\n  function_name: 'test_function',\n  namespace: 'default',\n  tencentcloud_region: '',\n  tencentcloud_appid: 'xxxxxxxx',\n  tencentcloud_uin: 'xxxxxxxxxx'\n}\n\nEND RequestId: 195434cd-ecf1-43d1-b707-90a293f5a282\nReport RequestId: 195434cd-ecf1-43d1-b707-90a293f5a282 Duration:3ms Memory:128MB MemUsage:10.5977MB",
      "MemUsage":11112448,
      "RetMsg":"{\"name\":\"juli\",\"role\":\"big boss\"}"
   }

错误调用返回一个带有错误信息,错误码,以及RequestId的object,【错误码详情】

{
   "Error":{
      "Code":"ResourceNotFound.FunctionName",
      "Message":"Function not found: [n11112]"
   },
   "RequestId":"bb994f2f-526e-4142-bf9b-b8cf482c14ea"
}

Licence

MIT

1.0.3

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago

0.0.26

4 years ago

0.0.24

4 years ago

0.0.23

5 years ago

0.0.22

5 years ago

0.0.21

5 years ago

0.0.20

5 years ago

0.0.19

5 years ago

0.0.18

5 years ago

0.0.17

5 years ago

0.0.16

5 years ago

0.0.15

5 years ago

0.0.14

5 years ago

0.0.13

5 years ago

0.0.12

5 years ago

0.0.11

5 years ago

0.0.10

5 years ago

0.0.9

5 years ago

0.0.8

5 years ago

0.0.7

5 years ago

0.0.6

5 years ago

0.0.5

5 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago