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

輕量消息隊列(原 MNS)隊列觸發(fā)器

輕量消息隊列(原 MNS)的隊列(Queue)作為事件源通過事件總線EventBridge函數(shù)計算集成后,通輕量消息隊列(原 MNS)隊列觸發(fā)器能夠觸發(fā)關(guān)聯(lián)函數(shù)執(zhí)行,通過函數(shù)可以對發(fā)布到輕量消息隊列(原 MNS)隊列中的消息進行自定義處理。本文介紹如何在函數(shù)計算控制臺創(chuàng)建輕量消息隊列(原 MNS)隊列觸發(fā)器、配置函數(shù)入口參數(shù)和編寫代碼并測試。

功能簡介

您在函數(shù)計算的控制臺提交觸發(fā)器創(chuàng)建請求之后,函數(shù)計算會根據(jù)觸發(fā)器的配置信息,自動在事件總線EventBridge側(cè)創(chuàng)建事件流資源。

創(chuàng)建完成后,您可以在函數(shù)計算控制臺查看觸發(fā)器信息,同時也可以在事件總線EventBridge控制臺查看自動創(chuàng)建的資源信息。當源輕量消息隊列(原 MNS)隊列中有消息入隊時,將會觸發(fā)函數(shù)計算執(zhí)行。執(zhí)行時會根據(jù)您的攢批配置,將一個或多個消息事件以批的形式推送到函數(shù)中進行處理,適合端到端的流式數(shù)據(jù)處理場景。

注意事項

  • 作為觸發(fā)源的輕量消息隊列(原 MNS)隊列必須和函數(shù)計算的函數(shù)所在的地域相同。

  • 創(chuàng)建的事件流數(shù)量超過上限后,將無法再創(chuàng)建輕量消息隊列(原 MNS)隊列觸發(fā)器。

在單個阿里云賬號單個地域維度下,關(guān)于創(chuàng)建觸發(fā)器涉及的資源數(shù)量的限制,請參見使用限制

前提條件

步驟一:創(chuàng)建觸發(fā)器

當您已經(jīng)創(chuàng)建好輕量消息隊列(原 MNS)的隊列,您需要登錄函數(shù)計算控制臺,進入目標函數(shù),選擇配置頁簽,創(chuàng)建觸發(fā)器,創(chuàng)建完成點擊確定如下圖所示。

image

上圖中的配置項如下所示。

調(diào)用方式

  • 同步調(diào)用:適用于順序調(diào)用場景。單個(批)事件觸發(fā)函數(shù)調(diào)用,等待函數(shù)執(zhí)行完成返回結(jié)果后,再由下一個(批)事件繼續(xù)觸發(fā)函數(shù)調(diào)用。同步調(diào)用請求正文有效負載最大為32 MB。更多信息,請參見同步調(diào)用

  • 異步調(diào)用:可以快速消費事件。單個(批)事件觸發(fā)函數(shù)調(diào)用,函數(shù)計算會立刻返回響應,再由下一個(批)事件繼續(xù)觸發(fā)函數(shù)調(diào)用。該過程中函數(shù)會異步執(zhí)行。異步調(diào)用請求正文有效負載最大為128 KB。更多信息,請參見異步調(diào)用

關(guān)于推送配置、重試和死信等高級配置項說明,請參見觸發(fā)器高級功能

創(chuàng)建完成后,在觸發(fā)器名稱列表中顯示已創(chuàng)建的觸發(fā)器。如需對創(chuàng)建的觸發(fā)器進行修改或刪除,具體操作,請參見觸發(fā)器管理

步驟二:(可選)配置函數(shù)入口參數(shù)

輕量消息隊列(原 MNS)事件源會以event的形式作為輸入?yún)?shù)傳遞給函數(shù),您可以使用代碼解析event參數(shù),并對event進行處理。您可以手動將event傳給函數(shù)模擬觸發(fā)事件,測試函數(shù)代碼是否正確。

  1. 在函數(shù)詳情頁面的代碼頁簽,單擊測試函數(shù)右側(cè)的image.png圖標,從下拉列表中,選擇配置測試參數(shù)

  2. 配置測試參數(shù)面板,選擇創(chuàng)建新測試事件編輯已有測試事件,填寫事件名稱和事件內(nèi)容,然后單擊確定。

    event格式如下所示。

    [
        {
        "id":"c2g71017-6f65-fhcf-a814-a396fc8d****",
        "source":"MNS-Function-mnstrigger",
        "specversion":"1.0",
        "type":"mns:Queue:SendMessage",
        "datacontenttype":"application/json; charset=utf-8",
        "subject":"acs:mns:cn-hangzhou:164901546557****:queues/zeus",
        "time":"2021-04-08T06:28:17.093Z",
        "aliyunaccountid":"164901546557****",
        "aliyunpublishtime":"2021-10-15T07:06:34.028Z",
        "aliyunoriginalaccountid":"164901546557****",
        "aliyuneventbusname":"MNS-Function-mnstrigger",
        "aliyunregionid":"cn-chengdu",
        "aliyunpublishaddr":"42.120.XX.XX",
        "data":{
            "requestId":"606EA3074344430D4C81****",
            "messageId":"C6DB60D1574661357FA227277445****",
            "messageBody":"TEST"
        }
        },
        {
        "id":"d2g71017-6f65-fhcf-a814-a396fc8d****",
        "source":"MNS-Function-mnstrigger",
        "specversion":"1.0",
        "type":"mns:Queue:SendMessage",
        "datacontenttype":"application/json; charset=utf-8",
        "subject":"acs:mns:cn-hangzhou:164901546557****:queues/zeus",
        "time":"2021-04-08T06:28:17.093Z",
        "aliyunaccountid":"164901546557****",
        "aliyunpublishtime":"2021-10-15T07:06:34.028Z",
        "aliyunoriginalaccountid":"164901546557****",
        "aliyuneventbusname":"MNS-Function-mnstrigger",
        "aliyunregionid":"cn-chengdu",
        "aliyunpublishaddr":"42.120.XX.XX",
        "data":{
            "requestId":"606EA3074344430D4C81****",
            "messageId":"C6DB60D1574661357FA227277445****",
            "messageBody":"TEST"
        }
        }
    ]

    data字段包含的參數(shù)解釋如下表所示。關(guān)于CloudEvents規(guī)范中定義的參數(shù)解釋,請參見事件概述

    參數(shù)類型示例值描述
    requestIdString606EA3074344430D4C81****請求ID。每個請求的ID取值唯一。
    messageIdStringC6DB60D1574661357FA227277445****消息ID。每條消息的ID取值唯一。
    messageBodyStringTEST消息內(nèi)容。

步驟三:編寫函數(shù)代碼并測試

完成觸發(fā)器創(chuàng)建后,您可以開始編寫并測試函數(shù)代碼,以驗證代碼的正確性。在實際操作過程中,當輕量消息隊列(原 MNS)自定義事件源產(chǎn)生的事件通過事件總線EventBridge投遞到函數(shù)計算時,觸發(fā)器會自動觸發(fā)函數(shù)的執(zhí)行。

  1. 在函數(shù)詳情頁面的代碼頁簽,在代碼編輯器中編寫代碼,然后單擊部署代碼

    本文以Node.js函數(shù)代碼為例。

    'use strict';
    /*
    To enable the initializer feature
    please implement the initializer function as below:
    exports.initializer = (context, callback) => {
      console.log('initializing');
      callback(null, '');
    };
    */
    exports.handler = (event, context, callback) => {
      console.log("event: %s", event);
      //解析event參數(shù),對event進行處理。
      callback(null, 'return result');
    }
  2. 測試函數(shù)。

    方式一:如果您是配置函數(shù)入口參數(shù)event模擬事件源,單擊測試函數(shù)

    方式二:登錄輕量消息隊列(原 MNS)控制臺選擇您創(chuàng)建的目標隊列,點擊發(fā)送消息,如下圖。

    image

  1. 執(zhí)行完成后,在實時日志查看結(jié)果。

    image

更多信息

如需對創(chuàng)建的觸發(fā)器進行修改或刪除,具體操作,請參見觸發(fā)器管理