Blueprints

Add multiple Redis keys in parallel from JSON input

Source

yaml
id: redis-set-parallel
namespace: company.team

inputs:
  - id: values
    type: JSON
    description: Enter your favorite plugins and tasks
    defaults: |
      [
        {"dbt": ["build", "test", "snapshot"]},
        {"aws": ["s3", "sqs", "sns", "athena"]},
        {"gcp": ["big-query", "gcs", "cloudrun"]}
      ]

tasks:
  - id: parallel
    type: io.kestra.plugin.core.flow.ForEach
    concurrencyLimit: 0
    values: "{{ inputs.values }}"
    tasks:
      - id: set
        type: io.kestra.plugin.redis.string.Set
        url: redis://host.docker.internal:6379/0
        serdeType: STRING
        key: "{{ json(taskrun.value) | keys | first }}"
        value: |
          {{ taskrun.value | jq('.[]') | first }}

About this blueprint

Parallel Ingest

This flow adds multiple keys in parallel to a Redis data store based on JSON input provided by the user at runtime. To test this flow, you can start Redis in a Docker container: docker run --name myredis -p 6379:6379 -d redis

For Each

Set

More Related Blueprints

New to Kestra?

Use blueprints to kickstart your first workflows.

Get started with Kestra