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

使用釘釘機器人發(fā)送事件通知

運行工作流時,您可能需要在工作流運行結(jié)束或它的某個步驟完成時通知外部系統(tǒng)。例如郵件通知、即時消息(例如釘釘)、消息總線(例如Kafka)。本文以發(fā)送釘釘消息為例介紹如何在工作流運行中發(fā)送消息通知。

前提條件

已創(chuàng)建分布式工作流Argo集群,且工作流集群的VPC具有公網(wǎng)訪問能力。

實現(xiàn)原理

  1. 外部系統(tǒng)一般通過暴露HTTP Webhook接口的方式,接受消息輸入。

  2. Argo工作流支持Exit Handler機制。您可以在工作流的步驟中定義exit-handler,也可以在工作流本身定義exit-handler

  3. Exit Handler以容器的方式運行。您可以在容器中運行curl命令向外部系統(tǒng)發(fā)送HTTP消息,從而實現(xiàn)事件通知。

步驟一:創(chuàng)建釘釘機器人

創(chuàng)建釘釘機器人后會生成專屬的Webhook地址,通過Webhook地址可以關(guān)聯(lián)到其他服務(wù)接收通知,例如Argo工作流。

  1. 打開需要接收事件通知的釘釘群。

  2. 進(jìn)入機器人設(shè)置頁面。

    1. 單擊釘釘群右上角的群設(shè)置圖標(biāo)圖標(biāo).png,然后在設(shè)置面板,單擊智能群助手

    2. 智能群助手面板,單擊添加機器人,然后在群機器人對話框中的添加機器人區(qū)域,單擊添加圖標(biāo)圖標(biāo)2.png

    3. 選擇要添加的機器人區(qū)域,單擊自定義,然后在機器人詳情對話框,單擊添加。按頁面提示完成機器人設(shè)置。您必須至少選擇一種安全設(shè)置,建議選擇加簽IP地址(段)中的至少一種,以保證安全性。

      重要

      在工作流中通過釘釘發(fā)送消息,要求工作流集群的VPC網(wǎng)絡(luò)具有公網(wǎng)訪問能力。您可以為工作流集群VPC配置公網(wǎng)NAT網(wǎng)關(guān),同時將公網(wǎng)NAT網(wǎng)關(guān)的EIP地址配置到機器人的IP地址(段)中,以確保安全性。

  3. 設(shè)置完成后,復(fù)制并保存Webhook地址。image.png

步驟二:在工作流中使用釘釘機器人

使用以下YAML示例代碼,創(chuàng)建工作流,并在工作流中使用釘釘機器人。關(guān)于創(chuàng)建工作流的具體操作,請參見創(chuàng)建工作流

apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: notification-demo-
spec:
  entrypoint: say-hello
  onExit: exit-handler   # 工作流運行完成后,運行exit-handler。
  templates:
  - name: say-hello
    container:
      image: alpine:latest
      command: [sh, -c]
      args: ["echo hello"]

  - name: exit-handler
    container:
      image: curlimages/curl
      command: [sh, -c]
      # 運行curl發(fā)送釘釘消息,消息類型為鏈接類型,可以嵌入Argo工作流控制臺鏈接,快速查看工作流詳情。
      # 可以引用變量包括:{{workflow.name}} {{workflow.status}} {{workflow.failures}} {{workflow.workflow.duration}}。
      args: [
        "curl  -H 'Content-Type: application/json' -d '{
          \"msgtype\": \"link\",
          \"link\": {
            \"title\":\"Argo workflow notification\",
            \"text\":\"WF {{workflow.name}} {{workflow.status}}\",
            \"messageUrl\":\"https://argo.xxx.cn-zhangjiakou.alicontainer.com:2746/workflows/default/{{workflow.name}}?tab=workflow\"
          }
        }'
        https://oapi.dingtalk.com/robot/send?access_token=b97fb519129fdfce879baa4e3b905b14e6a64e8994f0ea3b11dda****"  #Webhook地址,此處替換為您釘釘群的Webhook地址。
      ]

發(fā)送的釘釘消息示例如下所示。

消息.png

相關(guān)文檔

關(guān)于釘釘自定義機器人接入的具體操作,請參見自定義機器人接入