- Serverless從入門到進階:架構、原理與實踐
- 方坤丁 孫遠高
- 529字
- 2021-06-24 11:19:09
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所示。

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

圖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應用。
推薦閱讀
- Embedded Linux Projects Using Yocto Project Cookbook
- 大學計算機基礎(第三版)
- 自己動手寫搜索引擎
- Modular Programming with Python
- Reporting with Visual Studio and Crystal Reports
- The Android Game Developer's Handbook
- Magento 1.8 Development Cookbook
- PostgreSQL Replication(Second Edition)
- Node.js Design Patterns
- C#開發案例精粹
- CRYENGINE Game Development Blueprints
- PHP 7從零基礎到項目實戰
- MyBatis 3源碼深度解析
- 計算語言學導論
- Java EE架構設計與開發實踐