详情页标题前

腾讯云云函数(SCF)SDK 文档-云淘科技

详情页1

开发准备

安装 SDK 前,需要先获取安全凭证。在第一次使用云 API 之前,用户首先需要在腾讯云控制台上申请安全凭证,安全凭证包括 SecretId 和 SecretKey。SecretId 是用于标识 API 调用者的身份,SecretKey 是用于加密签名字符串和服务器端验证签名字符串的密钥。SecretKey 必须严格保管,避免泄露。

安装 SDK

腾讯云开发者工具套件(SDK)提供多种语言版本,统一了接口调用方式,规范了错误码以及返回包格式,方便您快速接入和使用腾讯云服务。您可在 SDK 中心 中快速获取腾讯云 SDK 并开始调用。

API

SCF 常用的 API 如下,更多 API 可参考 API 文档

接口名称 接口功能
CreateFunction 创建函数
DeleteFunction 删除函数
GetFunction 获取函数详细信息
Invoke 运行函数
ListFunctions 获取函数列表
UpdateFunctionCode 更新函数代码
UpdateFunctionConfiguration 更新函数配置

使用示例

PythonNode.jsPHP以 Python3.6 为例:

# -*- coding: utf8 -*-
import jsonfrom tencentcloud.common import credentialfrom tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException# 导入对应产品模块的client modelsfrom tencentcloud.scf.v20180416 import scf_client,models
# 对应接口的接口名action = 'Invoke'
# 接口参数,输入需要调用的函数名,RequestResponse(同步) 和 Event(异步)action_params = { 'FunctionName': "function-name", 'InvocationType': "Event"}
print('Start SCF')
def main_handler(event, context): try: # 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey cred = credential.Credential("SecretId", "SecretKey")
# 实例化要请求产品的client对象,以及函数所在的地域 client = scf_client.ScfClient(cred, "ap-shanghai")
# 调用接口,发起请求,并打印返回结果 ret = client.call(action, action_params)
print(json.loads(ret)["Response"]["Result"]["RetMsg"])
except TencentCloudSDKException as err: print(err)


Node.js12.16 为例:说明如果在层中使用 SDK,请在代码中指定绝对路径,即 /opt/node_modules/tencentcloud-sdk-nodejs

'use strict';const tencentcloud = require("/var/user/node_modules/tencentcloud-sdk-nodejs");// 导入对应产品模块的client models。const ScfClient = tencentcloud.scf.v20180416.Client;const models = tencentcloud.scf.v20180416.Models;
const clientConfig = {// 腾讯云认证信息credential: { secretId: "secretId", secretKey: "secretKey",},// 产品地域region: "ap-beijing",profile:{}}
exports.main_handler = (event, context) => { console.log(event) // console.log(context)
// 实例化要请求产品的client对象,以及函数所在的地域 const client = new ScfClient(clientConfig);
console.log("Start SCF") // 通过client对象调用想要访问的接口,需要传入请求对象以及响应回调函数 client.Invoke({"FunctionName":"function-name","InvocationType":"Event"}, function(err, response) { // 请求异常返回,打印异常信息 if (err) { console.log(err); return; } // 请求正常返回,打印response对象 console.log("success"); });};

SCF 内置 SDK 使用示例

不同版本 Node.js 运行环境内置的 tencentcloud-sdk-nodejs 版本有差异,具体版本信息请参考Node.js环境内置库。 以 Node.js12.16 为例:

 'use strict';
const tencentcloud = require("tencentcloud-sdk-nodejs"); const Credential = tencentcloud.common.Credential;
// 导入对应产品模块的client models。 const ScfClient = tencentcloud.scf.v20180416.Client; const models = tencentcloud.scf.v20180416.Models;
exports.main_handler = (event, context) => { console.log(event) // console.log(context)
// 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey let cred = new Credential("SecretId", "SecretKey");
// 实例化要请求产品的client对象,以及函数所在的地域 let client = new ScfClient(cred, "ap-beijing");
// 实例化一个请求对象,调用invoke() console.log("Start SCF") let request = new models.InvokeRequest(); // 接口参数,输入需要调用的函数名,RequestResponse(同步) 和 Event(异步) let params = '{"FunctionName":"function-name", "InvocationType":"Event"}' request.from_json_string(params); // 通过client对象调用想要访问的接口,需要传入请求对象以及响应回调函数 client.Invoke(request, function(err, response) { // 请求异常返回,打印异常信息 if (err) { console.log(err); return; } // 请求正常返回,打印response对象 console.log(response.to_json_string()); }); };

示例如下:

setEndpoint("scf.tencentcloudapi.com");
$clientProfile = new ClientProfile(); $clientProfile->setHttpProfile($httpProfile); // 实例化要请求产品的client对象,以及函数所在的地域 $client = new ScfClient($cred, "ap-shanghai", $clientProfile); $req = new InvokeRequest(); // 接口参数,输入需要调用的函数名,RequestResponse(同步) 和 Event(异步) $params = '{"FunctionName":"function-name", "InvocationType":"Event"}'; $req->fromJsonString($params); $resp = $client->Invoke($req); print_r($resp->toJsonString()); } catch(TencentCloudSDKException $e) { echo $e; } return "hello";}?>

打包部署

如果需要在云函数控制台中部署函数,并使用 SDK 调用其他函数,则需要把 tencentcloud 的库和函数代码一起打包成 zip 文件。注意在控制台创建函数时的执行方法,需要和 zip 文件里的代码文件和执行函数对应。最终生成的 zip 包如果大于50MB,需要通过 COS 上传。云 API 默认限频为每秒20次,如需提升并发上限,可以 提交工单 申请。

API Explorer

API Explorer 提供了在线调用、签名验证、 SDK 代码生成和快速检索接口等能力,能显著降低使用云 API 的难度。

相关信息

您也可以使用腾讯云云函数 SDK(Tencentserverless SDK),该 SDK 集成云函数业务流接口,简化云函数的调用方法,使您无需再进行公有云 API 接口的封装。详情请参见 函数间调用 SDK。

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

转转请注明出处:http://www.yunxiaoer.com/150175.html

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

相关推荐

  • 腾讯云轻量应用服务器关于新增雅加达地域及可用区公告云小二

    腾讯云轻量应用服务器新增支持雅加达(雅加达一区,雅加达二区)地域,您可前往 轻量应用服务器购买页 进行选购。 相关文档 购买方式地域与网络连通性 轻量应用服务器官网1折活动,限时活动,即将结束,速速收藏同尘科技为腾讯云授权服务中心。购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

    腾讯云 2023年12月9日
  • 腾讯云轻量应用服务器修改实例远程默认端口云小二

    操作场景 由于使用系统默认端口的风险较大,容易被攻击软件扫描以及攻击,为避免因端口攻击而无法远程连接轻量应用服务器实例,您可将默认远程端口修改为不常见的端口,提供轻量应用服务器实例的安全性。修改服务端口需在防火墙规则与轻量应用服务器实例中进行同步修改,才能使该端口的修改正式生效。如下操作将为您介绍如何修改默认远程端口。请根据您实例的操作系统类型,选择对应的修…

    2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云轻量应用服务器回滚备份点云小二

    操作场景 当您的云硬盘已具备备份点后,可将云硬盘数据恢复至历史备份点时刻,以减轻误操作、入侵等情况下的数据安全风险。本文介绍如何通过轻量应用服务器控制台,使用已有备份点恢复云硬盘数据至该备份时刻。注意备份点回滚后,会导致云硬盘内备份点时刻后的数据被清除,请您提前评估。 操作步骤 1. 登录轻量应用服务器控制台,选择左侧导航栏中的 数据备份。2. 在数据备份页…

    2023年12月9日
  • 视觉智能平台怎么快速删除人脸数据库?我调用删除接口提示人脸数据库里必须清空才能删除。-云小二-阿里云

    视觉智能平台怎么快速删除人脸数据库?我调用删除接口提示人脸数据库里必须清空才能删除。这个接口,我现在有个人脸数据库不需要了想删除掉。 以下为热心网友提供的参考意见 在阿里云视觉智能平台删除人脸数据库时,需要确保数据库内的人脸数据已经被清空。因此,如果您尝试删除但提示必须清空才能删除,那么你需要首先确保数据库中所有的人脸图片已经全部被移除。具体操作步骤如下: …

    2023年12月6日
  • 腾讯云对象存储取消任务

    功能描述 取消批量数据处理任务。 授权说明 授权策略中 action 设置为 ci:CancelInventoryTriggerJob 。查看所有 action。 服务开通 使用该功能需提前开通数据万象,并绑定存储桶。详情请参见 绑定存储桶。 使用限制 使用该接口时,请先确认相关限制条件。详情请参见 使用限制。 请求 请求示例 PUT /inventory…

    腾讯云 2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

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