Module mz_storage::source::s3

source ·
Expand description

Functionality for creating S3 sources

This source is constructed as a collection of Tokio tasks that communicate over local (worker-pinned) queues to send data into dataflow. We spin up a single “downloader” task which is responsible for performing s3 object downloads and shuffling the data into dataflow. The downloader will currently download the entirety of each file and emit a degenerate ByteStream into the dataflow containing a single chunk. This will have to be improved before we release S3 sources to production. Then, for each object source, we spin up another task which is responsible for collecting object names from an object name source and sending that name to the downloader.

+----------------+
| bucket scanner +-                               -------
+----------------+ \---                         -/       \-
+----------------+     \--   +------------+    /           \
| sqs listener   +--------X->| downloader +--->| dataflow  |
+----------------+     /--   +------------+    \           /
       .  .  .  .   /--                         -\       /-
      etc .  .  . --                              -------
       .  .  .  .

Modules

metrics 🔒
Implementation of deserialization of AWS S3 Bucket notifications

Structs

BucketInfo 🔒
KeyInfo 🔒
S3Offset 🔒
Number of records This source has downloaded
Information required to load data from S3

Enums

Current dataflow status
S3Error 🔒

Constants

BRANCHES 🔒
BRANCHES 🔒

Statics

CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒

Functions

Find the unambiguous prefix of a glob
Send the relevant parts of the message to the download objects task
Set the SQS visibility timeout back to zero, allowing the messages to be sent to other clients

Type Definitions

S3Result 🔒

Opaque Types

 🔒
 🔒
 🔒
 🔒
 🔒
 🔒
 🔒