InfluxDB binding spec

Detailed documentation on the InfluxDB binding component

Component format

To setup InfluxDB binding create a component of type bindings.influx. See this guide on how to create and apply a binding configuration.

apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
  name: <NAME>
spec:
  type: bindings.influx
  version: v1
  metadata:
  - name: url # Required
    value: "<INFLUX-DB-URL>"
  - name: token # Required
    value: "<TOKEN>"
  - name: org # Required
    value: "<ORG>"
  - name: bucket # Required
    value: "<BUCKET>"

Spec metadata fields

FieldRequiredBinding supportDetailsExample
urlYOutputThe URL for the InfluxDB instance"http://localhost:8086"
tokenYOutputThe authorization token for InfluxDB"mytoken"
orgYOutputThe InfluxDB organization"myorg"
bucketYOutputBucket name to write to"mybucket"

Binding support

This component supports output binding with the following operations:

  • create
  • query

Create

In order to write a point to InfluxDB, use the create operation with keys for measurement, tags, and values in the request. The format of tags and values are InfluxDB line protocol tag and field sets, for example host=serverA,region=us-west and temperature=25.3:

curl -X POST http://localhost:3500/v1.0/bindings/myInfluxBinding \
  -H "Content-Type: application/json" \
  -d "{
        \"data\": {
          \"measurement\": \"temperature\",
          \"tags\": \"host=serverA,region=us-west\",
          \"values\": \"value=25.3\"
        },
        \"operation\": \"create\"
      }"

Query

In order to query InfluxDB, use a query operation along with a raw key in the call’s metadata, with the query as the value:

curl -X POST http://localhost:3500/v1.0/bindings/myInfluxBinding \
  -H "Content-Type: application/json" \
  -d "{
        \"metadata\": {
          \"raw\": "SELECT * FROM 'sith_lords'"
        },
        \"operation\": \"query\"
      }"