
Huawei RealtimeTrigger
CertifiedTrigger a flow for each message on a Huawei DMS for Kafka topic
Huawei RealtimeTrigger
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.
type: io.kestra.plugin.huawei.dms.kafka.RealtimeTriggerExamples
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
bootstrapServers *string
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.
groupId *string
Consumer group ID used for offset tracking
topic *string
Kafka topic to consume from
allowConcurrent boolean
falseSpecifies whether a trigger is allowed to start a new execution even if a previous run is still in progress.
keySerdeType string
STRINGSTRINGJSONBINARYKey serializer/deserializer type
STRING (default), JSON, or BINARY.
password string
SASL password
Required when saslMechanism is PLAIN or SCRAM_SHA_512. Sensitive — always provide via {{ secret('NAME') }}.
saslMechanism string
PLAINPLAINSCRAM_SHA_512NONESASL 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.
sslEnabled booleanstring
falseEnable 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.
stopAfter array
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTEDList of execution states after which a trigger should be stopped (a.k.a. disabled).
username string
SASL username
Required when saslMechanism is PLAIN or SCRAM_SHA_512.
valueSerdeType string
STRINGSTRINGJSONBINARYValue serializer/deserializer type
STRING (default), JSON, or BINARY.
when string
trueA 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.
Outputs
headers array
Kafka headers attached to the message
Each entry is a key/value pair; the value is a UTF-8 decoded string.
java.util.Map-Entry
key object
Message key, deserialized according to keySerdeType
offset integer
Offset of this message within its partition
partition integer
Partition the message was stored in
timestamp string
date-timeTimestamp assigned by the broker when the message was stored
topic string
Kafka topic the message was consumed from
value object
Message value, deserialized according to valueSerdeType