azure_table_storage
This component is mostly stable but breaking changes could still be made outside of major version releases if a fundamental problem with the component is found.
Stores messages in an Azure Table Storage table.
- Common
- Advanced
# Common config fields, showing default values
output:
label: ""
azure_table_storage:
storage_account: ""
storage_access_key: ""
storage_connection_string: ""
storage_sas_token: ""
table_name: ${! metadata("kafka_topic") } # No default (required)
partition_key: ""
row_key: ""
properties: {}
max_in_flight: 64
batching:
count: 0
byte_size: 0
period: ""
jitter: 0
check: ""
# All config fields, showing default values
output:
label: ""
azure_table_storage:
storage_account: ""
storage_access_key: ""
storage_connection_string: ""
storage_sas_token: ""
table_name: ${! metadata("kafka_topic") } # No default (required)
partition_key: ""
row_key: ""
properties: {}
transaction_type: INSERT
max_in_flight: 64
timeout: 5s
batching:
count: 0
byte_size: 0
period: ""
jitter: 0
check: ""
processors: [] # No default (optional)
Only one authentication method is required, storage_connection_string or storage_account and storage_access_key. If both are set then the storage_connection_string is given priority.
In order to set the table_name, partition_key and row_key you can use function interpolations described here, which are calculated per message of a batch.
If the properties are not set in the config, all the json fields are marshalled and stored in the table, which will be created if it does not exist.
The object and array fields are marshaled as strings. e.g.:
The JSON message:
{
"foo": 55,
"bar": {
"baz": "a",
"bez": "b"
},
"diz": ["a", "b"]
}
Will store in the table the following properties:
foo: '55'
bar: '{ "baz": "a", "bez": "b" }'
diz: '["a", "b"]'
It's also possible to use function interpolations to get or transform the properties values, e.g.:
properties:
device: '${! json("device") }'
timestamp: '${! json("timestamp") }'
Performance
This output benefits from sending multiple messages in flight in parallel for improved performance. You can tune the max number of in flight messages (or message batches) with the field max_in_flight.
This output benefits from sending messages as a batch for improved performance. Batches can be formed at both the input and output level. You can find out more in this doc.
Fields
storage_account
The storage account to access. This field is ignored if storage_connection_string is set.
Type: string
Default: ""