写入 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"