Local File Sink¶
Class: LocalFileSinkBlockV1
Source: inference.core.workflows.core_steps.sinks.local_file.v1.LocalFileSinkBlockV1
The Local File Sink block saves workflow data as files on a local file system. It allows users to configure how the data is stored, either:
-
aggregating multiple entries into a single file
-
or saving each entry as a separate file.
This block is useful for logging, data export, or preparing files for subsequent processing.
File Content, File Type and Output Mode¶
content is expected to be the output from another block producing string values of specific types
denoted by file_type.
output_mode set into append_log will make the block appending single file with consecutive entries
passed to content input up to max_entries_per_file. In this mode it is important that
file_type in append_log mode
Contrary to separate_files output mode, append_log mode may introduce subtle changes into
the structure of the content to properly append it into existing file, hence setting proper
file_type is crucial:
-
file_type=json: inappend_logmode, the block will create*.jsonlfile in JSON Lines format - for that to be possible, each JSON document will be parsed and dumped to ensure that it will fit into single line. -
file_type=csv: inappend_logmode, the block will deduct the first line from the content (making it required for CSV content to always be shipped with header row) of consecutive updates into the content of already created file.
Security considerations
The block has an ability to write to the file system. If you find this unintended in your system,
you can disable the block setting environmental variable ALLOW_WORKFLOW_BLOCKS_ACCESSING_LOCAL_STORAGE=False
in the environment which host Workflows Execution Engine.
If you want to restrict the directory which may be used to write data - set
environmental variable WORKFLOW_BLOCKS_WRITE_DIRECTORY to the absolute path of directory which you
allow to be used.
Type identifier¶
Use the following identifier in step "type" field: roboflow_core/local_file_sink@v1to add the block as
as step in your workflow.
Properties¶
| Name | Type | Description | Refs |
|---|---|---|---|
name |
str |
Enter a unique identifier for this step.. | ❌ |
file_type |
str |
Type of the file. | ❌ |
output_mode |
str |
Decides how to organise the content of the file. | ❌ |
target_directory |
str |
Target directory. | ✅ |
file_name_prefix |
str |
File name prefix. | ✅ |
max_entries_per_file |
int |
Defines how many datapoints can be appended to a single file. | ✅ |
The Refs column marks possibility to parametrise the property with dynamic values available
in workflow runtime. See Bindings for more info.
Available Connections¶
Compatible Blocks
Check what blocks you can connect to Local File Sink in version v1.
- inputs:
Google Gemini,Model Monitoring Inference Aggregator,Llama 3.2 Vision,Roboflow Dataset Upload,Multi-Label Classification Model,Twilio SMS Notification,Instance Segmentation Model,VLM as Classifier,CSV Formatter,Roboflow Custom Metadata,OpenAI,Webhook Sink,LMM,OpenAI,Florence-2 Model,Stitch OCR Detections,Single-Label Classification Model,CogVLM,Clip Comparison,Google Gemini,Florence-2 Model,LMM For Classification,Object Detection Model,OCR Model,Email Notification,Anthropic Claude,Google Vision OCR,OpenAI,Local File Sink,EasyOCR,Email Notification,VLM as Detector,Anthropic Claude,Roboflow Dataset Upload,Slack Notification,Keypoint Detection Model,OpenAI - outputs:
Llama 3.2 Vision,SAM 3,Polygon Zone Visualization,Pixelate Visualization,Distance Measurement,Trace Visualization,Roboflow Custom Metadata,Image Threshold,Icon Visualization,Stability AI Outpainting,Dynamic Zone,Model Comparison Visualization,Single-Label Classification Model,Cache Get,Size Measurement,Florence-2 Model,Single-Label Classification Model,SAM 3,SIFT Comparison,Moondream2,Florence-2 Model,LMM For Classification,Anthropic Claude,Image Blur,Stability AI Image Generation,Local File Sink,Keypoint Detection Model,Gaze Detection,Background Color Visualization,Keypoint Detection Model,Multi-Label Classification Model,Google Gemini,Model Monitoring Inference Aggregator,Roboflow Dataset Upload,Instance Segmentation Model,Motion Detection,Morphological Transformation,OpenAI,YOLO-World Model,Clip Comparison,CogVLM,Path Deviation,CLIP Embedding Model,Crop Visualization,SAM 3,Anthropic Claude,Time in Zone,OpenAI,Line Counter,Detections Consensus,Path Deviation,Blur Visualization,Perception Encoder Embedding Model,Perspective Correction,Bounding Box Visualization,QR Code Generator,Segment Anything 2 Model,Polygon Visualization,Dynamic Crop,LMM,OpenAI,Classification Label Visualization,Mask Visualization,Time in Zone,Google Gemini,Circle Visualization,Time in Zone,Ellipse Visualization,Object Detection Model,Image Preprocessing,Color Visualization,Google Vision OCR,Keypoint Visualization,Email Notification,Line Counter,Roboflow Dataset Upload,Triangle Visualization,Slack Notification,Object Detection Model,Halo Visualization,Corner Visualization,Dot Visualization,Multi-Label Classification Model,Twilio SMS Notification,Seg Preview,Reference Path Visualization,Webhook Sink,PTZ Tracking (ONVIF).md),Detections Classes Replacement,Instance Segmentation Model,Detections Stitch,Contrast Equalization,Stitch OCR Detections,Stability AI Inpainting,Line Counter Visualization,Cache Set,Template Matching,Email Notification,OpenAI,Label Visualization,Pixel Color Count
Input and Output Bindings¶
The available connections depend on its binding kinds. Check what binding kinds
Local File Sink in version v1 has.
Bindings
-
input
-
output
Example JSON definition of step Local File Sink in version v1
{
"name": "<your_step_name_here>",
"type": "roboflow_core/local_file_sink@v1",
"content": "$steps.csv_formatter.csv_content",
"file_type": "csv",
"output_mode": "append_log",
"target_directory": "some/location",
"file_name_prefix": "my_file",
"max_entries_per_file": 1024
}