函数计算CFC

    百度智能小程序使用云开发构建CFC云函数

    当前,百度智能小程序已经全面具备了云开发能力,为开发者提供了一种 Serverless 的小程序开发模式,主要包含了云函数云存储云数据库三大部分功能, 其中云函数的功能即由CFC提供了背后支持, 本篇文档将向您介绍一下关于云函数的使用建议。

    环境准备

    在开发小程序云函数前,您需要做如下准备:

    • 申请百度智能小程序 APPID,并开通云开发功能
    • 下载并安装百度智能小程序开发者工具
    • 安装Nodejs8.5或以上运行环境。
    • 参考百度智能小程序云开发快速上手,创建云开发小程序

    当您进入开发者工具,并在如下位置指定了云开发环境ID后,云开发环境就全部准备就绪了

    1.jpg

    创建云函数

    这里我们会演示,如何创建云函数,并在云函数中使用云存储,云数据库,以及调用其他云函数的方式。

    helloworld

    首先我们创建一个简单的helloworld函数

    1.选择云函数目录,右键选择新建云函数,既可创建一个默认云函数

    image.png

    注:云函数创建完成之后,需要先使用npm安装相关依赖

    cd /your_cloud_function_dir
    npm install

    2.修改函数代码,使函数返回helloworld

    cloudfunctions/helloworld/index.js

    // 引用swan-server-sdk,需要通过npm install安装
    const cloud = require('swan-server-sdk');
    
    exports.main = (event, context) => {
        // 目前使用SDK, 需要传入context参数, 因此需要在函数正文中调用init进行初始化
        cloud.init(context);
        // event为调用函数时传入参数
        console.log(event);
        // clientContext中包含相关客户端环境信息
        console.log(context.clientContext);
        // 可以通过getSwanContext可以获取调用上下文
        const swanContext = cloud.getSwanContext();
        console.log(swanContext)
    
        // 我们简单的返回自定义参数字段和hello world
        return `${event.name}:hello world`
    }

    熟悉云开发控制台

    在创建新的云函数之前,我们可以先熟悉一下云开发控制台,在这里可以通过UI为我们下一个云函数准备一些云存储和云数据库资源

    1. 进入云开发控制台

    image.png

    1. 在云存储页面上传文件

    image.png

    1. 在云数据库页面创建文档

    image.png

    注:当然以上这些操作我们也可以通过SDK直接完成。

    使用SDK

    按照之前的步骤,我们创建一个新的云函数。

    编辑函数代码:

    cloudfunctions/swan-server-sdk/index.js

    const cloud = require('swan-server-sdk')
    
    exports.main = async (event, context) => {
        cloud.init(context)
    
        // 获取云存储文件临时下载地址
        const file = await cloud.getTempFileURL({
            fileID: 'README.md',
        })
    
        // 获取云数据库文档内容
        const doc = await cloud.database()
            .collection('todos')
            .doc('f3e4d64d-c8da-45d0-8f66-b45f61c9bf14')
            .get()
    
        // 调用云函数调
        const res = await cloud.callFunction({
            name: 'helloworld',
            data: {
                name: "cloud developer"
            }
        })
    
        return {
            file: file.tempFileURL,
            doc: doc,
            result: res.result
        }
    }

    部署云函数

    在编写完云函数后,我们需要把本地代码上传到线上,然后才可以真正使用函数计算,右键选择需要部署的云函数,上传并部署:所有文件

    image.png

    注:在部署之前我们需要确保已经本地npm install所有依赖

    测试云函数

    函数部署完成后,我们就可以在控制台进行测试了,看一看函数在云端的执行效果。

    image.png

    调用函数:helloworld

    image.png

    调用函数:use_sdk

    image.png

    更多参考

    百度小程序云开发文档:https://smartprogram.baidu.com/docs/develop/cloud/cloud_info/

    百度小程序开发者社区:https://smartprogram.baidu.com/forum/

    上一篇
    配置CFC函数以访问百度云中的RDS
    下一篇
    使用定时触发器根据天气信息控制远程设备