Skip to main content
Version: v1.31.0

File Exporter

The file exporter will collect the data and create a new file in a specific folder everytime we send the data.
This file should be in the local instance.

Check this complete example to see how to export the data in a file.

Configuration example

// ...
DataExporter: ffclient.DataExporter{
// ...
Exporter: &fileexporter.Exporter{
OutputDir: "/output-data/",
Format: "csv",
FileName: "flag-variation-{{ .Hostname}}-{{ .Timestamp}}.{{ .Format}}",
CsvTemplate: "{{ .Kind}};{{ .ContextKind}};{{ .UserKey}};{{ .CreationDate}};{{ .Key}};{{ .Variation}};{{ .Value}};{{ .Default}};{{ .Source}}\n"
// ...

Configuration fields

OutputDirOutputDir is the location of the directory to store the exported files.
It should finish with a /.
Format(Optional) Format is the output format you want in your exported file.
Available format: JSON, CSV, Parquet.
Default: JSON
Filename(Optional) Filename is the name of your output file.
You can use a templated config to define the name of your exported files.
Available replacements are {{ .Hostname}}, {{ .Timestamp}} and {{ .Format}}
Default: flag-variation-{{ .Hostname}}-{{ .Timestamp}}.{{ .Format}}
CsvTemplate(Optional) CsvTemplate is used if your output format is CSV.
This field will be ignored if you are using format other than CSV.
You can decide which fields you want in your CSV line with a go-template syntax, please check internal/exporter/feature_event.go to see the available fields.
Default: {{ .Kind}};{{ .ContextKind}};{{ .UserKey}};{{ .CreationDate}};{{ .Key}};{{ .Variation}};{{ .Value}};{{ .Default}}\n
ParquetCompressionCodec(Optional) ParquetCompressionCodec is the parquet compression codec for better space efficiency. Available options
Default: SNAPPY

Check the godoc for full details.

Get the latest GO Feature Flag updates