rabbitmq-server/deps/rabbitmq_shovel_management
Luke Bakken dba25f6462
Replace files with symlinks
This prevents duplicated and out-of-date instructions.
2022-04-15 06:04:29 -07:00
..
priv/www/js Refactoring get_shovel_data function, as well as fixing indentation 2022-03-09 21:49:10 +05:00
src Bump (c) year 2022-03-21 01:21:56 +04:00
test Bump (c) year 2022-03-21 01:21:56 +04:00
.gitignore Git: Ignore copied CLI 2019-12-12 15:07:35 +01:00
.travis.yml Travis CI: Update config from rabbitmq-common 2020-03-04 14:24:32 +01:00
BUILD.bazel Bring over PROJECT_APP_EXTRA_KEYS values from make to bazel 2022-04-07 17:39:33 +02: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 Update LICENSE 2020-07-20 12:20:41 +01:00
LICENSE-MPL-RabbitMQ Revert drop of Exhibit B on MPL 2.0 2020-07-20 17:04:04 +01:00
Makefile Remove duplicate rabbitmq-components.mk and erlang.mk files 2021-03-22 15:40:19 +01:00
README.md Update copyright (year 2020) 2020-03-10 16:51:21 +01: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-2020 VMware, Inc. or its affiliates.