Skip to main content

CLI tool to send and receive event data from Azure Event Hubs

Project description

eventhubs

PyPI Changelog Tests License

CLI tool to send and receive event data from Azure Event Hubs

Installation

Install this tool using pip:

pip install eventhubs

Usage

Receiving

For receiving data to an event hub, run:

eh eventdata receive

Sending

For sending a single event to an event hub, run:

eh eventdata send-event --text '{"message": "Hello Spank"}'

You can also send multiple events in a batch by using the send-batch command with --text multiple times:

eh eventdata send-batch --text '{"message": "Hello Spank"}' --text '{"message": "Hello Spank (yes, again)"}'

For sending the lines in a text files as event, run:

eh eventdata send-batch --lines-from-text-file multiline.txt

For sending the lines from stdin as event, run:

cat multiline.txt | eh eventdata send-batch  

Configuration

You can set up the connection string and event hub name using the command line options:

eh eventdata receive --connection-string "Endpoint=.." --name "application-insights"

or the environment variables (or a mix of both):

export EVENTHUB_CONNECTION_STRING="Endpoint=sb://...="
export EVENTHUB_NAME="application-insights"

eh eventdata receive

eh eventdata receive --name "another-name"

Defaults to printing the message payload only, so it is easier to combine output with other tools, like jq:

$ eh eventdata receive | jq '.records[].tenantId' 
"1de2b364-21e1-4866-bb46-7804f17c417d"
"1de2b364-21e1-4866-bb46-7804f17c417d"
"1de2b364-21e1-4866-bb46-7804f17c417d"

But you can still turn on verbose and get more information about what's going on:

$ eh --verbose eventdata receive
Receiving events from mbranca
Received event from partition 0: {"records": [{....

For help, run:

eventhubs --help

You can also use:

python -m eventhubs --help

Development

To contribute to this tool, first checkout the code. Then create a new virtual environment:

cd eventhubs
python -m venv venv
source venv/bin/activate

Now install the dependencies and test dependencies:

pip install -e '.[test]'

To run the tests:

pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eventhubs-0.3.0.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

eventhubs-0.3.0-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file eventhubs-0.3.0.tar.gz.

File metadata

  • Download URL: eventhubs-0.3.0.tar.gz
  • Upload date:
  • Size: 8.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.11.9

File hashes

Hashes for eventhubs-0.3.0.tar.gz
Algorithm Hash digest
SHA256 d788f665fd56fea9dd77294256d610f92bc679043ca41b96dfab30851de010f6
MD5 63216bc0c8a536f0a1c5d24668cbf3bd
BLAKE2b-256 662ec8034929f79ca57c5b1f8ad3d02722dc098dc3d9a7fe1ebd9b21924f44ec

See more details on using hashes here.

File details

Details for the file eventhubs-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: eventhubs-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 8.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.11.9

File hashes

Hashes for eventhubs-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 658c9aad3f06b7b180e8a56d357462336706c1b49fe1ee7ad31deffd2030cf21
MD5 82821013ed1b2afecc512c3c80ff84d6
BLAKE2b-256 8045ba6a171150bf09fe94cbba724987909f2bd457fe8c015648e0a29005981c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page