
Huawei Trigger
CertifiedTrigger a flow when new messages arrive on a Huawei DMS for Kafka topic
Huawei Trigger
Trigger a flow when new messages arrive on a Huawei DMS for Kafka topic
Polls the configured topic on a fixed interval and fires one execution per batch when messages are found.
Messages are stored at {{ trigger.uri }} in Kestra internal storage; {{ trigger.messagesCount }} gives the batch size.
For one-execution-per-message semantics use RealtimeTrigger.
type: io.kestra.plugin.huawei.dms.kafka.TriggerExamples
id: dms_kafka_trigger
namespace: company.team
tasks:
- id: log
type: io.kestra.plugin.core.log.Log
message: "Received {{ trigger.messagesCount }} messages from DMS Kafka"
triggers:
- id: watch
type: io.kestra.plugin.huawei.dms.kafka.Trigger
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-trigger-group
maxRecords: 50
interval: PT60S
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.
interval string
PT1MdurationPolling interval
ISO-8601 duration between poll cycles, e.g. PT60S (default).
keySerdeType string
STRINGSTRINGJSONBINARYKey serializer/deserializer type
STRING (default), JSON, or BINARY.
maxDuration string
Stop after this duration elapses per poll cycle
maxRecords integerstring
Stop after consuming this many records per poll cycle
password string
SASL password
Required when saslMechanism is PLAIN or SCRAM_SHA_512. Sensitive — always provide via {{ secret('NAME') }}.
pollDuration string
PT5SMaximum time to wait for records during each poll call
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
messagesCount integer
Number of records consumed from the DMS Kafka topic
uri string
uriURI of the ION file in Kestra internal storage containing the consumed messages