Writes events to Amazon S3 as batched objects.

S3🔗

Writes events to Amazon S3 as batched objects.

Configuration🔗

FieldTypeRequiredDefaultDescription
inputs[string]yesUpstream component names that feed events into this sink.
error_policyErrorPolicynodrop_on_errorPolicy for handling errors during event processing.
encodingEncoderConfigEnum (optional)noOptional encoder configuration for output events.
bufferBufferConfignoBuffer configuration for event batching.
authAwsConfig (optional)noAWS authentication and region settings.
  regionstring (optional)noAWS region to operate in.
  endpointstring (optional)noCustom AWS endpoint URL (for LocalStack, MinIO, etc.).
  access_key_idstring (optional)noAWS access key ID for static credentials.
  secret_access_keystring (optional)noAWS secret access key for static credentials. (sensitive)
  session_tokenstring (optional)noAWS session token for temporary credentials. (sensitive)
  assume_rolestring (optional)noIAM role ARN to assume.
  session_namestring (optional)noSession name when assuming a role.
  external_idstring (optional)noExternal ID for cross-account role assumption.
  profilestring (optional)noAWS profile name from shared credentials file.
  credentials_filestring (optional)noPath to an AWS credentials file.
  imdsImdsConfig (optional)noInstance Metadata Service (IMDS) configuration.
    connect_timeout_secondsunsigned integer (optional)no1Timeout in seconds for IMDS connection.
    max_attemptsunsigned integer (optional)no3Maximum number of IMDS retry attempts.
    read_timeout_secondsunsigned integer (optional)no1Timeout in seconds for IMDS read operations.
  load_timeout_secsunsigned integer (optional)no10Timeout in seconds for loading AWS credentials.
bucketstringyesS3 bucket name.
key_prefixstringyesKey prefix for S3 objects.
compressionstring (optional)noCompression algorithm for S3 objects.
encodingstring (optional)noEncoding format for the S3 object (e.g. 'json' or 'parquet').
batchBatchConfignoBatching configuration for S3 writes.
  max_sizeunsigned integer (optional)noMaximum number of events in a batch before flushing.
  timeout_secsunsigned integer (optional)noMaximum time in seconds before flushing a batch.

Telemetry🔗

This component emits the following standard telemetry metrics and events.

Metrics🔗

NameTypeDescription
component_sent_events_totalCounterTotal number of Kinetic events successfully sent by this sink.
component_sent_event_bytes_totalCounterTotal estimated byte size of events sent.
component_sent_network_bytes_totalCounterTotal number of raw network bytes sent.
component_errors_totalCounterTotal number of errors encountered during processing.

Events🔗

NameDescription
ComponentErrorEmitted when an error occurs during component execution.
ComponentEventsDroppedEmitted when events are intentionally or unintentionally dropped.

Example🔗

sinks:
  my_s3:
    type: s3
    inputs: ["my_transform"]
    auth:
      region: us-west-2
      endpoint: http://localhost:4566
      access_key_id: AKIAIOSFODNN7EXAMPLE
      secret_access_key: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
      assume_role: arn:aws:iam::123456789012:role/kinetic-ingest
      session_name: kinetic-session
      profile: default
      credentials_file: /home/kinetic/.aws/credentials
      imds:
        connect_timeout_seconds: 5
        max_attempts: 5
        read_timeout_seconds: 5
    bucket: my-data-lake
    key_prefix: logs/kinetic/
    compression: gzip
    encoding: parquet
    batch:
      max_size: 1000
      timeout_secs: 30