Back to Influxdb

Trigger

content/shared/influxdb3-cli/update/trigger.md

latest7.0 KB
Original Source

The influxdb3 update trigger command updates an existing trigger in your {{< product-name >}} instance.

Use this command to update trigger plugin code, configuration, or behavior without recreating the trigger. This preserves trigger history and configuration while allowing you to iterate on plugin development.

Usage

<!--pytest.mark.skip-->
bash
influxdb3 update trigger [OPTIONS] \
  --database <DATABASE_NAME> \
  --trigger-name <TRIGGER_NAME>

Arguments

  • DATABASE_NAME: (Required) The name of the database containing the trigger.
  • TRIGGER_NAME: (Required) The name of the trigger to update.

Options

OptionDescription
-H--hostHost URL of the running {{< product-name >}} server (default is http://127.0.0.1:8181)
-d--database({{< req >}}) Name of the database containing the trigger
--trigger-name({{< req >}}) Name of the trigger to update
-p--pathPath to plugin file or directory (single .py file or directory containing __init__.py for multifile plugins). Can be local path (with --upload) or server path.
--uploadUpload local plugin files to the server. Requires admin token. Use with --path to specify local files.
--trigger-argumentsAdditional arguments for the trigger, in the format key=value, separated by commas (for example, arg1=val1,arg2=val2)
--disabledSet the trigger state to disabled
--enabledSet the trigger state to enabled
--error-behaviorError handling behavior: log, retry, or disable
--tokenAuthentication token
--tls-caPath to a custom TLS certificate authority (for testing or self-signed certificates)
--tls-no-verifyDisable TLS certificate verification (Not recommended in production, useful for self-signed certificates)
-h--helpPrint help information
--help-allPrint detailed help information

Option environment variables

You can use the following environment variables instead of providing CLI options directly:

Environment VariableOption
INFLUXDB3_HOST_URL--host
INFLUXDB3_DATABASE_NAME--database
INFLUXDB3_AUTH_TOKEN--token
INFLUXDB3_TLS_CA--tls-ca
INFLUXDB3_TLS_NO_VERIFY--tls-no-verify

Examples

The following examples show how to update triggers in different scenarios.


Replace the following placeholders with your values:

  • {{% code-placeholder-key %}}DATABASE_NAME{{% /code-placeholder-key %}}: Database name
  • {{% code-placeholder-key %}}AUTH_TOKEN{{% /code-placeholder-key %}}: Authentication token
  • {{% code-placeholder-key %}}TRIGGER_NAME{{% /code-placeholder-key %}}: Name of the trigger to update

{{% code-placeholders "(DATABASE|TRIGGER)_NAME|AUTH_TOKEN" %}}

Update trigger plugin code

Update a trigger to use modified plugin code from the server's plugin directory.

<!--pytest.mark.skip-->
bash
influxdb3 update trigger \
  --database DATABASE_NAME \
  --trigger-name TRIGGER_NAME \
  --path "my_plugin.py" \
  --token AUTH_TOKEN

Upload and update with a local plugin

Upload new plugin code from your local machine and update the trigger in a single operation. Requires admin token.

<!--pytest.mark.skip-->
bash
# Upload single-file plugin
influxdb3 update trigger \
  --database DATABASE_NAME \
  --trigger-name TRIGGER_NAME \
  --path "/local/path/to/updated_plugin.py" \
  --upload \
  --token AUTH_TOKEN

# Upload multifile plugin directory
influxdb3 update trigger \
  --database DATABASE_NAME \
  --trigger-name TRIGGER_NAME \
  --path "/local/path/to/plugin_directory" \
  --upload \
  --token AUTH_TOKEN

The --upload flag transfers local files to the server's plugin directory, making it easy to iterate on plugin development without manual file copying.

Update trigger arguments

Modify the arguments passed to a trigger's plugin code.

<!--pytest.mark.skip-->
bash
influxdb3 update trigger \
  --database DATABASE_NAME \
  --trigger-name TRIGGER_NAME \
  --trigger-arguments threshold=100,window=5m \
  --token AUTH_TOKEN

Enable or disable a trigger

Change the trigger's enabled state without modifying other configuration.

<!--pytest.mark.skip-->
bash
# Disable a trigger
influxdb3 update trigger \
  --database DATABASE_NAME \
  --trigger-name TRIGGER_NAME \
  --disabled \
  --token AUTH_TOKEN

# Enable a trigger
influxdb3 update trigger \
  --database DATABASE_NAME \
  --trigger-name TRIGGER_NAME \
  --enabled \
  --token AUTH_TOKEN

Update error handling behavior

Change how the trigger responds to errors.

<!--pytest.mark.skip-->
bash
# Log errors without retrying
influxdb3 update trigger \
  --database DATABASE_NAME \
  --trigger-name TRIGGER_NAME \
  --error-behavior log \
  --token AUTH_TOKEN

# Retry on errors
influxdb3 update trigger \
  --database DATABASE_NAME \
  --trigger-name TRIGGER_NAME \
  --error-behavior retry \
  --token AUTH_TOKEN

# Disable trigger on error
influxdb3 update trigger \
  --database DATABASE_NAME \
  --trigger-name TRIGGER_NAME \
  --error-behavior disable \
  --token AUTH_TOKEN

{{% /code-placeholders %}}