Huawei RealtimeTrigger

Huawei RealtimeTrigger

Certified

Trigger a flow for each message on a Huawei DMS for Kafka topic

Maintains a persistent Kafka consumer and fires one Kestra execution per record as messages arrive. Offset commits happen after each record is processed to provide at-least-once semantics. For batched interval-based consumption use Trigger.

yaml
type: io.kestra.plugin.huawei.dms.kafka.RealtimeTrigger
yaml
id: dms_kafka_realtime_trigger
namespace: company.team

tasks:
  - id: log
    type: io.kestra.plugin.core.log.Log
    message: "{{ trigger.value }}"

triggers:
  - id: realtime
    type: io.kestra.plugin.huawei.dms.kafka.RealtimeTrigger
    bootstrapServers: "dms-instance-id.kafka.eu-west-101.myhuaweicloud.com:9093"
    saslMechanism: PLAIN
    username: "{{ secret('DMS_KAFKA_USERNAME') }}"
    password: "{{ secret('DMS_KAFKA_PASSWORD') }}"
    topic: my-topic
    groupId: kestra-realtime-group
Properties

Kafka bootstrap servers

Comma-separated list of host: port pairs that the Kafka client uses for the initial cluster connection. For DMS for Kafka, copy this value from the instance detail page in the console.

Consumer group ID used for offset tracking

Kafka topic to consume from

Defaultfalse

Specifies whether a trigger is allowed to start a new execution even if a previous run is still in progress.

DefaultSTRING
Possible Values
STRINGJSONBINARY

Key serializer/deserializer type

STRING (default), JSON, or BINARY.

SASL password

Required when saslMechanism is PLAIN or SCRAM_SHA_512. Sensitive — always provide via {{ secret('NAME') }}.

DefaultPLAIN
Possible Values
PLAINSCRAM_SHA_512NONE

SASL mechanism used for authentication

PLAIN — username/password (default, used by most DMS for Kafka instances). SCRAM_SHA_512 — stronger challenge-response, supported on newer instances. NONE — no SASL; for VPC-internal clusters with no auth enabled.

Defaultfalse

Enable TLS for the Kafka connection

Set to true to use SASL_SSL instead of SASL_PLAINTEXT. DMS for Kafka instances accessed over the public internet require TLS.

SubTypestring
Possible Values
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTED

List of execution states after which a trigger should be stopped (a.k.a. disabled).

SASL username

Required when saslMechanism is PLAIN or SCRAM_SHA_512.

DefaultSTRING
Possible Values
STRINGJSONBINARY

Value serializer/deserializer type

STRING (default), JSON, or BINARY.

Defaulttrue

A condition that determines whether the trigger should run.

A Pebble expression evaluated at trigger time. The trigger fires only when the expression evaluates to a truthy value (true, a non-empty string, a non-zero number). Use this to gate trigger execution on dynamic runtime values such as execution labels, flow variables, or environment conditions.

Kafka headers attached to the message

Each entry is a key/value pair; the value is a UTF-8 decoded string.

Definitions

Message key, deserialized according to keySerdeType

Offset of this message within its partition

Partition the message was stored in

Formatdate-time

Timestamp assigned by the broker when the message was stored

Kafka topic the message was consumed from

Message value, deserialized according to valueSerdeType