Skip to main content

A tool to load bulk simulation data into AWS IoT Analytics

Project description

A tool to load bulk simulation data into AWS IoT Analytics for experimenting with the capabilities of AWS IoT Analytics. This tool is intended to load simulation data that can then be utilized to explore the capabilities of Datasets, integration with Amazon QuickSight, etc.

Installation:

  • Make sure you have a working Python environment
  • pip install onica-iotloader to get the latest version installed

Template

A user-provided template is invoked to create each sample message. Arbitrary Python code can be used to generate each message via this template, enabling a rich set of simulated values. The template file must set a local variable named message to the value of a single simulated message, each time it is invoked. See template.py in this repository as an example of a static, but very large (~ 127kb) message template.

Usage

onica-iotloader [--concurrency=<n>] <channel> <template> <count>

A concurrency value of 1000 seems to be ideal to maximize the ingest rate of AWS IoT Analytics from a single source (achieving approximately 3200 msgs/sec, or 400 mb/sec on an m5.24xlarge). The <channel> must be an existing AWS IoT Analytics channel, <template> is the template Pyton script described above, and <count> is the number of messages (within a margin of error) to transmit. For reference, a count of 900000 results in just over 100GB of ingest using the default template.py included herein.

To load about 100GB in 4 minutes, run the following command using the template.py included in this repository (tested on m5.24xlarge):

onica-iotloader --concurrency=1000 <channel> template.py 900000

Replace <channel> with the name of an AWS IoT Analytics Channel configured in your account.

AWS Credentials & Region

The default boto3 AWS credential & region resolution (env vars, EC2 metadata, config file, etc) is utilized.

Feedback

Contact us at opensource at onica.com, or via Github issues, with feedback!

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

onica_iotloader-0.1.2.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

onica_iotloader-0.1.2-py2.py3-none-any.whl (8.9 kB view details)

Uploaded Python 2Python 3

File details

Details for the file onica_iotloader-0.1.2.tar.gz.

File metadata

  • Download URL: onica_iotloader-0.1.2.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.27.0 CPython/2.7.10

File hashes

Hashes for onica_iotloader-0.1.2.tar.gz
Algorithm Hash digest
SHA256 786ca40e3ff65134101b96f3081d6a8eae2ba296d702354bea5606b104c23e50
MD5 bf50add4e9c1474bfc6a5edc0af15b6e
BLAKE2b-256 7f245295c98082ff504a81dabd67887edf5209d770258f989ce78e96e01136a1

See more details on using hashes here.

File details

Details for the file onica_iotloader-0.1.2-py2.py3-none-any.whl.

File metadata

  • Download URL: onica_iotloader-0.1.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 8.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.27.0 CPython/2.7.10

File hashes

Hashes for onica_iotloader-0.1.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 1a861348b4db9d3aa4f204081436ce3b3f8df715f3d7677dd89840e1095271fd
MD5 e212204efdb57e874fcbb77ce68a1da4
BLAKE2b-256 c1ff8f81fafd07a10bfae41eb56ac3ee8dd913437e82c23f4f6f3877ea4769de

See more details on using hashes here.

Supported by

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