S3

Reference

sourcepekko.connectors.s3 {
  buffer = ${?PEKKO_CONNECTORS_S3_BUFFER}
  disk-buffer-path = ${?PEKKO_CONNECTORS_S3_DISK_BUFFER_PATH}

  forward-proxy {
    scheme = ${?PEKKO_CONNECTORS_S3_FORWARD_PROXY_SCHEME}
    host = ${?PEKKO_CONNECTORS_S3_FORWARD_PROXY_HOST}
    port = ${?PEKKO_CONNECTORS_S3_FORWARD_PROXY_PORT}

    credentials {
      username = ${?PEKKO_CONNECTORS_S3_FORWARD_PROXY_CREDENTIALS_USERNAME}
      password = ${?PEKKO_CONNECTORS_S3_FORWARD_PROXY_CREDENTIALS_PASSWORD}
    }
  }

  aws {
    credentials {
      access-key-id = ${?PEKKO_CONNECTORS_S3_AWS_CREDENTIALS_ACCESS_KEY_ID}
      secret-access-key = ${?PEKKO_CONNECTORS_S3_AWS_CREDENTIALS_SECRET_ACCESS_KEY}
      token = ${?PEKKO_CONNECTORS_S3_AWS_CREDENTIALS_TOKEN}
      provider = ${?PEKKO_CONNECTORS_S3_AWS_CREDENTIALS_PROVIDER}
    }

    region {
      default-region = ${?PEKKO_CONNECTORS_S3_REGION_DEFAULT_REGION}
      provider = ${?PEKKO_CONNECTORS_S3_REGION_PROVIDER}
    }
  }

  path-style-access = ${?PEKKO_CONNECTORS_S3_PATH_STYLE_ACCESS}
  access-style = ${?PEKKO_CONNECTORS_S3_ACCESS_STYLE}
  endpoint-url = ${?PEKKO_CONNECTORS_S3_ENDPOINT_URL}
  list-bucket-api-version = ${?PEKKO_CONNECTORS_S3_LIST_BUCKET_API_VERSION}
  validate-object-key = ${?PEKKO_CONNECTORS_S3_VALIDATE_OBJECT_KEY}

  retry-settings {
    max-retries = ${?PEKKO_CONNECTORS_S3_RETRY_SETTINGS_MAX_RETRIES}
    min-backoff = ${?PEKKO_CONNECTORS_S3_RETRY_SETTINGS_MIN_BACKOFF}
    max-backoff = ${?PEKKO_CONNECTORS_S3_RETRY_SETTINGS_MAX_BACKOFF}
    random-factor = ${?PEKKO_CONNECTORS_S3_RETRY_SETTINGS_RANDOM_FACTOR}
  }
}

s3-headers = {
    canned-acl = ${?S3_HEADERS_CANNED_ACL}
    storage-class = ${?S3_HEADERS_STORAGE_CLASS}
    server-side-encryption = ${?S3_HEADERS_SERVER_SIDE_ENCRYPTION}
}

s3-config = {
    data-bucket = ${?S3_CONFIG_DATA_BUCKET}
    data-bucket-prefix = ${?S3_CONFIG_DATA_BUCKET_PREFIX}
    error-restart-settings = {
        min-backoff = 5 millis
        min-backoff = ${?S3_CONFIG_ERROR_RESTART_SETTINGS_MIN_BACKOFF}
        max-backoff = 10 seconds
        max-backoff = ${?S3_CONFIG_ERROR_RESTART_SETTINGS_MAX_BACKOFF}
        random-factor = 0.2
        random-factor = ${?S3_CONFIG_ERROR_RESTART_SETTINGS_RANDOM_FACTOR}
        max-restarts = ${?S3_CONFIG_ERROR_RESTART_SETTINGS_MAX_RESTARTS}
        max-restarts-within = ${?S3_CONFIG_ERROR_RESTART_SETTINGS_MAX_RESTARTS_WITHIN}
    }
}

Scala API doc S3

Explanation

  • s3-headers: See documentation
  • pekko.connectors.s3: See documentation
  • s3-config: Core S3 configuration
    • data-bucket: The main S3 bucket where data is backed up and where to restore data from
    • data-bucket-prefix: S3 prefix configuration to be used when searching for the bucket
    • error-restart-settings: Specific retry settings when recovering from known errors in S3. See apidoc
The source code for this page can be found here.