开发者社区 > 云原生 > 中间件 > 正文

EventBridge我通过sls接入的自定义事件源,那一大坨也弄成json呢?

EventBridge我通过sls接入的自定义事件源,原始日志是json格式的,到了事件总线这边是这样的,我在用的时候要咋转换一下才能把data里边eventId那一大坨也弄成json呢?52c7e9f29ada3221ff29bd050e459226.png
这个后续有计划支持一下吗?

展开
收起
真的很搞笑 2023-11-19 17:22:56 64 0
3 条回答
写回答
取消 提交回答
  • 对于EventBridge来说,它接收的事件数据格式是固定的,即AWS Event JSON。这种格式包含了一些固定的关键字,如"version"、"id"、"detail-type"等。如果你接收到的数据格式与你预期的不同,你可能需要进行一些数据转换。

    你可以使用Python的json模块来进行数据转换。以下是一个简单的示例:

    import json
    
    def convert_to_aws_event_json(input_data):
        # 假设input_data是你接收到的原始数据
        output_data = {
            "version": "0",
            "id": input_data["eventId"],
            "detail-type": "Custom Event Type",
            "source": "my-service",
            "account": "1234567890",
            "time": input_data["timestamp"],
            "region": "us-west-2",
            "resources": [],
            "detail": input_data
        }
        return json.dumps(output_data)
    

    在这个示例中,我们首先定义了一个字典,这个字典包含了EventBridge期望的所有关键字。然后,我们将输入数据中的"eventId"和"timestamp"复制到输出数据中,并将输入数据作为"detail"字段的值。最后,我们使用json.dumps函数将输出数据转换为JSON字符串。

    2023-11-20 12:13:55
    赞同 展开评论 打赏
  • 这个EB暂时没法支持。SLS source是将log中每一对key value均以字符串形式放置在data中,不会去判断value部分是字符串还是json.如果某个字段value部分是JSON,目前是无法解析到里面的内容的
    EB的事件流近期新支持了transform组件,其底层是依赖FC来实现。通过transform组件来对数据进行加工可以实现你的相关需求,此回答整理自钉群“EventBridge用户交流群”

    2023-11-20 07:47:17
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    如果您正在使用 Log Service 作为事件源,并且原始日志是 JSON 格式的,则可以通过配置日志解析规则,将其转换为 JSON 对象。
    具体来说,您可以在 Log Service 控制台上创建一条日志解析规则,并指定该规则应使用的 JSON 解析模板。该模板可以包含一些正则表达式,以提取 JSON 对象的关键信息,例如 eventId。
    您也可以使用其他工具(如 jq 等)来将字符串转换为 JSON 对象,然后再将该对象写入 EventBridge。
    具体步骤如下:

    1. 首先,使用 jq 将原始字符串转换为 JSON 对象,例如:
      echo '{"id": "abc", "event": {"type": "test"}}' | jq -c .
      
    2. 将 JSON 对象写入 EventBridge,例如:

      curl -X POST 'http://localhost:3000/events' -H 'Content-Type: application/json' -d '{"Data":{"key":"value"}}'
      
    2023-11-19 21:59:11
    赞同 展开评论 打赏

为企业提供高效、稳定、易扩展的中间件产品。

相关电子书

更多
PostgresChina2018_赖思超_PostgreSQL10_hash索引的WAL日志修改版final 立即下载
Kubernetes下日志实时采集、存储与计算实践 立即下载
日志数据采集与分析对接 立即下载