Skip to main content

A cli to upload and retrieve data to/from S3 object storage and processing data running actions on it.

Project description

Docker Image CI pre-commit CI Linux GitHub tag GitHub issues

s3-pull-processor

This project is a POC, proof of concept for client to upload pipeline artifacts to an object storage as S3 and able to consume the artifacts efficiently. The consumer is scalable, containerized and ready to run in k8s/Openshift

The diagram below represents a high-level workflow, the boxes uploader CLI and processor are the components here being implemented.

The infra needed to run this POC is basically AWS S3 and AWS SQS.

See developer guide for instructions to run or to contribute

diagram

demo

The items 1 to 5 below, show an e2e execution from uploader to processor or consumer.

  1. SQS and S3 are empty, no messages and no files

    sqs_empty s3_empty

  2. simulating a HOST A where the artifact exist and need to be uploaded to S3, also a message is sent to SQS. For this step the code test_host_producer was executed:

    host_A

  3. check there are messages in SQS and files in S3

    sqs_full s3_full

  4. simulating a HOST B where it consumes messages from SQS and for each message download the artifact from S3, run an action on this case it run import_to_ibutsu action then delete the file from S3 and finally delete the message from SQS. For this step the code test_host_consumer was executed

    host_B

Also see scenarios in developer guide.

links

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

s3-pull-processor-0.2.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

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

s3_pull_processor-0.2-py3-none-any.whl (23.7 kB view details)

Uploaded Python 3

File details

Details for the file s3-pull-processor-0.2.tar.gz.

File metadata

  • Download URL: s3-pull-processor-0.2.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for s3-pull-processor-0.2.tar.gz
Algorithm Hash digest
SHA256 e14c48423f225898b9a1534735ecb62c433ffef25308cc71ddb581878d0448b9
MD5 7056ea9b42574535a5d6007a4c885380
BLAKE2b-256 2d3d615dac1cd1b2e247bb6b925e392afe1e4f95645d5f93572d8b71286b3fb1

See more details on using hashes here.

File details

Details for the file s3_pull_processor-0.2-py3-none-any.whl.

File metadata

  • Download URL: s3_pull_processor-0.2-py3-none-any.whl
  • Upload date:
  • Size: 23.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for s3_pull_processor-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7efe4bf6d19f684e9d6e1c3f8fcb8b03080307f6f178829d0340d98ce7c9f248
MD5 c1dbfd8e432617c0ab45bb2e29b27f37
BLAKE2b-256 3f04436dd447d1903d9f9a4e3abc8e80aaef1a2fa8113f485a91d6819c1d519e

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