官术网_书友最值得收藏!

3.5 部署第一個Serverless實例

本節將通過函數+網關觸發器的Hello World示例,演示Serverless的工作過程。各公有云平臺均提供類似的Serverless服務,本書使用騰訊云SCF云函數平臺進行講解及演示。

3.5.1 部署Hello World函數示例

首先需要注冊騰訊云賬號并進行實名認證。

1. 創建云函數

進入騰訊云函數控制臺https://console.cloud.tencent.com/scf/list,點擊“新建”,輸入對應的函數名稱:my-first-demo運行環境:Nodejs 12.16,如圖3-6所示。

044-1

圖3-6 創建云函數

2. 創建觸發器

函數創建完成后,進入函數詳情頁面,點擊觸發器管理中的“創建觸發器”,選擇API網關觸發器并創建,如圖3-7所示。

044-2

圖3-7 創建API網關觸發器

3. 觸發函數

點擊頁面中的訪問鏈接(形式類似https://service-xxxxxxx-125xxxxxx.sh.apigw.tencentcs.com/release/my-first-demo),可以看到頁面展示了觸發事件的信息。至此,一個網關+函數的Serverless服務便配置完成了。

3.5.2 參數定義

針對部署完成的應用,可以查看對應的函數代碼,如代碼清單3-1所示。和本地開發Node.js函數不同的是,云函數中有幾個獨特的參數定義。

代碼清單3-1 云函數代碼

'use strict';
exports.main_handler = async (event, context, callback) => {
    console.log("Hello World")
    console.log(event)
    console.log(event["non-exist"])
    console.log(context)
    return event
};
  • 入口函數(handler function):用于指定云端運行環境被觸發時,執行的函數/方法。
  • 事件(event):用于傳遞觸發事件數據,在各個公有云平臺中,不同的觸發器對應不同的事件結構。
  • 上下文(context):用于傳遞函數的運行時信息,例如請求唯一ID、日志組配置等。

通過理解上述參數的作用,可以了解云上函數平臺的規范,才能夠更好地開發Serverless應用。

主站蜘蛛池模板: 大关县| 通化市| 自贡市| 开阳县| 新河县| 芮城县| 汪清县| 安阳市| 梁平县| 安庆市| 新干县| 禹州市| 台前县| 井陉县| 山阴县| 娄烦县| 长武县| 泽普县| 涟源市| 七台河市| 通渭县| 丹寨县| 常德市| 阿尔山市| 大悟县| 余姚市| 阜城县| 安顺市| 山东省| 澄城县| 翼城县| 临朐县| 湘阴县| 荥经县| 太谷县| 铜陵市| 齐河县| 黄骅市| 泰顺县| 合作市| 乌拉特前旗|