= zmq4
:type: input
:status: stable
:categories: ["Network"]



////
     THIS FILE IS AUTOGENERATED!

     To make changes, edit the corresponding source file under:

     https://github.com/redpanda-data/connect/tree/main/internal/impl/<provider>.

     And:

     https://github.com/redpanda-data/connect/tree/main/cmd/tools/docs_gen/templates/plugin.adoc.tmpl
////

// © 2024 Redpanda Data Inc.


component_type_dropdown::[]


Consumes messages from a ZeroMQ socket.


[tabs]
======
Common::
+
--

```yml
# Common config fields, showing default values
input:
  label: ""
  zmq4:
    urls: [] # No default (required)
    bind: false
    socket_type: "" # No default (required)
    sub_filters: []
```

--
Advanced::
+
--

```yml
# All config fields, showing default values
input:
  label: ""
  zmq4:
    urls: [] # No default (required)
    bind: false
    socket_type: "" # No default (required)
    sub_filters: []
    high_water_mark: 0
    poll_timeout: 5s
```

--
======

By default Benthos does not build with components that require linking to external libraries. If you wish to build Benthos locally with this component then set the build tag `x_benthos_extra`:

```bash
# With go
go install -tags "x_benthos_extra" github.com/redpanda-data/benthos/v4/cmd/benthos@latest

# Using make
make TAGS=x_benthos_extra
```

There is a specific docker tag postfix `-cgo` for C builds containing this component.

== Fields

=== `urls`

A list of URLs to connect to. If an item of the list contains commas it will be expanded into multiple URLs.


*Type*: `array`


```yml
# Examples

urls:
  - tcp://localhost:5555
```

=== `bind`

Whether to bind to the specified URLs (otherwise they are connected to).


*Type*: `bool`

*Default*: `false`

=== `socket_type`

The socket type to connect as.


*Type*: `string`


Options:
`PULL`
, `SUB`
.

=== `sub_filters`

A list of subscription topic filters to use when consuming from a SUB socket. Specifying a single sub_filter of `''` will subscribe to everything.


*Type*: `array`

*Default*: `[]`

=== `high_water_mark`

The message high water mark to use.


*Type*: `int`

*Default*: `0`

=== `poll_timeout`

The poll timeout to use.


*Type*: `string`

*Default*: `"5s"`


