操作场景
通过 Serverless Cloud Framework 的本地调试能力,您可以在本地的模拟环境中运行代码,发送模拟测试事件,并获取到函数代码的运行日志等信息。
前提条件
系统中已安装好 Node.js 环境。注意当前命令仅支持 Node.js 和 Python runtime。为保证部署云端和本地运行的结果一致,建议本地安装的 runtime 版本和云端版本保持一致。例如,在云端使用 Node.js 12.x,则本地建议也安装 Node.js 12.x 版本。目前只有 SCF 组件支持本地调试。本地调试仅支持事件类型函数,Web 类型函数请参照 云端测试 进行测试。
使用方式
通过 scf invoke local
命令完成本地触发运行。Serverless Cloud Framework 命令行工具将依据指定的函数模板配置文件,在本地的指定目录中运行相应代码,并通过指定的触发事件,实现在本地云函数模拟环境中运行。相关命令如下:
invoke local .................. 调用本地函数 --function / -f ............ 函数名称(只能指定统一目录下 yml 里配置的函数名称) --data / -d ................ 要传递给调用函数的序列化 Event 数据 (String) --path / -p ................ 要传递给调用函数 Event 的 json 文件所在路径 --context .................. 要传递给调用函数的序列化 Context 数据 (String) --contextPath / -x ......... 要传递给调用函数 Context 的 json 文件所在路径 --env / -e ................. 覆盖环境变量信息,例如 --env VAR1=val1 --env VAR2=val2 --config / -c ..............Path to serverless config file
操作步骤
下文以 Node.js 为例,指导您如何进行本地调试:1. 执行以下命令,初始化示例代码。
scf init scf-nodejs && cd scf-nodejs
2. 在目录下创建测试事件模板 test.json
。示例如下:
{ "value": "test", "text": "Hello World 事件模板", "context": { "key1": "test value 1", "key2": "test value 2" }}
3. 创建 .env
文件,输入您的永久密钥。示例如下:
# .envTENCENT_SECRET_ID=xxxxxxxxxx #您账号的 SecretIdTENCENT_SECRET_KEY=xxxxxxxx #您账号的 SecretKey
说明 您也可以通过扫码部署,获取临时密钥自动生成配置文件。4. 执行以下命令,在本地查看调用结果。
scf invoke local -p xxxx.json
示例如下:
# scf invoke local -p test.jsonHello World{ value: 'test', text: 'Hello World 事件模板', context: { key1: 'test value 1', key2: 'test value 2' }}undefined{}---------------------------------------------Serverless: 调用成功
{ value: "test", text: "Hello World 事件模板", context: { key1: "test value 1", key2: "test value 2" }}
官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠
转转请注明出处:http://www.yunxiaoer.com/149050.html