
Azure Signal
CertifiedSend an external signal to a pg_durable instance
Azure Signal
Send an external signal to a pg_durable instance
Sends a named signal (with an optional payload) to an instance waiting on df.wait_for_signal(...), via SELECT df.signal(id, name, data).
type: io.kestra.plugin.azure.horizondb.durable.SignalExamples
id: horizondb_durable_signal
namespace: company.team
inputs:
- id: host
type: STRING
- id: instance_id
type: STRING
tasks:
- id: approve
type: io.kestra.plugin.azure.horizondb.durable.Signal
host: "{{ inputs.host }}"
port: 5432
database: mydb
username: "{{ secret('HORIZONDB_USERNAME') }}"
password: "{{ secret('HORIZONDB_PASSWORD') }}"
instanceId: "{{ inputs.instance_id }}"
signalName: approval
payload: '{"approved": true, "approver": "jane"}'
Properties
database *Requiredstring
Database name
host *Requiredstring
HorizonDB server host
Hostname of the Azure HorizonDB server, without protocol or port (e.g. myserver.postgres.horizondb.azure.com).
instanceId *Requiredstring
Durable instance id
Identifier of the instance to signal.
signalName *Requiredstring
Signal name
Name of the external signal the instance is waiting on (matches its df.wait_for_signal(name) call).
clientId string
Azure client id
Used with tenantId/clientSecret for service principal authentication when useEntraId is true. Ignored otherwise.
clientSecret string
Azure client secret
Used with tenantId/clientId for service principal authentication when useEntraId is true. Ignored otherwise.
password string
Password
Required unless useEntraId is true.
payload string
{}Signal payload
Payload passed to the instance as the signal's data, typically a JSON string. Defaults to '{}', matching df.signal()'s own default.
pluginDefaultsRef Non-dynamicstring
Reference (ref) of the pluginDefaults to apply to this task.
port integerstring
5432HorizonDB server port
Defaults to the standard PostgreSQL port.
ssl booleanstring
trueRequire TLS
When true (the default), the connection is rejected unless it is encrypted (sslmode=require). Set to false only for local development against a non-TLS instance.
tenantId string
Azure tenant id
Used with clientId/clientSecret for service principal authentication when useEntraId is true. Ignored otherwise.
useEntraId booleanstring
falseAuthenticate with Azure Entra ID
When true, authenticates using Azure Entra ID (via the Azure Identity Extensions JDBC plugin) instead of a static password. With no further properties set, this falls back to whatever DefaultAzureCredential resolves on the worker (managed identity, environment variables, Azure CLI login, etc.); set tenantId/clientId/clientSecret below to authenticate as a specific service principal instead.
username string
Username
Required unless useEntraId is true and the Entra ID token carries the identity.
Outputs
instanceId string
Durable instance id
signaled boolean
Whether the signal was sent
True once df.signal() executes without error. This does not confirm a waiting instance actually received it (e.g. if it wasn't waiting on that signal name) — check GetStatus or df.explain() separately if you need to verify delivery.