一、前提条件
系统中已安装好 Node.js 环境。
二、使用方式
通过 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 -d '{"key1":"test value 1","key2":"test value 2"}'
示例如下:
# 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" }}