pusher

Output for publishing messages to Pusher API (https://pusher.com)

Introduced in version 4.3.0.

  • Common

  • Advanced

# Common config fields, showing default values
output:
  label: ""
  pusher:
    batching:
      count: 0
      byte_size: 0
      period: ""
      check: ""
    channel: my_channel # No default (required)
    event: "" # No default (required)
    appId: "" # No default (required)
    key: "" # No default (required)
    secret: "" # No default (required)
    cluster: "" # No default (required)
    secure: true
    max_in_flight: 1
# All config fields, showing default values
output:
  label: ""
  pusher:
    batching:
      count: 0
      byte_size: 0
      period: ""
      check: ""
      processors: [] # No default (optional)
    channel: my_channel # No default (required)
    event: "" # No default (required)
    appId: "" # No default (required)
    key: "" # No default (required)
    secret: "" # No default (required)
    cluster: "" # No default (required)
    secure: true
    max_in_flight: 1

Fields

batching

maximum batch size is 10 (limit of the pusher library)

Type: object

# Examples

batching:
  byte_size: 5000
  count: 0
  period: 1s

batching:
  count: 10
  period: 1s

batching:
  check: this.contains("END BATCH")
  count: 0
  period: 1m

batching.count

A number of messages at which the batch should be flushed. If 0 disables count based batching.

Type: int

Default: 0

batching.byte_size

An amount of bytes at which the batch should be flushed. If 0 disables size based batching.

Type: int

Default: 0

batching.period

A period in which an incomplete batch should be flushed regardless of its size.

Type: string

Default: ""

# Examples

period: 1s

period: 1m

period: 500ms

batching.check

A Bloblang query that should return a boolean value indicating whether a message should end a batch.

Type: string

Default: ""

# Examples

check: this.type == "end_of_transaction"

batching.processors

A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.

Type: array

# Examples

processors:
  - archive:
      format: concatenate

processors:
  - archive:
      format: lines

processors:
  - archive:
      format: json_array

channel

Pusher channel to publish to. Interpolation functions can also be used This field supports interpolation functions.

Type: string

# Examples

channel: my_channel

channel: ${!json("id")}

event

Event to publish to

Type: string

appId

Pusher app id

Type: string

key

Pusher key

Type: string

secret

Pusher secret

Type: string

cluster

Pusher cluster

Type: string

secure

Enable SSL encryption

Type: bool

Default: true

max_in_flight

The maximum number of parallel message batches to have in flight at any given time.

Type: int

Default: 1