国产gaysexchina男同gay,japanrcep老熟妇乱子伦视频,吃奶呻吟打开双腿做受动态图,成人色网站,国产av一区二区三区最新精品

云開發(fā) 編寫第一個(gè)云函數(shù)

2020-07-22 15:34 更新

在 Serverless 中,云函數(shù)是作為計(jì)算容器存在的,可以作為服務(wù)接口使用,也可以做為中轉(zhuǎn)服務(wù)使用,也可以編寫業(yè)務(wù)邏輯。我們經(jīng)常談的 FaaS(Functions as a Service)中最核心的是云函數(shù)。如果需要簡(jiǎn)單理解,那就是寫了一段代碼(一個(gè)函數(shù)),可以直接部署在服務(wù)器上,但是這個(gè)函數(shù)是具備伸縮性的。流量來了,可以直接將函數(shù)拉起,可以進(jìn)行資源擴(kuò)充;流量回落,可以降至 0。這里不討論業(yè)界如何實(shí)現(xiàn)冷啟動(dòng)或者 0 - 1 的優(yōu)化。

上一節(jié),我們?cè)诳刂婆_(tái)創(chuàng)建了自己的環(huán)境;這里我們就可以在控制臺(tái)編寫第一個(gè)函數(shù)了。

創(chuàng)建函數(shù)

第 1 步:登錄云開發(fā)控制臺(tái)
網(wǎng)址:https://console.cloud.tencent.com/tcb

第 2 步:創(chuàng)建云函數(shù)
如下圖:

  • 選擇基礎(chǔ)服務(wù)中的側(cè)邊欄【云函數(shù)】
  • 選擇之前創(chuàng)建的環(huán)境,一定要選擇在騰訊云云開發(fā)控制臺(tái)創(chuàng)建的,目前小程序云開發(fā)的環(huán)境管理沒有放開。
  • 點(diǎn)擊【新建云函數(shù)】按鈕;

如果云函數(shù)不需要占用大內(nèi)存,可以選擇 128 MB;在控制臺(tái)默認(rèn)選擇的是 256 MB 。

然后,可以直接點(diǎn)擊【下一步】即可,如下圖:

編寫函數(shù)

我們?cè)诳刂婆_(tái)創(chuàng)建函數(shù)完成,下面即可編寫代碼了。目前控制臺(tái)默認(rèn)提供了 Cloud Studio 作為編輯器,基本滿足基礎(chǔ)的 Web IDE 需要。
點(diǎn)擊「函數(shù)名」,進(jìn)入函數(shù)配置和詳情頁(yè)。

我們精簡(jiǎn)默認(rèn)生成的,修改代碼成如下:

'use strict';
exports.main = async (event, context) => {
    //這里代碼比較簡(jiǎn)單
    //后期會(huì)準(zhǔn)備從數(shù)據(jù)庫(kù)取數(shù)據(jù),然后返回結(jié)果
    return {
        msg: 'Hello Serverless! Good good study !',
        maybe: '從入門到放棄'
    }
};

這里點(diǎn)擊【保存】?!颈4妗亢汀颈4娌惭b依賴】是有區(qū)別的:

  • 【保存并安裝依賴】需要根據(jù)該函數(shù)目錄下的 package.json 來安裝依賴庫(kù),比如 node_modules;目前我們這個(gè)例子不依賴任何庫(kù),也沒有 package.json 文件,所以不需要安裝依賴;
  • 【保存】則是直接保存代碼;

如果實(shí)在分不清楚,就直接點(diǎn)擊【保存并安裝依賴】吧。

設(shè)置函數(shù)可以使用 HTTP 訪問

訪問函數(shù)的形式有好幾種,比如函數(shù)間調(diào)用,客戶端 SDK 調(diào)用等;當(dāng)前這里只介紹「開啟 HTTP」觸發(fā)的形式。有的同學(xué)對(duì)觸發(fā)不理解,其實(shí)可以理解為 “使用 HTTP 訪問“。

點(diǎn)擊【函數(shù)配置】,對(duì)函數(shù)進(jìn)行設(shè)置。

點(diǎn)擊【編輯】,開始設(shè)定 HTTP 訪問路徑,這里設(shè)置為 “/say-hello” 。只需要修改這一個(gè)地方點(diǎn)擊保存。

訪問并驗(yàn)證返回的結(jié)果

點(diǎn)擊生成的鏈接,即可在瀏覽器看到返回的數(shù)據(jù)。

瀏覽器返回?cái)?shù)據(jù)如下:

{
  "msg": "Hello Serverless! Good good study !",
  "maybe": "從入門到放棄"
}

當(dāng)你發(fā)布完成,這個(gè)云函數(shù)就具備下面特性

  • 具備應(yīng)對(duì)流量的伸縮性,這個(gè)是云開發(fā)底層做的,無需開發(fā)者關(guān)系;
  • 無需安裝 Web 容器,例如 Tomcat、Apache、Node.js Server;
  • 無需設(shè)置和暴露端口;
  • 無需 Nginx 、API 網(wǎng)關(guān);
  • 可以自定義函數(shù)域名

當(dāng)然真實(shí)的服務(wù)不止這么簡(jiǎn)單,例如:

  • 需要設(shè)置跨域訪問??刂婆_(tái)側(cè)邊欄【環(huán)境】、【安全設(shè)置】【W(wǎng)EB安全域名】可以開啟;
  • 需要查詢數(shù)據(jù)庫(kù)返回?cái)?shù)據(jù),請(qǐng)看下一節(jié);

通過 HTTP URL 傳遞參數(shù)到云函數(shù)

通過前面小節(jié),我們已經(jīng)可以編寫和發(fā)布云函數(shù)了。但是有個(gè)問題,既然是 HTTP 服務(wù),前端傳遞的參數(shù)如何獲取呢?

http://api.serverless80.com/say-hello?name=vczero

例如上面 url 中的 name 參數(shù)該如何獲取呢?可以通過 queryStringParameters 獲取。例如計(jì)算兩個(gè)數(shù)之和,代碼如下:

'use strict';
exports.main = async (event, context) => {
    //這里代碼比較簡(jiǎn)單
    //這里通過 queryStringParameters 獲取請(qǐng)求參數(shù)
    let a = parseInt(event.queryStringParameters.a || 0)
    let b = parseInt(event.queryStringParameters.b || 0)
    return {
        msg: 'Hello Serverless! Good good study !',
        maybe: '從入門到放棄',
        sum: a + b
    }
}

HTTP 請(qǐng)求參數(shù)如下:

//可以點(diǎn)擊生成的路徑直接方案,需要加上 a, b 兩個(gè)參數(shù)
https://你的環(huán)境ID.service.tcloudbase.com/say-hello?a=1&b=23     

返回結(jié)果如下:

{
  "msg": "Hello Serverless! Good good study !",
  "maybe": "從入門到放棄",
  "sum": 24
}

詳細(xì)內(nèi)容可以參考 云接入

開啟跨域訪問

云函數(shù)可以通過 HTTP 訪問了,也可以獲取請(qǐng)求參數(shù)了,那么。在前端應(yīng)用中,使用 ajax 請(qǐng)求生成的 http url 肯定會(huì)存在跨域情況。那么,在哪設(shè)置該函數(shù)可以被「指定域名」訪問,其他域名不能訪問呢。那就是開啟 「安全域名」

可以配置:

  • 域名,例如 serverless80.com;
  • IP,例如 127.0.0.1:8000;
  • localhost:8000

可以根據(jù)開發(fā)、正式環(huán)境進(jìn)行修改;應(yīng)用正式上線后,記得刪除無關(guān)域名。

自定義云函數(shù)服務(wù)域名

一般情況,可以使用默認(rèn)生成的域名進(jìn)行服務(wù)調(diào)用。但是如果有自己的域名,也可以配置。因?yàn)槟J(rèn)的域名生成的比較長(zhǎng),也沒有規(guī)律,配置自定義域名顯得統(tǒng)一性高一些。

可以按照上圖進(jìn)行配置,如果沒有 SSL 安全證書,可以選擇騰訊云的免費(fèi)證書。免費(fèi)證書只能配置一個(gè)域名,不能配置通配符域名,也就是子域名都需要重新申請(qǐng)。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)