Writes events to Amazon S3 as batched objects.

S3🔗

Writes events to Amazon S3 as batched objects.

Configuration🔗

FieldTypeRequiredDefaultDescription
inputs[string]yes—Upstream component names that feed events into this sink.
error_policyErrorPolicynodrop_on_errorPolicy for handling errors during event processing.
encodingEncoderConfigEnum (optional)no—Optional encoder configuration for output events.
bufferBufferConfigno—Buffer configuration for event batching.
authAwsConfig (optional)no—AWS authentication and region settings.
  regionstring (optional)no—AWS region to operate in.
  endpointstring (optional)no—Custom AWS endpoint URL (for LocalStack, MinIO, etc.).
  access_key_idstring (optional)no—AWS access key ID for static credentials.
  secret_access_keystring (optional)no—AWS secret access key for static credentials. (sensitive)
  session_tokenstring (optional)no—AWS session token for temporary credentials. (sensitive)
  assume_rolestring (optional)no—IAM role ARN to assume.
  session_namestring (optional)no—Session name when assuming a role.
  external_idstring (optional)no—External ID for cross-account role assumption.
  profilestring (optional)no—AWS profile name from shared credentials file.
  credentials_filestring (optional)no—Path to an AWS credentials file.
  imdsImdsConfig (optional)no—Instance 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.
bucketstringyes—S3 bucket name.
key_prefixstringyes—Key prefix for S3 objects.
compressionstring (optional)no—Compression algorithm for S3 objects.
encodingstring (optional)no—Encoding format for the S3 object (e.g. 'json' or 'parquet').
batchBatchConfigno—Batching configuration for S3 writes.
  max_sizeunsigned integer (optional)no—Maximum number of events in a batch before flushing.
  timeout_secsunsigned integer (optional)no—Maximum 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