Prerequisites
- An AWS user with sufficient privileges to create and configure IAM users and roles.
AWS Glue Setup
1. Create IAM User
It is recommended to create a separate IAM user and role with minimum necessary access.- Go to the Amazon IAM Console.
- Click Users in the sidebar.
- Click Add users.
-
Enter a User name: e.g.,
streamkap_user
-
Set the Access type:
- ✅ Check “Access key – Programmatic access”
- ❌ Uncheck “Console access” (not needed)
-
Choose Attach policies directly and create a custom policy:
- Click Create policy (opens in new tab).
- Go to the JSON tab and paste this policy, ensuring you replace any
<...>
placeholders as required:
Streamkap Setup
1. Create the Destination
- Navigate to Add Connectors.
- Choose Iceberg.
- Name: Enter a name for your connector.
2. Connection Settings
- Catalog Type: The type of Iceberg catalog.
GLUE
:- AWS IAM Role: AWS IAM role (e.g.,
arn:aws:iam:::role/
)
- AWS IAM Role: AWS IAM role (e.g.,
- Region: The AWS region to be used.
- S3 Bucket Path: Path to the storage location for the Iceberg tables.
- Schema: An Iceberg table name prefix—equivalent to a database schema (e.g., public, sales, analytics).
3. Ingestion Settings
-
Ingestion Mode: Specifies the strategy used to insert events into the Iceberg tables.
Changing ingestion mode
append
andupsert
modes use different, incompatible methods for loading data into the Iceberg tables. If - for whatever reason - you want to change modes for an existing Iceberg Connector, please create a new Iceberg Destination instead i.e. a separate destination forinsert
, and forupsert
.upsert
mode:- Primary key fields: Optional. A comma-separated list of field names to use as record identifiers when a primary key’s not present.