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

通過EventBridge觸發(fā)Knative服務

事件總線EventBridge是阿里云提供的一款無服務器事件總線服務,支持為Knative提供生產級別的事件驅動能力。本文以上傳文件到對象存儲OSS事件為例,介紹如何通過EventBridge觸發(fā)Knative服務消費事件。

前提條件

背景信息

  • Knative是一款基于Kubernetes的Serverless框架。其目標是制定云原生、跨平臺的Serverless容器編排標準。Knative通過整合容器構建(或者函數(shù))、工作負載管理(動態(tài)擴縮容)以及事件驅動這三個方面來實現(xiàn)Serverless標準。

  • 事件總線EventBridge支持以標準化、中心化的方式接入阿里云服務、自定義應用、SaaS應用,并能夠以標準化的CloudEvents 1.0協(xié)議在這些應用之間路由事件,幫助您輕松構建松耦合、分布式的事件驅動架構。

技術架構

當前EventBridge支持多種數(shù)據(jù)源接入,通過配置事件總線、事件規(guī)則、事件目標,經過事件過濾、轉換,可以觸發(fā)EventBridge事件驅動Knative服務消費事件,實現(xiàn)資源的按需使用。技術架構圖如下所示。

說明

對象存儲OSS支持作為事件源接入到EventBridge。關于對象存儲OSS作為事件源發(fā)布到事件總線EventBridge的事件類型,請參見對象存儲OSS事件

image

步驟一:創(chuàng)建Knative服務

本文以event-display作為Knative服務,該服務會直接記錄接收到的事件內容。

  1. 使用以下示例代碼創(chuàng)建Knative Serviceevent-display.yaml

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: event-display
      namespace: default
    spec:
      template:
        spec:
          containers:
          - image: registry.cn-hangzhou.aliyuncs.com/knative-sample/event-display:20230207194118_3874dbd
  2. 執(zhí)行以下命令,部署Knative Service。

    kubectl apply -f event-display.yaml
  3. 執(zhí)行以下命令,查看Knative Service是否創(chuàng)建成功。

    kubectl get ksvc

    預期輸出:

    NAME            URL                                        LATESTCREATED         LATESTREADY           READY   REASON
    event-display   http://event-display.default.example.com   event-display-00001   event-display-00001   True    
  4. 獲取Knative服務訪問域名和訪問網關地址。

    1. 登錄容器服務管理控制臺,在左側導航欄選擇集群

    2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇應用 > Knative

    3. Knative頁面,單擊服務管理頁簽,獲取Knative服務的默認域名和訪問網關地址,以備后續(xù)使用。

步驟二:創(chuàng)建連接配置和API端點

  1. 登錄事件總線EventBridge控制臺
  2. 在左側導航欄,選擇集成中心 > API端點,然后在頂部菜單欄,選擇地域。

  3. 單擊連接配置頁簽,單擊創(chuàng)建

  4. 創(chuàng)建連接配置面板,輸入連接名稱連接描述,設置鑒權配置無需配置網絡選擇公網,單擊確定

  5. 單擊API 端點頁簽,單擊創(chuàng)建

  6. 創(chuàng)建 API 端點面板基礎信息區(qū)域,將創(chuàng)建方式設置為自定義創(chuàng)建,輸入API 目標名稱描述

  7. API配置區(qū)域,設置URL步驟4獲取的訪問網關地址,HTTP MethodPOST

    說明

    如果使用的是ALB網關,則需要將URL設置為ALB的DNS域名。

  8. 連接配置區(qū)域,單擊選擇已有,選擇連接配置名稱,然后單擊確定

步驟三:創(chuàng)建事件規(guī)則

  1. 登錄事件總線EventBridge控制臺
  2. 在左側導航欄,單擊事件總線,在右側頁面單擊default事件操作列下的事件規(guī)則

  3. 在事件規(guī)則頁面,單擊創(chuàng)建規(guī)則

  4. 配置基本信息配置向導,輸入規(guī)則名稱和描述,單擊下一步

  5. 配置事件模式配置向導,設置事件源acs.oss事件類型oss:ObjectCreated:PutObject,單擊下一步

  6. 配置事件目標配置向導,設置配置項,然后單擊創(chuàng)建

    配置項

    描述

    服務類型

    選擇API觸發(fā)

    創(chuàng)建方式

    選擇使用已有,選擇步驟二創(chuàng)建的API端點名稱。

    HTTP 參數(shù)

    設置事件推送給Knative服務時傳遞的參數(shù)及參數(shù)內容。

    1. Header頁簽:key類型為固定值,值為HostValue類型為固定值,值為步驟4獲取的Knative訪問域名

    2. 單擊Body頁簽,key類型為固定值,值為dataValue類型為部分事件,值為$.data。關于事件的詳細介紹,請參見事件概述

步驟四:驗證通過EventBridge觸發(fā)Knative服務消費事件是否成功

在執(zhí)行以下操作前,請確認您已安裝ossutil。

  1. 執(zhí)行以下命令,上傳文件到OSS。

    說明

    OSS Bucket需要與Eventbridge處于同一個地域。

    ossutil cp <文件名稱> oss://<Bucket名稱>

    上傳文件到OSS后,EventBridge將觸發(fā)Knative服務消費事件。

  2. 查看事件軌跡。

    1. 登錄事件總線EventBridge控制臺

    2. 在左側導航欄,單擊事件總線,在右側頁面單擊default事件操作列下的事件追蹤

    3. 按時間范圍查詢頁簽下,設置時間范圍最近1小時,單擊查詢

    4. 選擇事件源對象存儲OSS事件類型上傳文件的事件,單擊該事件操作列下的事件軌跡

      image.png

      事件軌跡頁面可以看到事件投遞成功。

  3. 驗證Knative服務是否消費事件成功。

    1. 執(zhí)行以下命令,查看Knative服務是否消費事件成功。

      kubectl get  pod

      預期輸出:

      NAME                                              READY   STATUS    RESTARTS         AGE
      event-display-00001-deployment-56cc79****-z2vhv   2/2     Running   0                7s
    2. 執(zhí)行以下命令,查看Knative服務是否記錄事件。

      kubectl logs event-display-00001-deployment-56cc79****-z2vhv user-container

      預期輸出:

      Defaulted container "user-container" out of: user-container, queue-proxy
      {
      "data":{"eventVersion":"1.0","responseElements":{"requestId":"6524C9F5F326DB333575119B"},"eventSource":"acs:oss","eventTime":"2023-10-10T03:50:13.000Z","requestParameters":{"sourceIPAddress":"101.132.XX.XX"},"eventName":"ObjectCreated:PutObject","userIdentity":{"principalId":"203097492760048007"},"region":"cn-beijing","oss":{"bucket":{"name":"ossutil-demo-liu","arn":"acs:oss:cn-beijing:1159648454668874:ossutil-demo-liu","virtualBucket":"","ownerIdentity":"1159648454668874"},"ossSchemaVersion":"1.0","object":{"size":603050,"objectMeta":{"mimeType":"text/markdown; charset=utf-8"},"deltaSize":0,"eTag":"3298F4DC29D2A0578088FF5810C210B3","key":"RELEASENOTES.md"}}}

    上述預期輸出表明Knative服務消費事件成功,并且記錄了上傳文件到OSS的事件。即通過EventBridge觸發(fā)Knative服務消費事件成功。