日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

開啟云函數(shù)HTTP觸發(fā)功能

EMAS Serverless云函數(shù)支持由HTTP請求觸發(fā)云函數(shù)調(diào)用的功能,本文介紹如何開啟云函數(shù)HTTP觸發(fā)功能。

重要

當(dāng)開啟某一函數(shù)的HTTP觸發(fā)功能后,只要使用HTTP請求就可以訪問到函數(shù),開發(fā)者需要關(guān)注業(yè)務(wù)安全和資源安全。

  • 業(yè)務(wù)安全:開發(fā)者需在云函數(shù)代碼中做好權(quán)限控制和安全防護(hù),避免未授權(quán)訪問觸發(fā)敏感操作。

  • 資源安全:云函數(shù)開啟了HTTP訪問后,如果遇到大量惡意訪問,消耗云函數(shù)資源,開發(fā)者可以將云函數(shù)的觸發(fā)路徑設(shè)置為空或關(guān)掉該服務(wù)空間的HTTP觸發(fā)功能,停止HTTP觸發(fā)支持。

開啟方法

開啟云函數(shù)HTTP觸發(fā)功能,您需要開啟Space的觸發(fā)功能且配置云函數(shù)的HTTP觸發(fā)路徑。

  1. 開啟Space的HTTP觸發(fā)功能

    1. 登錄EMAS管理控制臺

    2. 查找您的項目,單擊項目,進(jìn)入EMAS概覽頁。

    3. 在頂部導(dǎo)航欄,選擇平臺服務(wù)

    4. 在左側(cè)導(dǎo)航欄,選擇

    5. 在界面右上角選擇當(dāng)前服務(wù)空間,如emasDev

    6. 單擊HTTP觸發(fā)配置頁簽,將HTTP觸發(fā)設(shè)置右側(cè)的更改狀態(tài)設(shè)置為開啟。系統(tǒng)會為開啟HTTP觸發(fā)功能的Space分配一個默認(rèn)域名(DefaultEndpoint),供HTTP觸發(fā)使用。

      fig33

  2. 開啟云函數(shù)的HTTP觸發(fā)功能

    1. 返回控制臺主頁,單擊云函數(shù)列表頁簽。

    2. 選擇任意一個云函數(shù),單擊函數(shù)名稱,如test。打開云函數(shù)頁面。

    3. 選擇觸發(fā)頁簽,單擊HTTP路徑觸發(fā)右側(cè)的編輯按鈕。

    4. 編輯云函數(shù)頁面,填寫觸發(fā)路徑。如下圖所示。

      fig34

  3. HTTP觸發(fā)函數(shù)執(zhí)行

    用戶訪問 https://${DefaultEndpoint}${HttpTriggerPath},即可觸發(fā)對應(yīng)的云函數(shù)執(zhí)行。

限制說明

  1. 請求路徑不能以/結(jié)尾,同一個Space下面的云函數(shù)的請求路徑不能重復(fù),請求路徑只支持(/)、(-)、(_)、(.)、字母和數(shù)字組合,請求路徑最長不超過128個字符。

  2. 請求方法僅支持以下四種,其余方法會被忽略。

    • GET

    • POST

    • PUT

    • DELETE

  3. 請求時Body的Content-Type僅支持以下三類,允許沒有Body的請求,即沒有Content-Type。其余Content-Type類型會被拒絕。

    • application/json

    • application/x-www-form-urlencoded

    • text/*

  4. 通過HTTP觸發(fā)的響應(yīng),都會添加固定的Header,即Content-Disposition: attachment,此字段會使得返回結(jié)果在瀏覽器中以附件的方式下載。當(dāng)前此字段無法覆蓋,后續(xù)支持使用自定義域名之后,可以避免該問題。

  5. 請求Body大小限制,不能超過1M。

  6. 響應(yīng)Body大小限制,不能超過1M。

云函數(shù)入?yún)⒄f明

在云函數(shù)中,通過ctx.args來獲取請求時的內(nèi)容。各參數(shù)的詳細(xì)解釋如下:

{
    path: 'HTTP請求路徑,如 /hello',
    httpMethod: 'HTTP請求方法,如 GET',
    headers: {HTTP請求頭,鍵值對形式},
    queryStringParameters: {HTTP請求的Query,鍵值對形式},
    body: 'HTTP請求體',
    isBase64Encoded: 'true or false,表示body是否為Base64編碼,當(dāng)前只會有false'
}

云函數(shù)返回值說明

云函數(shù)返回時,可以返回stringobjectnumberboolean等類型的數(shù)據(jù),或者返回自定義響應(yīng),隨后小程序Serverless會將返回值轉(zhuǎn)化為正常的HTTP響應(yīng)。

  • 返回string

    當(dāng)服務(wù)端返回的Content-Typetext/plain

    例如云函數(shù)返回:

    'hello world!'

    則最終的響應(yīng)為:

    HTTP/2 200
    date: Mon, 23 Mar 2020 10:12:41 GMT
    content-type: text/plain
    content-length: 12
    content-disposition: attachment
    request-id: ac14000d1584958361033101870
    hello world!
  • 返回objectnumberboolean

    當(dāng)服務(wù)端返回的Content-Typeapplication/json

    例如云函數(shù)返回:

    {
        "keyString": "value1",
        "keyNumber": 1234
    }

    則最終的響應(yīng)為:

    HTTP/1.1 200 OK
    Date: Mon, 23 Mar 2020 10:18:48 GMT
    Content-Type: application/json; charset=utf-8
    Content-Length: 39
    request-id: ac14000d1584958728277106170
    content-disposition: attachment
    {"keyString":"value1","keyNumber":1234}
  • 返回自定義響應(yīng)

    服務(wù)端返回的Content-TypeHttpStatusCodeHeaders都由云函數(shù)來指定。

    要求云函數(shù)返回一個object,同時要設(shè)定mpserverlessComposedResponsetrue

    云函數(shù)的返回格式如下:

    {
        "mpserverlessComposedResponse": true,
        "isBase64Encoded": true|false,
        "statusCode": httpStatusCode,
        "headers": { "headerName": "headerValue", ... },
        "body": "..."
    }

    例如云函數(shù)返回:

    {
      mpserverlessComposedResponse: true,
      isBase64Encoded : false,
      statusCode: 200,
      headers: {
        'content-type': 'text/html'
      },
      body: '<h1>Hello World</h1>'
    }

    則最終的響應(yīng)為:

    HTTP/2 200
    date: Mon, 23 Mar 2020 10:40:09 GMT
    content-type: text/html; charset=utf-8
    content-length: 20
    request-id: ac14000d1584960009970137070
    content-disposition: attachment
    <h1>Hello World</h1>