dapr / dapr/cli

[Proposal] dapr subscribe command

Open
#1,127 4 comments 2 reactions 0 assignees View on GitHub
discussion kind/proposal pinned
Dominant language
Go
Stars
353
Forks
221
Avg merge
3d 8h
Merged PRs (30d)
2

Description

## Describe the proposal

This proposal is to add a `dapr subscribe` command, a counterpart for the existing `dapr publish` command. This will be useful in development scenarios which allows users to subscribe to a pubsub/topic/route, and print the data on STDOUT.

Example usage:

```bash
# Subscribe to sample topic in target pubsub via subscriber app without cloud event
dapr subscribe --subscribe-app-id myapp --pubsub target --topic sample --metadata '{"rawPayload":"true"}'

# Subscribe to sample topic in target pubsub via subscriber app with custom routes
dapr subscribe --subscribe-app-id myapp --pubsub target --topic sample --routes '{"rules": [{"match": "event.type == \'widget\'", "path": "/widgets"}], "default": "/products"}'
```

Proposed flags:

|Short|Long|Type|Usage|
|--|--|--|--|
| -m| --metadata| string | The JSON serialized publish metadata (optional) |
| -a| --subscribe-app-id| string| The ID of the subscriber app |
|-p| --pubsub |string | The name of the pub/sub component|
|-t| --topic| string | The topic to be published to|
-r| --routes|string| The JSON serialized routing configuration (optional) |
|-u| --unix-domain-socket| string| Path to a unix domain socket dir. If specified, Dapr API servers will use Unix Domain Sockets (optional)|
|-o| --output| string | Different levels of output - data (default), time, metadata, all (optional) |
| |--response| string | Response from the app - success (default), retry, drop (optional) |

Future scope can also include a `--filter` option to selectively show data.

## Release Note

RELEASE NOTE: **ADD** Support for dapr subscribe

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.