更新时间:2025-01-22 GMT+08:00
分享

编辑事件订阅

订阅创建成功后,支持修改订阅的描述信息、状态、事件源和事件目标。

约束与限制

  • 已创建的订阅,无法修改事件源提供方。
  • 已创建的订阅,无法修改已绑定的自定义事件通道。

修改订阅的描述信息

  1. 登录事件网格控制台。
  2. 在左侧导航栏选择“事件订阅”,进入“事件订阅”页面。
  3. 在待修改描述信息的订阅所在行,单击“配置”,进入订阅详情页。
  4. 单击订阅名称旁的编辑图标,弹出“修改订阅”弹窗。
  5. 修改描述信息,单击“确定”,完成修改。

修改订阅的状态

  1. 登录事件网格控制台。
  2. 在左侧导航栏选择“事件订阅”,进入“事件订阅”页面。
  3. 在待修改状态的订阅所在行,单击“禁用”/“启用”,完成订阅状态的修改。

修改事件源

  1. 登录事件网格控制台。
  2. 在左侧导航栏选择“事件订阅”,进入“事件订阅”页面。
  3. 单击待修改事件源参数的订阅名称,进入订阅详情页。
  4. 单击已有事件源模块,弹出“事件源”对话框。
  5. 修改事件源配置参数。

    当提供方为“云服务”时,设置如表1所示参数。
    表1 云服务事件源参数说明

    参数名称

    说明

    事件源

    选择云服务事件源。

    事件类型(可选)

    选择事件网格预定义的事件类型。

    过滤规则

    输入事件过滤规则。

    事件源产生的事件与过滤规则进行匹配,匹配成功后事件才会被路由到与过滤规则关联的事件目标。如果需要了解更多过滤规则的信息,请参考过滤规则参数说明过滤规则示例

    图1 云服务事件源配置参数

    当提供方为“自定义”时,设置如表2所示参数。

    表2 自定义事件源参数说明

    参数名称

    说明

    通道

    在下拉列表中选择一个已创建的自定义事件通道,例如:channel。

    事件源

    输入或选择一个已关联自定义事件通道(即“通道配置”中选择的自定义通道,例如:channel)的自定义事件源。

    过滤规则

    输入事件过滤规则。

    事件源产生的事件与过滤规则进行匹配,匹配成功后事件才会被路由到与过滤规则关联的事件目标。如果需要了解更多过滤规则的信息,请参考过滤规则参数说明过滤规则示例

    图2 自定义事件源参数配置

  6. 单击“确定”。
  7. 单击“保存”,完成事件源的修改。

修改事件目标

  1. 登录事件网格控制台。
  2. 在左侧导航栏选择“事件订阅”,进入“事件订阅”页面。
  3. 单击待修改事件目标参数的订阅名称,进入订阅详情页。
  4. 修改已有事件目标,或者新增事件目标。

    • 单击已有事件目标模块,修改事件目标。
    • 单击,新增事件目标。
    • 单击,删除已有事件目标。

  5. 设置事件目标提供方及其参数。

    当提供方为“云服务”时,设置如下参数。
    • 事件目标:选择事件目标。

      当事件目标配置为“FunctionGraph(函数计算)”时:

      • 函数:选择需要触发的函数。如果还未创建函数,请先创建函数
      • 版本/别名:配置版本/别名,当选择其一时,则另外一个参数无需配置。
      • 版本:选择函数的版本。当前默认选择“latest”。
      • 别名:选择函数的别名。
      • 执行方式:选择异步或同步。

        请求函数调用的方式,默认采用异步执行。

        异步:异步执行指的是函数调用请求发送后不等待函数调用结果。

        同步:同步执行指的是函数调用请求需要明确等到响应结果,也就是说这样的请求必须得调用到用户的函数,并且等到调用完成才返回。

      • 委托:选择委托。如无委托,可单击旁边的“创建委托”进行创建,将会创建名为“EG_TARGET_AGENCY”委托。
        1. 只会查询出被委托方是事件网格服务的委托。
        2. 请确保您选择的委托已被授权的权限包含functiongraph:function:invoke*。

      当事件目标选择“分布式消息服务 Kafka版”时:

      • 目标连接:选择目标连接,需要提前创建分布式消息服务Kafka版目标连接
      • Topic:选择消息Topic,需要提前创建。
      • 启用消息Key:是否启用消息key。
      • 类型:消息Key的转换类型。支持以下两种转换类型:
        • 变量:从CloudEvents标准事件中获取变量值,将变量值作为Key值。
        • 常量:将指定的常量作为key值。若选择常量,所有消息将发送至同一分区。

        如果需要了解更多转换类型的信息,请参考事件内容转换

      当事件目标选择“事件网格EG”时:

      • 目标类型:选择同账号或跨账号。具体参数配置如下表所示:
        表3 目标类型参数配置说明

        同账号

        跨账号

        说明

        区域

        区域

        当前仅支持华北-北京四、上海一、上海二、华南广州。

        项目ID

        项目ID

        请输入目标通道的项目ID。(项目ID必须与目标通道所属项目ID保持一致,否则会导致事件无法发布至目标通道。)

        说明:

        项目ID可以在对应账号的“我的凭证”中获取到。

        通道

        通道

        请输入目标通道ID。

        说明:

        同账号同区域时支持选择当前账号下的通道,跨账号时需要您输入通道ID。

        同账号下是下拉列表选择通道,且不能选择同一通道和default通道。

        跨账号输入ID时不能输入同一通道ID和default通道ID,否则事件不通。

        如果当前通道没有关联订阅,发布到该通道的消息将无法消费,所以需要新增订阅,下游事件订阅的事件源和上游订阅的事件源名称保持一致,且下游的事件源必须是自定义事件源。

        委托

        委托

        请选择委托。(请确保您选择的委托被授权的权限包含eg:channels:putEvents。)

        说明:

        选择委托。如无委托,可单击旁边的“创建委托”进行创建,将会创建名为“EG_TARGET_AGENCY”委托。

        只会查询出被委托方是事件网格服务的委托。

        规则配置:

      • 类型:事件网格将CloudEvents标准事件转换成事件目标可以接受的事件类型:
        • 透传:事件网格不对事件进行转换,将CloudEvents标准事件直接路由到事件目标。

        如果需要了解更多转换类型的信息,请参考事件内容转换

      当事件目标选择“消息通知SMN”时:

      • 主题:选择消息通知主题,需要提前创建。
      • 委托:选择委托。如无委托,请先创建委托,将会创建名为“EG_SMN_PUBLISHER_AGENCY”委托。
        • 只会查询出被委托方是事件网格服务的委托。
        • 请确保您选择的委托已被授权的权限包含“smn:topic:publish”。
      • 消息标题配置:“类型”配置为“常量”或“变量”。
      • 类型:消息标题的类型。支持以下两种类型。
        • 常量:将指定的常量作为消息标题。若选择常量,所有消息的消息标题都是相同的。
        • 变量:从CloudEvents标准事件中获取变量值,将变量值代入模板中作为消息标题,如果生成的消息标题超长则会截取前512个字符。

          消息标题配置非必填项,可选择填写。

      规则配置:

    • 类型:事件网格将CloudEvents标准事件转换成事件目标可以接受的事件类型。支持以下三种转换类型:
      • 透传:事件网格不对事件进行转换,将CloudEvents标准事件直接路由到事件目标。
      • 变量:从CloudEvents标准事件中获取变量值,将变量值路由到事件目标。
      • 常量:事件只能触发事件目标,但是不会传送事件内容到事件目标,事件网格将您设置的常量路由到事件目标。

      如果需要了解更多转换类型的信息,请参考事件内容转换

    图3 云服务事件目标配置参数
    当提供方为“自定义”时,设置如下参数。
    • URL配置:输入https://开头的事件目标的URL,必须是POST接口方式。
      表4 事件Body参数

      参数

      是否必选

      参数类型

      描述

      datacontenttype

      String

      数据内容类型

      data

      Array of Data objects

      数据

      subject

      String

      主题

      specversion

      String

      规格版本

      id

      String

      Id

      source

      String

      事件源

      time

      String

      时间

      type

      String

      事件类型

      ttl

      String

      超时时间

      dataschema

      String

      数据架构

      事件Body体示例如下(以“OBS应用事件源”为例):
      "datacontenttype":"application/json",
      "data":
      {
        "obs":{
                  "bucket":{
                                  "bucket":"bucket-input-my",
                                  "name":"bucket-input-my",
                                  "arn":"",
                                  "ownerIdentity":{"ID":"f9e40463cxxxxxxxx9efd3a7ec854e"}
                                },
                  "Version":"1.0",
                  "configurationId":"a6b0bcf8-8874-4d8b-84f5-f9068527930f",
                  "object":{
                                  "versionId":"G00101928EE6072DFFFFD28824BB4AB8null",
                                  "oldpsxpth":"",
                                "size":10,
                                  "eTag":"c9b20f7d442e65ede148e006dfe1308c",
                                  "key":"\xe4\xba\x8b\xe4\xbb\xxx\xxx\xxx\xxx\xxx\xxx\x85\xe6\xb5\x8b\xe8\xaf\x951015-2.txt",
                                  "sequencer":"1"
                                }
                  },
        "eventVersion":"3.0",
        "responseElements":{
                                  "x-obs-id-2":"",
                                  "x-obs-request-id":"3f905af2683e6ed7dbaec881b66390ab",
                                  "x-amz-request-id":"",
                                  "x-amz-id-2":""
                                },
        "eventSource":"OBS",
        "eventTime":"2024-10-15T14:38:12.781Z",
        "requestParameters":{
                                  "sourceIPAddress":"xx.xx.xx.xx"
                                },
        "eventName":"ObjectCreated:Put",
        "eventRegion":"cn-north-4",
        "userIdentity":{
                              "ID":"f9e40463c23xxxxxxxxefd3a7ec854e"
                            }
      },
      "subject":"\xe4\xba\x8b\xe4\xbb\xxx\xxx\xxx\xxx\xxx\xxx\xxx\xe6\xb5\x8b\xe8\xaf\x951015-2.txt",
      "specversion":"1.0",
      "id":"3f905af2683e6ed7dbaec881b66390ab",
      "source":"HC.OBS.DWR",
      "time":"2024-10-15T06:38:13.52240464Z",
      "type":"OBS:DWR:ObjectCreated:PUT",
      "ttl":"4000","dataschema":""
    • 目标连接:选择已创建好的目标连接或默认连接,了解更多详情请参考目标连接
    • 请求头参数:
      • 请输入请求头。
      • 请输入值。
      • 选择是否加密
        图4 请求头参数
        • 针对HTTPS类型的自定义事件,对事件目标端增加授权配置,以提高安全性。
        • 当请求头和值校验不通过时,是否加密选项置灰无法选择。
        • key(请求头):由大小写英文字母和中划线组成,且必须以大小写字母开头和结尾,最大长度256个字符。
        • value:由大小写英文字符、中划线、下划线、空格和特殊字符“~!@#$%^&*()=+|[{}];:'",<.>/?”组成,最大长度1024个字符。
    • 类型:事件网格将CloudEvents标准事件转换成事件目标可以接受的事件类型。支持以下三种转换类型:
      • 透传:事件网格不对事件进行转换,将CloudEvents标准事件直接路由到事件目标。
      • 变量:从CloudEvents标准事件中获取变量值,将变量值路由到事件目标。
      • 常量:事件只能触发事件目标,但是不会传送事件内容到事件目标,事件网格将您设置的常量路由到事件目标。

      如果需要了解更多转换类型的信息,请参考事件内容转换

    • 启用死信队列:默认不启用。启用死信队列后EG会把处理失败的事件发送到配置的队列中,若不启用则处理失败的事件将被丢弃。了解更多详情请参考死信队列
    图5 自定义事件目标配置参数

  6. 单击“确定”。
  7. 单击“保存”,完成事件目标的修改。

相关文档