Huawei Trigger

Huawei Trigger

Certified

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.

yaml
type: io.kestra.plugin.huawei.dms.kafka.Trigger
yaml
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

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.

DefaultPT1M
Formatduration

Polling interval

ISO-8601 duration between poll cycles, e.g. PT60S (default).

DefaultSTRING
Possible Values
STRINGJSONBINARY

Key serializer/deserializer type

STRING (default), JSON, or BINARY.

Stop after this duration elapses per poll cycle

Stop after consuming this many records per poll cycle

SASL password

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

DefaultPT5S

Maximum time to wait for records during each poll call

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.

Number of records consumed from the DMS Kafka topic

Formaturi

URI of the ION file in Kestra internal storage containing the consumed messages