tencent cloud

文档反馈

函数操作

最后更新时间:2022-11-01 10:58:16
    注意:

    由于域名备案更新,目前 cli 部署流程无法通过扫码登录,您可以通过本地配置永久密钥,或者根据命令行提示,通过访问 URL 完成登录,详情见 账号和权限配置

    操作场景

    该任务指导您通过 Serverless Cloud Framework,在腾讯云上快速创建、配置和部署一个 SCF 云函数应用。

    前提条件

    说明:

    如果您的账号为腾讯云子账号,请先联系主账号,参考 账号和权限配置 进行授权。

    操作步骤

    快速部署

    空文件夹目录下,执行如下指令:

    serverless-cloud-framework
    

    接下来按照交互提示,完成项目初始化,应用请选择 scf-starter 模板,并选择您希望用的运行时(此处以 Node.js 为例):

    serverless-cloud-framework: 当前未检测到 Serverless 项目,是否希望新建一个项目? Yes
    serverless-cloud-framework: 请选择您希望创建的 Serverless 应用 scf-starter - 快速部署一个云函数
      react-starter - 快速部署一个 React.js 应用 
     restful-api - 快速部署一个 REST API 使用 python + API gateway 
    ❯ scf-starter - 快速部署一个云函数 
     vue-starter - 快速部署一个 Vue.js 基础应用 
     website-starter - 快速部署一个静态网站 
     eggjs-starter - 快速部署一个Egg.js 基础应用 
     express-starter - 快速部署一个 Express.js 基础应用 
     
    serverless-cloud-framework: 请选择应用的运行时 scf-nodejs - 快速部署一个 nodejs 云函数
      scf-golang - 快速部署一个 golang 云函数 
    ❯ scf-nodejs - 快速部署一个 nodejs 云函数 
     scf-php - 快速部署一个 PHP 云函数 
     scf-python - 快速部署一个 python 云函数  
     
    serverless-cloud-framework: 请输入项目名称 demo
    serverless-cloud-framework: 正在安装 scf-nodejs 应用...
    scf-nodejs › Created
    
    demo 项目已成功创建!
    

    选择立即部署,将已经初始化好的项目快速部署到云函数控制台:

    serverless-cloud-framework: 是否希望立即将该项目部署到云端? Yes
    点击下方链接登录
    https://scflogin.qcloud.com/XKYUcbaK
    登录成功!
    serverless-cloud-framework
    Action: "deploy" - Stage: "dev" - App: "scfApp" - Instance: "scfdemo"
    functionName: helloworld
    description:  helloworld 空白模板函数
    namespace:    default
    runtime:      Nodejs10.15
    handler:      index.main_handler
    memorySize:   128
    lastVersion:  $LATEST
    traffic:      1
    triggers: 
    apigw: 
      - http://service-xxxxxxx.gz.apigw.tencentcs.com/release/
    27s › scfdemo › Success
    

    部署完毕后,通过以下指令,完成函数的远程调用:

    scf invoke --inputs function=helloworld
    
    说明:

    scf 是 serverless-cloud-framework 命令的简写。

    查看部署信息

    如果希望再次查看应用的部署状态和资源,可以进入到部署成功的文件夹,运行如下命令,查看对应信息:

    cd demo #进入项目目录,此处请改为您的项目目录名称
    scf info
    

    查看目录结构

    在初始化的项目目录下,可以看到一个 Serverless 函数项目的最基本结构:

    .
    ├── serverless.yml  # 配置文件
    ├—— index.js    # 入口函数
    └── .env # 环境变量文件
    
    • serverless.yml 配置文件实现了函数基本信息的快速配置,函数控制台支持的配置项都支持在 yml 文件里配置(查看 云函数的全量配置信息)。
    • index.js 为项目的入口函数,此处为 helloworld 模板。
    • .env 文件里存放了用户登录的鉴权信息,您也可以在里面配置其它环境变量。

    重新部署

    在本地项目目录下,您可以对函数模板项目内容与配置文件进行修改,并通过以下指令进行重新部署:

    scf deploy
    
    说明:

    如需查看移除过程中的详细信息,可以增加 --debug 参数进行查看。

    持续开发

    部署完成后,Serverless Cloud Framework 支持通过不同指令,帮助您完成项目的持续开发部署、灰度发布等能力,您也可以结合其它组件一起使用,完成多组件应用的部署管理。

    详情请参考文档 应用管理支持命令列表

    常见问题

    输入 serverless-cloud-framework 时没有默认弹出中文引导。

    解决方案: 在 .env 文件中增加配置 SERVERLESS_PLATFORM_VENDOR=tencent 即可。

    在境外网络环境,输入 scf deploy 后部署十分缓慢。

    解决方案:在 .env 文件中增加配置 GLOBAL_ACCELERATOR_NA=true 则开启境外加速 。

    输入 scf deploy 后部署报网络错误。

    解决方案:在 .env 文件中增加以下代理配置。

    HTTP_PROXY=http://127.0.0.1:12345 #请将'12345'替换为您的代理端口
    HTTPS_PROXY=http://127.0.0.1:12345 #请将'12345'替换为您的代理端口

    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持