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
@@ -79,7 +88,11 @@ If the `+"`storage_connection_string`"+` does not contain the `+"`AccountName`"+
79
88
80
89
## Downloading Large Files
81
90
82
-
When downloading large files it's often necessary to process it in streamed parts in order to avoid loading the entire file in memory at a given time. In order to do this a `+"[`codec`](#codec)"+` can be specified that determines how to break the input into smaller individual messages.
91
+
When downloading large files it's often necessary to process it in streamed parts in order to avoid loading the entire file in memory at a given time. In order to do this a `+"[`scanner`](#scanner)"+` can be specified that determines how to break the input into smaller individual messages.
92
+
93
+
## Streaming New Files
94
+
95
+
By default this input will consume all files found within the target container and will then gracefully terminate. This is referred to as a "batch" mode of operation. However, it's possible to instead configure a container as [an Event Grid source](https://learn.microsoft.com/en-gb/azure/event-grid/event-schema-blob-storage) and then use this as a `+"[`targets_input`](#targetsinput)"+`, in which case new files are consumed as they're uploaded and Benthos will continue listening for and downloading files as they arrive. This is referred to as a "streamed" mode of operation.
83
96
84
97
## Metadata
85
98
@@ -109,6 +122,34 @@ You can access these metadata fields using [function interpolation](/docs/config
109
122
Description("Whether to delete downloaded objects from the blob once they are processed.").
110
123
Advanced().
111
124
Default(false),
125
+
service.NewInputField(bsiFieldTargetsInput).
126
+
Description("EXPERIMENTAL: An optional source of download targets, configured as a [regular Benthos input](/docs/components/inputs/about). Each message yielded by this input should be a single structured object containing a field `name`, which represents the blob to be downloaded.").
Copy file name to clipboardexpand all lines: website/docs/components/inputs/azure_blob_storage.md
+35-1
Original file line number
Diff line number
Diff line change
@@ -43,6 +43,7 @@ input:
43
43
prefix: ""
44
44
scanner:
45
45
to_the_end: {}
46
+
targets_input: null # No default (optional)
46
47
```
47
48
48
49
</TabItem>
@@ -62,6 +63,7 @@ input:
62
63
scanner:
63
64
to_the_end: {}
64
65
delete_objects: false
66
+
targets_input: null # No default (optional)
65
67
```
66
68
67
69
</TabItem>
@@ -80,7 +82,11 @@ If the `storage_connection_string` does not contain the `AccountName` parameter,
80
82
81
83
## Downloading Large Files
82
84
83
-
When downloading large files it's often necessary to process it in streamed parts in order to avoid loading the entire file in memory at a given time. In order to do this a [`codec`](#codec) can be specified that determines how to break the input into smaller individual messages.
85
+
When downloading large files it's often necessary to process it in streamed parts in order to avoid loading the entire file in memory at a given time. In order to do this a [`scanner`](#scanner) can be specified that determines how to break the input into smaller individual messages.
86
+
87
+
## Streaming New Files
88
+
89
+
By default this input will consume all files found within the target container and will then gracefully terminate. This is referred to as a "batch" mode of operation. However, it's possible to instead configure a container as [an Event Grid source](https://learn.microsoft.com/en-gb/azure/event-grid/event-schema-blob-storage) and then use this as a [`targets_input`](#targetsinput), in which case new files are consumed as they're uploaded and Benthos will continue listening for and downloading files as they arrive. This is referred to as a "streamed" mode of operation.
84
90
85
91
## Metadata
86
92
@@ -164,4 +170,32 @@ Whether to delete downloaded objects from the blob once they are processed.
164
170
Type: `bool`
165
171
Default: `false`
166
172
173
+
### `targets_input`
174
+
175
+
EXPERIMENTAL: An optional source of download targets, configured as a [regular Benthos input](/docs/components/inputs/about). Each message yielded by this input should be a single structured object containing a field `name`, which represents the blob to be downloaded.
0 commit comments