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>

Arguments

  • TRIGGER_NAME: A name for the new trigger.

Options

OptionDescription
-H--hostHost URL of the running InfluxDB 3 Enterprise 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

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!


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.4

Key enhancements in InfluxDB 3.4 and the InfluxDB 3 Explorer 1.2.

See the Blog Post

InfluxDB 3.4 is now available for both Core and Enterprise, which introduces offline token generation for use in automated deployments and configurable license type selection that lets you bypass the interactive license prompt. InfluxDB 3 Explorer 1.2 is also available, which includes InfluxDB cache management and other new features.

For more information, check out: