详情页标题前

腾讯云云函数(SCF)Node.js SDK-云淘科技

详情页1

Tencentcloud-Serverless-Nodejs SDK 简介

Tencentcloud-Serverless-Nodejs 是腾讯云云函数 SDK,集成云函数业务流接口,简化云函数的调用方法。在使用该 SDK 的情况下,用户可以方便的从本地、云服务器(CVM)、容器、以及云端函数里快速调用某一个云函数,无需再进行公有云 API 的接口封装。

功能特性

Tencentcloud-Serverless-Nodejs SDK 的功能特性可分为以下几点:高性能,低时延的进行函数调用。填写必须的参数后,即可快速进行函数间的调用(SDK 会默认获取环境变量中的参数,例如 region,secretId 等)。支持内网域名的访问。支持 keepalive 能力。支持跨地域函数调用。说明函数间调用 SDK 仅适用于事件函数,Web 函数可通过在函数代码中请求 Web 函数对应路径的方式发起调用。

快速开始

开发准备

开发环境
已安装 Node.js 8.9 及以上版本。运行环境
已安装 tencentcloud-serverless-nodejs SDK,支持 Windows、Linux 和 Mac 操作系统。建议使用 Serverless Cloud Framework,可快速部署本地云函数。

安装 tencentcloud-serverless-nodejs SDK

通过 npm 安装(推荐)

1. 根据实际需求,选择目录路径,并在该路径下创建新的目录。
例如,创建一个名称为 testNodejsSDK 的项目目录,项目路径为 /Users/xxx/Desktop/testNodejsSDK。2. 进入 testNodejsSDK 目录,并依次执行以下命令,安装 tencentcloud-serverless-nodejs SDK。

npm init -ynpm install tencentcloud-serverless-nodejs

安装完成后,在 testNodejsSDK 目录下可以查看到 node_modulespackage.jsonpackage-lock.json

通过源码包安装

前往 Github 代码托管地址 下载最新源码包,解压源码包后进行安装。

使用云函数在线依赖安装

使用 云函数在线依赖安装,在 package.json 中执行以下命令并进行安装。

{    "dependencies": {    "tencentcloud-serverless-nodejs":"*"  }}

云端函数互调

示例

注意不同地域下的函数互调,须指定地域,命名规则参见 地域列表。如果不指定地域,默认为同地域下函数互调。命名空间不指定,默认为 default。需要打开调用方函数外网访问权限。如果没有手动传入 secretId 和 secretKey 等参数,函数需绑定有 SCF Invoke 权限(或者包含 SCF Invoke,例如 SCF FullAccess)的角色,可参考 创建函数运行角色。1. 创建一个地域为北京,名称为 “FuncInvoked”,并用于被调用的 Node.js 云函数。该云函数内容如下:

'use strict';exports.main_handler = async (event, context, callback) => {   console.log("\n Hello World from the function being invoked\n")   console.log(event)   console.log(event["non-exist"])   return event};

2.testNodejsSDK 目录下新建文件 index.js,并输入如下示例代码,创建发起调用的 Node.js 云函数。

const { SDK, LogType }  = require('tencentcloud-serverless-nodejs')exports.main_handler = async (event, context) => {  context.callbackWaitsForEmptyEventLoop = false  const sdk = new SDK({    region:'ap-beijing'  }) //如果在云函数中运行并且绑定了有SCF调用资格的运行角色,会默认取环境变量中的鉴权信息  const res = await sdk.invoke({    functionName: 'FuncInvoked',    logType: LogType.Tail,    data: {      name: 'test',      role: 'test_role'    }  })  console.log(res)  // return res}

其中主要参数获取途径如下:region被调用云函数所在地域,本文以 步骤1 中的北京地域为例。functionName被调用云函数名称,本文以 步骤1 中已创建的 FuncInvoked 函数为例。qualifier被调用云函数版本,如未指定则默认使用 $LATEST。详情请参见 查看版本。namespace被调用云函数所在命名空间, 如未指定则默认 default。详情请参见 命名空间管理。data:传递给被调用云函数的数据,被调用的云函数可以从 event 入参中读取此数据。3. 创建一个地域为成都,名称为 “NodejsInvokeTest”,并用于调用的 Node.js 云函数。该云函数主要设置信息如下:执行方法:选择index.main_handler。代码提交方式:选择本地上传 zip 包
testNodejsSDK 目录下的所有文件压缩为 zip 格式,并上传到云端。4. 在 Serverless 控制台 单击新建的云函数,进入函数管理的代码编辑页面,然后单击测试,运行函数。输出结果如下:

"Already invoked a function!"

本地调用云端函数

示例

1. 创建一个地域为北京,名称为 “FuncInvoked”,并且用于被调用的 Node.js 云函数。该云函数内容如下:

'use strict';exports.main_handler = async (event, context, callback) => {   console.log("\n Hello World from the function being invoked\n")   console.log(event)   console.log(event["non-exist"])   return event};

2.testNodejsSDK 目录下新建文件 index.js,作为发起调用的 Node.js 云函数,并输入如下示例代码:

const { SDK, LogType }  = require('tencentcloud-serverless-nodejs')exports.main_handler = async (event, context) => {  context.callbackWaitsForEmptyEventLoop = false  const sdk = new SDK({    region:'ap-beijing',    secretId: 'AKxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxj',    secretKey: 'WtxxxxxxxxxxxxxxxxxxxxxxxxxxxxqL'  }) //如果在云函数中运行并且绑定了有SCF调用资格的运行角色,会默认取环境变量中的鉴权信息  const res = await sdk.invoke({    functionName: 'FuncInvoked',    logType: LogType.Tail,    data: {      name: 'test',      role: 'test_role'    }  })  console.log(res)  // return res}

注意secretId 及 secretKey:指云 API 的密钥 ID 和密钥 Key。您可以通过登录 访问管理控制台,选择访问密钥 > API 密钥管理,获取相关密钥或创建相关密钥。3. 进入 index.js 所在文件目录,执行以下命令,查看结果。Linux 及 Mac 操作系统,执行以下命令:

export NODE_ENV=development && node index.js

Windows 操作系统执行以下命令:

set NODE_ENV=development && node index.js

输出结果如下:

prepare to invoke a function!{"key":"value"}Already invoked a function!

接口列表

API Reference

InitInvoke

Init

在使用 SDK 前,建议执行 npm init 命令进行初始化 SDK。说明初始化命令可传入 regionsecretIdsecretKey参数。完成初始化后,调用 API 接口时可复用初始化的配置。参数信息:

参数名 是否必填 类型 描述
region String 地域
secretId String 默认会取 process.env.TENCENTCLOUD_SECRETID
secretKey String 默认会取 process.env.TENCENTCLOUD_SECRETKEY
token String 默认会取 process.env.TENCENTCLOUD_SESSIONTOKEN

Invoke

调用函数,目前支持同步调用。参数信息:

参数名 是否必填 类型 描述
functionName String 函数名称
qualifier String 函数版本,默认为 $LATEST
data String 函数运行入参
namespace String 命名空间,默认为 default
region String 地域
secretId String 默认会取 process.env.TENCENTCLOUD_SECRETID
secretKey String 默认会取 process.env.TENCENTCLOUD_SECRETKEY
token String 默认会取 process.env.TENCENTCLOUD_SESSIONTOKEN

官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/149658.html

(0)
上一篇 2023年12月9日
下一篇 2023年12月9日
详情页2

相关推荐

  • 腾讯云容器镜像服务使用自定义域名及云联网实现跨地域内网访问同尘

    操作场景 容器镜像服务 TCR 企业版支持网络访问控制,支持用户接入指定的私有网络 VPC,允许该 VPC 内 Docker 客户端通过内网访问镜像数据。随着多云/分布式云的概念普及及实践落地,用户的容器集群不再仅位于腾讯云指定地域单个私有网络 VPC 内,而可能分布在多个云厂商,IDC 的复杂网络内,而这些复杂网络可能通过云联网、对等连接的网络产品实现互通…

    2023年12月9日
  • 阿里云RDS数据库GrantAccountPrivilege – 授权账号访问数据库-云淘科技

    该接口用于授权数据库账号访问指定的数据库。 接口说明 适用引擎 RDS MySQL RDS PostgreSQL RDS SQL Server RDS MariaDB 相关功能文档 注意 使用该接口前,请仔细阅读功能文档,确保完全了解使用接口的前提条件及使用后造成的影响后,再进行操作。 RDS MySQL修改账号权限 RDS PostgreSQL数据库账号授…

    阿里云数据库 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云对象存储列出对象

    简介 本文档提供关于列出对象操作相关的 API 概览以及 SDK 示例代码。 API 操作名 操作描述 GET Bucket(List Objects) 查询对象列表 查询存储桶下的部分或者全部对象 GET Bucket Object Versions 查询对象及其历史版本列表 查询存储桶下的部分或者全部对象及其历史版本信息 简单操作 简单操作由 COSCl…

    腾讯云 2023年12月9日
  • 腾讯云对象存储基础图片处理

    简介 本文档提供关于基础图片处理的 API 概览以及 SDK 示例代码。 API 操作描述 缩放 对图片进行缩小或放大 裁剪 对图片进行裁剪,包括普通裁剪、缩放裁剪、内切圆裁剪、圆角裁剪和人脸智能裁剪 旋转 对图片进行旋转,包括普通旋转和自适应旋转 格式转换 对图片进行格式转换、gif 格式优化、渐进显示 质量变换 对图片质量进行调节 高斯模糊 对图片进行模…

    腾讯云 2023年12月9日
  • 阿里云ECS云服务器手动部署LNMP环境(Ubuntu 20)-云淘科技

    Nginx是一款小巧而高效的Web服务器软件,可帮您在Linux系统下快速方便地搭建出LNMP Web服务环境。本文介绍如何手动在ECS实例上搭建LNMP环境,其中LNMP分别代表Linux、Nginx、MySQL和PHP。 前提条件 已创建ECS实例并为实例分配了公网IP。具体操作,请参见自定义购买实例。 本教程中,创建的ECS实例配置说明如下。建议您与教…

    2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。