Documentation

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>
  • Copy
  • Fill window

Arguments

  • TRIGGER_NAME: A name for the new trigger.

Options

OptionDescription
-H--hostHost 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-specTrigger specification: table:<TABLE_NAME>, all_tables, every:<DURATION>, cron:<EXPRESSION>, or request:<REQUEST_PATH>
--trigger-argumentsAdditional arguments for the trigger, in the format key=value, separated by commas (for example, arg1=val1,arg2=val2)
--disabledCreate the trigger in disabled state
--error-behaviorError handling behavior: log, retry, or disable
--run-asynchronousRun the trigger asynchronously, allowing multiple triggers to run simultaneously (default is synchronous)
--tls-caPath to a custom TLS certificate authority (for testing or self-signed certificates)
-h--helpPrint help information
--help-allPrint 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 VariableOption
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.


Replace the following placeholders with your values:

  • DATABASE_NAME: Database name
  • AUTH_TOKEN: Authentication token
  • PLUGIN_FILENAME: Python plugin filename
  • TRIGGER_NAME: Name of the trigger to create
  • TABLE_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
  • Copy
  • Fill window

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
  • Copy
  • Fill window

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
  • Copy
  • Fill window

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
  • Copy
  • Fill window

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
  • Copy
  • Fill window

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
  • Copy
  • Fill window

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
  • Copy
  • Fill window

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
  • Copy
  • Fill window

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
  • Copy
  • Fill window

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
  • Copy
  • Fill window

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
  • Copy
  • Fill window

Was this page helpful?

Thank you for your feedback!


The future of Flux

Flux is going into maintenance mode. You can continue using it as you currently are without any changes to your code.

Read more

New in InfluxDB 3.2

Key enhancements in InfluxDB 3.2 and the InfluxDB 3 Explorer UI is now generally available.

See the Blog Post

InfluxDB 3.2 is now available for both Core and Enterprise, bringing the general availability of InfluxDB 3 Explorer, a new UI that simplifies how you query, explore, and visualize data. On top of that, InfluxDB 3.2 includes a wide range of performance improvements, feature updates, and bug fixes including automated data retention and more.

For more information, check out: