开发流程

最近更新时间:2018-11-28 17:53:45

函数代码是无服务器云函数最重要的部分。用户以 SCF 云函数 的形式将应用程序代码上传至腾讯云无服务器函数平台,由 SCF 云函数 代表用户运行代码,并执行所有相关的服务器管理工作。

基于云函数的应用程序的生命周期通常包括:编写代码、创建云函数、部署云函数至 SCF 平台、测试、监控和故障排除等。本部分介绍与函数代码相关的一切,监控和故障排除的具体内容请参考监控云函数和云函数日志部分。

为云函数编写代码

用户需要使用 SCF 平台支持的语言编写云函数代码。编写代码时,可以任意选用代码编写工具如 SCF 控制台,本地编辑器或本地 IDE 等。需要注意的是,如果您的代码中引入了平台暂未引入的其他依赖库,则 必须 上传这些依赖库,平台提供的依赖库请参考 执行环境 章节,上传代码请参考 创建部署程序包 章节。

函数的开发语言目前已支持 Python、Node.js、PHP、JAVA,各语言的函数编写方法与特性,可参考 开发语言说明 章节。

同时,SCF 平台提供了一套函数编写的基本范式。例如,如何确定函数最先调用的方法、如何从参数中获取信息、如何输出日志、如何与当前运行环境交互等。具体的函数范式请参考 编写处理方法 章节。

创建部署程序包

用户需要提供代码或部署程序包(deployment package):

  • 当您的代码中使用的都是 Python 标准库和腾讯云提供的库(如各类云产品的 SDK)时,只需在控制台提供代码,SCF 平台会自动打包此代码文件并上传至 SCF 平台。

  • 如果您需要引入外部库,请按照 创建部署程序包 中的特定方式组织您的代码和依赖项,打包并上传至 SCF 平台。

  • 通过上传 zip 包创建函数时,还需注意打包方式和 “执行方法” 的填写:
    执行方法格式为a.b,其中:a 是 py 文件的名称,b 是代码中的方法名。如果用户上传的 zip 包在解压后,根目录下找不到名为 a.py 的文件,则会提示 “函数服务创建失败,请重试”,或者 “函数代码无法显示,代码 zip 包中找不到执行方法指定的文件名”。
    例如:文件结构如下
    --RootFolder
    ----SecondFolder
    ------a.py
    ------thirdfolder
    --------sth.json
    压缩代码zip包时,如果压缩的是SecondFolder,则会出现上述错误;需要选择a.pythirdfoler进行压缩。

创建及部署 SCF 云函数

用户可以通过 SCF 控制台、 API、 SDK 或 qcloud cli 工具等创建云函数。首先您需要提供云函数的配置信息,包括计算资源、运行环境等,详细信息请参考 创建 SCF 云函数

测试及触发 SCF 云函数

您可以通过以下方法测试云函数:

  • 在控制台单击【测试】按钮测试云函数。
  • 使用 API、SDK 或 qcloud cli 工具的 InvokeFunction 方法测试云函数。

测试时需要提供调用数据,您可以通过传入特定云产品的调用数据(如 COS 等)来测试函数是否按您期望地响应这些云产品产生的事件。

同时,针对配置触发器的方法,以及不同云产品产生的事件数据的详细信息可以参考 管理云函数触发器 章节。

监控和故障排除

在云函数进入生产环境时,腾讯云 SCF 将自动为您监控函数的运行状况。后续将把云函数指标上报至云监控平台,以便用户自行查阅函数的运行状态。

为了帮助您调试和排除故障,腾讯云 SCF 平台将记录此函数的所有调用及处理结果,并将用户代码中生成的输出以日志的形式存储下来。有关更多信息,请查看函数日志详情。

基于无服务器云函数的应用程序示例

请确保您在使用云函数前,阅读并练习以下章节中的示例:

  • 新手入门:如果您第一次使用腾讯云无服务器云函数,请首先阅读并尝试新手入门章节的所有操作。
  • 代码实操:如果您需要引入外部库,则必须在本地环境中创建您的代码程序包,并上传至 SCF 平台。请根据您选用的编程语言和需要处理的事件阅读并练习使用示例中的操作步骤。