rabbitmq-server/deps/rabbitmq_shovel_management
Iliia Khaprov f13f99303a
Management part for internal shovels. Experimenting with owner linking
2025-06-15 18:46:42 +02:00
..
priv/www/js Management part for internal shovels. Experimenting with owner linking 2025-06-15 18:46:42 +02:00
src Management part for internal shovels. Experimenting with owner linking 2025-06-15 18:46:42 +02:00
test Bump (c) line year 2025-01-01 17:54:10 -05:00
CODE_OF_CONDUCT.md Replace files with symlinks 2022-04-15 06:04:29 -07:00
CONTRIBUTING.md Replace files with symlinks 2022-04-15 06:04:29 -07:00
LICENSE Replace @rabbitmq.com addresses with rabbitmq-core@groups.vmware.com 2023-06-20 15:40:13 +04:00
LICENSE-MPL-RabbitMQ Revert drop of Exhibit B on MPL 2.0 2020-07-20 17:04:04 +01:00
Makefile Support AMQP 1.0 natively 2024-02-28 14:15:20 +01:00
README.md More missed license header updates #9969 2024-02-05 12:26:25 -05:00

README.md

RabbitMQ Shovel Management Plugin

Adds information on shovel status to the management plugin. Build it like any other plugin.

If you have a heterogenous cluster (where the nodes have different plugins installed), this should be installed on the same nodes as the management plugin.

Installing

This plugin ships with RabbitMQ. Like all plugins, it must be enabled before it can be used:

rabbitmq-plugins enable rabbitmq_shovel_management

Usage

When the plugin is enabled, there will be a Shovel management link under the Admin tab.

HTTP API

The HTTP API adds endpoints for listing, creating, and deleting shovels.

GET /api/shovels[/{vhost}]

Lists all shovels, optionally filtering by Virtual Host.

Example

curl -u guest:guest -v http://localhost:15672/api/shovels/%2f

PUT /api/parameters/shovel/{vhost}/{name}

Creates a shovel, passing in the configuration as JSON in the request body.

Example

Create a file called shovel.json similar to the following, replacing the parameter values as desired:

{
  "component": "shovel",
  "name": "my-shovel",
  "value": {
    "ack-mode": "on-publish",
    "add-forward-headers": false,
    "delete-after": "never",
    "dest-exchange": null,
    "dest-queue": "dest",
    "dest-uri": "amqp://",
    "prefetch-count": 250,
    "reconnect-delay": 30,
    "src-queue": "source",
    "src-uri": "amqp://"
  },
  "vhost": "/"
}

Once created, post the file to the HTTP API:

curl -u guest:guest -v -X PUT -H 'Content-Type: application/json' -d @./shovel.json \
  http://localhost:15672/api/parameters/shovel/%2F/my-shovel

Note Either dest_queue OR dest_exchange can be specified in the value stanza of the JSON, but not both.

GET /api/parameters/shovel/{vhost}/{name}

Shows the configurtion parameters for a shovel.

Example

curl -u guest:guest -v http://localhost:15672/api/parameters/shovel/%2F/my-shovel

DELETE /api/parameters/shovel/{vhost}/{name}

Deletes a shovel.

Example

curl -u guest:guest -v -X DELETE http://localhost:15672/api/parameters/shovel/%2F/my-shovel

Released under the same license as RabbitMQ.

2007-2018 (c) 2007-2024 Broadcom. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. All rights reserved.