influxdb3 create trigger
The influxdb3 create trigger
command creates a new trigger for the
processing engine.
Usage
influxdb3 create trigger [OPTIONS] \
--database <DATABASE_NAME> \
--token <AUTH_TOKEN> \
--plugin-filename <PLUGIN_FILENAME> \
--trigger-spec <TRIGGER_SPECIFICATION> \
<TRIGGER_NAME>
Arguments
- TRIGGER_NAME: A name for the new trigger.
Options
Option | Description | |
---|---|---|
-H | --host | Host URL of the running InfluxDB 3 Core server (default is http://127.0.0.1:8181 ) |
-d | --database | (Required) Name of the database to operate on |
--token | (Required) Authentication token | |
--plugin-filename | (Required) Name of the file, stored in the server’s plugin-dir , that contains the Python plugin code to run | |
--trigger-spec | Trigger specification: table:<TABLE_NAME> , all_tables , every:<DURATION> , cron:<EXPRESSION> , or request:<REQUEST_PATH> | |
--trigger-arguments | Additional arguments for the trigger, in the format key=value , separated by commas (for example, arg1=val1,arg2=val2 ) | |
--disabled | Create the trigger in disabled state | |
--error-behavior | Error handling behavior: log , retry , or disable | |
--run-asynchronous | Run the trigger asynchronously, allowing multiple triggers to run simultaneously (default is synchronous) | |
--tls-ca | Path to a custom TLS certificate authority (for testing or self-signed certificates) | |
-h | --help | Print help information |
--help-all | Print detailed help information |
If you want to use a plugin from the Plugin Library repo, use the URL path with gh:
specified as the prefix.
For example, to use the System Metrics plugin, the plugin filename is gh:examples/schedule/system_metrics/system_metrics.py
.
Option environment variables
You can use the following environment variables to set command options:
Environment Variable | Option |
---|---|
INFLUXDB3_HOST_URL | --host |
INFLUXDB3_DATABASE_NAME | --database |
INFLUXDB3_AUTH_TOKEN | --token |
Examples
The following examples show how to use the influxdb3 create trigger
command to create triggers in different scenarios.
- Create a trigger for a specific table
- Create a trigger for all tables
- Create a trigger with a schedule
- Create a trigger for HTTP requests
- Create a trigger with additional arguments
- Create a disabled trigger
- Create a trigger with error handling
Replace the following placeholders with your values:
DATABASE_NAME
: Database nameAUTH_TOKEN
: Authentication tokenPLUGIN_FILENAME
: Python plugin filenameTRIGGER_NAME
: Name of the trigger to createTABLE_NAME
: Name of the table to trigger on
Create a trigger for a specific table
Create a trigger that processes data from a specific table.
influxdb3 create trigger \
--database DATABASE_NAME \
--token AUTH_TOKEN \
--plugin-filename PLUGIN_FILENAME \
--trigger-spec table:TABLE_NAME \
TRIGGER_NAME
PLUGIN_FILENAME
must implement the data write plugin interface.
Create a trigger for all tables
Create a trigger that applies to all tables in the specified database.
influxdb3 create trigger \
--database DATABASE_NAME \
--token AUTH_TOKEN \
--plugin-filename <PLUGIN_FILENAME> \
--trigger-spec all_tables \
TRIGGER_NAME
PLUGIN_FILENAME
must implement the data write plugin interface.
This is useful when you want a trigger to apply to any table in the database, regardless of name.
Create a trigger with a schedule
Create a trigger that runs at a specific interval using a duration. Supported duration units: s
(seconds), m
(minutes), h
(hours), d
(days), w
(weeks), M
(months), y
(years). Maximum interval is 1 year.
influxdb3 create trigger \
--database DATABASE_NAME \
--token AUTH_TOKEN \
--plugin-filename <PLUGIN_FILENAME> \
--trigger-spec every:5m \
TRIGGER_NAME
Create a trigger that runs based on a cron schedule using extended 6-field cron format. The cron expression follows the format:
second minute hour day_of_month month day_of_week
Fields:
- second: 0-59
- minute: 0-59
- hour: 0-23
- day_of_month: 1-31
- month: 1-12 or JAN-DEC
- day_of_week: 0-7 (0 or 7 is Sunday) or SUN-SAT
Example: Run at 6:00 AM every weekday (Monday-Friday):
influxdb3 create trigger \
--database DATABASE_NAME \
--token AUTH_TOKEN \
--plugin-filename <PLUGIN_FILENAME> \
--trigger-spec "cron:0 0 6 * * 1-5" \
TRIGGER_NAME
PLUGIN_FILENAME
must implement the scheduled plugin interface.
Create a trigger for HTTP requests
Create a trigger that provides an API endpoint and processes HTTP requests.
influxdb3 create trigger \
--database DATABASE_NAME \
--token AUTH_TOKEN \
--plugin-filename PLUGIN_FILENAME \
--trigger-spec request:REQUEST_PATH \
TRIGGER_NAME
PLUGIN_FILENAME
must implement the HTTP request plugin interface.
Create a trigger with additional arguments
influxdb3 create trigger \
--database DATABASE_NAME \
--token AUTH_TOKEN \
--plugin-filename <PLUGIN_FILENAME> \
--trigger-spec table:TABLE_NAME \
--trigger-arguments arg1=value1,arg2=value2 \
TRIGGER_NAME
Create a disabled trigger
Create a trigger in a disabled state.
influxdb3 create trigger \
--disabled \
--database DATABASE_NAME \
--token AUTH_TOKEN \
--plugin-filename <PLUGIN_FILENAME> \
--trigger-spec table:TABLE_NAME \
TRIGGER_NAME
Creating a trigger in a disabled state prevents it from running immediately. You can enable it later when you’re ready to activate it.
Create a trigger with error handling
Log the error to the service output and the system.processing_engine_logs
table:
influxdb3 create trigger \
--database DATABASE_NAME \
--token AUTH_TOKEN \
--plugin-filename <PLUGIN_FILENAME> \
--trigger-spec table:TABLE_NAME \
--error-behavior log \
TRIGGER_NAME
Rerun the trigger if it fails:
influxdb3 create trigger \
--database DATABASE_NAME \
--token AUTH_TOKEN \
--plugin-filename <PLUGIN_FILENAME> \
--trigger-spec table:TABLE_NAME \
--error-behavior retry \
TRIGGER_NAME
Disable the trigger if it fails:
influxdb3 create trigger \
--database DATABASE_NAME \
--token AUTH_TOKEN \
--plugin-filename <PLUGIN_FILENAME> \
--trigger-spec table:TABLE_NAME \
--error-behavior disable \
TRIGGER_NAME
Was this page helpful?
Thank you for your feedback!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for InfluxDB 3 Core and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support. Customers using a trial license can email trial@influxdata.com for assistance.