写入 Redis Enterprise 目标示例

`redis.write` 块可用于后写作业的 `output` 部分,以启用将数据写入 Redis Enterprise 目标数据库。可以同时使用多个块将数据写入不同的数据类型。以下示例捕获在 `address:*` 键空间中修改的数据,然后创建一个名为 `json_addr` 的新 JSON 样式的字符串字段,最后将结果写入目标 Redis Enterprise 数据库中的多个键

source:
  redis:
    trigger: write-behind
    key_pattern: address:*
transform:
  - uses: add_field
    with:
      fields:
        - field: "json_addr"
          expression: concat(['{"city":', city, ', "zip":', zip, '}'])
          language: jmespath
output:
  - uses: redis.write
    with:
      data_type: hash
      connection: target
      key:
        expression: concat(['addr:org_id:', org_id, ':hash'])
        language: jmespath
  - uses: redis.write
    with:
      data_type: json
      key:
        expression: concat(['addr:org_id:', org_id, ':json'])
        language: jmespath
      on_update: merge
  - uses: redis.write
    with:
      data_type: set
      key:
        expression: concat(['addresses:', country])
        language: jmespath
      args:
        member: json_addr
  - uses: redis.write
    with:
      data_type: sorted_set
      key:
        expression: concat(['addrs_withscores:', country])
        language: jmespath
      args:
        score: zip
        member: json_addr
  - uses: redis.write
    with:
      data_type: stream
      key:
        expression: "`addresses:events`"
        language: jmespath
      mapping:
        - org_id: message_id
        - zip: zip_code
        - country

在源 Redis Enterprise 数据库中运行以下命令以测试作业

127.0.0.1:12005> hset address:1 city Austin zip 78901 org_id 1 country USA

结果是在目标 Redis Enterprise 数据库中将创建五个键(哈希、JSON、集合、排序集合和流)

127.0.0.1:12000> keys *
1) "addr:org_id:1:hash"
2) "addr:org_id:1:json"
3) "addresses:USA"
4) "addrs_withscores:USA"
5) "addresses:events"
评价此页
返回顶部 ↑