You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> The Processing engine is currently supported only in Docker x86 environments. Non-Docker support is coming soon. The engine, API, and developer experience are actively evolving and may change. Join our [Discord](https://discord.gg/9zaNCW2PRT) for updates and feedback.
577
-
578
573
The InfluxDB 3 Processing engine is an embedded Python VM for running code inside the database to process and transform data.
579
574
580
575
To use the Processing engine, you create [plugins](#plugin) and [triggers](#trigger).
@@ -609,11 +604,6 @@ InfluxDB 3 provides the following types of triggers:
609
604
610
605
### Test, create, and trigger plugin code
611
606
612
-
> [!Important]
613
-
>#### Processing engine only works with Docker
614
-
>
615
-
> The Processing engine is currently supported only in Docker x86 environments. Non-Docker support is coming soon. The engine, API, and developer experience are actively evolving and may change. Join our [Discord](https://discord.gg/9zaNCW2PRT) for updates and feedback.
616
-
617
607
##### Example: Python plugin for WAL flush
618
608
619
609
```python
@@ -699,10 +689,9 @@ Test your InfluxDB 3 plugin safely without affecting written data. During a plug
699
689
To test a plugin, do the following:
700
690
701
691
1. Create a _plugin directory_--for example, `/path/to/.influxdb/plugins`
702
-
2. Make the plugin directory available to the Docker container (for example, using a bind mount)
703
-
3. Run the Docker command to [start the server](#start-influxdb) and include the `--plugin-dir` option with your plugin directory path.
704
-
4. Save the [preceding example code](#example-python-plugin) to a plugin file inside of the plugin directory. If you haven't yet written data to the table in the example, comment out the lines where it queries.
705
-
5. To run the test, enter the following command with the following options:
692
+
2. [Start the InfluxDB server](#start-influxdb) and include the `--plugin-dir` option with your plugin directory path.
693
+
3. Save the [preceding example code](#example-python-plugin) to a plugin file inside of the plugin directory. If you haven't yet written data to the table in the example, comment out the lines where it queries.
694
+
4. To run the test, enter the following command with the following options:
706
695
707
696
- `--lp` or `--file`: The line protocol to test
708
697
- Optional: `--input-arguments`: A comma-delimited list of `<KEY>=<VALUE>` arguments for your plugin code
Copy file name to clipboardExpand all lines: content/shared/v3-core-plugins/_index.md
+4-4Lines changed: 4 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,3 @@
1
-
> [!Important]
2
-
> #### Processing engine only works with Docker
3
-
>
4
-
> The Processing engine is currently supported only in Docker x86 environments. Non-Docker support is coming soon. The engine, API, and developer experience are actively evolving and may change. Join our [Discord](https://discord.gg/9zaNCW2PRT) for updates and feedback.
5
1
6
2
Use the {{% product-name %}} Processing engine to run code and perform tasks
7
3
for different database events.
@@ -35,6 +31,7 @@ The Processing engine provides four types of plugins and triggers--each type cor
35
31
-**On Request**: Bound to the HTTP API `/api/v3/engine/<CUSTOM_PATH>` endpoint and triggered by a GET or POST request to the endpoint.
36
32
37
33
## Activate the Processing engine
34
+
38
35
To enable the Processing engine, start the {{% product-name %}} server with the `--plugin-dir` option and a path to your plugins directory (it doesn't need to exist yet)--for example:
39
36
40
37
```bash
@@ -351,6 +348,7 @@ def process_scheduled_call(influxdb3_local, time, args=None):
351
348
```
352
349
353
350
### Schedule Trigger Configuration
351
+
354
352
Schedule plugins are set with a `trigger-spec` of `schedule:<cron_expression>` or `every:<duration>`. The `args` parameter can be used to pass configuration to the plugin. For example, if we wanted to use the system-metrics example from the Github repo and have it collect every 10 seconds we could use the following trigger definition:
355
353
356
354
```shell
@@ -361,6 +359,7 @@ influxdb3 create trigger \
361
359
```
362
360
363
361
## On Request Plugin
362
+
364
363
On Request plugins are triggered by a request to a specific endpoint under `/api/v3/engine`. The plugin will receive the local API, query parameters `Dict[str, str]`, request headers `Dict[str, str]`, request body (as bytes), and any arguments passed in the trigger definition. Here's an example of a simple On Request plugin:
On Request plugins are set with a `trigger-spec` of `request:<endpoint>`. The `args` parameter can be used to pass configuration to the plugin. For example, if we wanted the above plugin to run on the endpoint `/api/v3/engine/my_plugin`, we would use `request:my_plugin` as the `trigger-spec`.
391
391
392
392
Trigger specs must be unique across all configured plugins, regardless of which database they are tied to, given the path is the same. Here's an example to create a request trigger tied to the "hello-world' path using a plugin in the plugin-dir:
> The Processing engine is currently supported only in Docker x86 environments. Non-Docker support is coming soon. The engine, API, and developer experience are actively evolving and may change. Join our [Discord](https://discord.gg/9zaNCW2PRT) for updates and feedback.
567
-
568
563
The InfluxDB 3 Processing engine is an embedded Python VM for running code inside the database to process and transform data.
569
564
570
565
To use the Processing engine, you create [plugins](#plugin) and [triggers](#trigger).
@@ -599,11 +594,6 @@ InfluxDB 3 provides the following types of triggers:
599
594
600
595
### Test, create, and trigger plugin code
601
596
602
-
> [!Important]
603
-
>#### Processing engine only works with Docker
604
-
>
605
-
> The Processing engine is currently supported only in Docker x86 environments. Non-Docker support is coming soon. The engine, API, and developer experience are actively evolving and may change. Join our [Discord](https://discord.gg/9zaNCW2PRT) for updates and feedback.
606
-
607
597
##### Example: Python plugin for WAL flush
608
598
609
599
```python
@@ -689,10 +679,9 @@ Test your InfluxDB 3 plugin safely without affecting written data. During a plug
689
679
To test a plugin, do the following:
690
680
691
681
1. Create a _plugin directory_--for example, `/path/to/.influxdb/plugins`
692
-
2. Make the plugin directory available to the Docker container (for example, using a bind mount)
693
-
3. Run the Docker command to [start the server](#start-influxdb) and include the `--plugin-dir` option with your plugin directory path.
694
-
4. Save the [preceding example code](#example-python-plugin) to a plugin file inside of the plugin directory. If you haven't yet written data to the table in the example, comment out the lines where it queries.
695
-
5. To run the test, enter the following command with the following options:
682
+
2. [Start the InfluxDB server](#start-influxdb) and include the `--plugin-dir` option with your plugin directory path.
683
+
3. Save the [preceding example code](#example-python-plugin) to a plugin file inside of the plugin directory. If you haven't yet written data to the table in the example, comment out the lines where it queries.
684
+
4. To run the test, enter the following command with the following options:
696
685
697
686
- `--lp` or `--file`: The line protocol to test
698
687
- Optional: `--input-arguments`: A comma-delimited list of `<KEY>=<VALUE>` arguments for your plugin code
0 commit comments