Open Table Iceberg Account

Overview

Use this account type to connect Open Table Iceberg Snaps to an Iceberg REST catalog (such as Polaris) backed by S3-compatible object storage. The account authenticates with the catalog using OAuth2 client credentials and validates S3 access directly before use.

During account validation, four checks are performed in sequence:

  1. Catalog connectivity — verifies the catalog is reachable.
  2. Warehouse access — lists namespaces in the configured warehouse.
  3. S3 credentials — performs a direct bucket check using the provided AWS credentials.
  4. Storage connectivity through catalog — lists namespaces via the catalog to confirm end-to-end access.


Prerequisites

  • An Iceberg REST catalog (for example, Polaris) that is accessible from the SnapLogic Snaplex.
  • OAuth2 client credentials (client ID and client secret) with read/write access to the target warehouse and namespaces.
  • An S3-compatible bucket with AWS access key ID and secret key for the IAM user or role that has read/write permissions on the bucket.

Account settings

Note: Learn about the common controls in the Snap settings dialog.
Field/Field set Description
Label*

String

Required.Specify a unique label for the account.

Default value: Open Table Iceberg Account

Example: Iceberg Prod Account

Catalog URL*

String/Expression

Specify the base URL of the Iceberg REST catalog API.

Default value: None

Example: http://localhost:8181/api/catalog

Warehouse*

String/Expression

Specify the name of the warehouse in the Iceberg catalog. In Polaris, this corresponds to a catalog name.

Default value: None

Example: SNOWFLAKE_SAMPLE_DATA

Client ID*

String/Expression

Specify the OAuth2 client ID used to authenticate with the Iceberg catalog.

Default value: None

Example: my-service-client-id

Client Secret*

String/Expression

Specify the OAuth2 client secret that corresponds to the Client ID. This field is obfuscated.

Default value: None

Example: <Encrypted>

Role*

String/Expression

Specify the principal role to assume in the Iceberg catalog. Click the Suggest icon to retrieve available roles from the catalog.

Default value: None

Example: PRINCIPAL_ROLE:ALL

S3 Endpoint*

String/Expression

Specify the endpoint URL for the S3-compatible object storage service where Iceberg table data is stored. For AWS S3, use the standard AWS endpoint. For MinIO or other S3-compatible services, use the service-specific URL.

Default value: None

Example: https://s3.amazonaws.com

Region*

String/Expression

Specify the AWS region where the S3 bucket is located.

Default value: None

Example: us-east-1

Bucket Name*

String/Expression

Specify the name of the S3 bucket where Iceberg table data is stored.

Default value: None

Example: my-iceberg-bucket

Access Key ID*

String/Expression

Specify the AWS access key ID for authenticating with S3. This field is obfuscated.

Default value: None

Example: AKIAIOSFODNN7EXAMPLE

Secret Key*

String/Expression

Specify the AWS secret access key that corresponds to the Access Key ID. This field is obfuscated.

Default value: None

Example: <Encrypted>

Path Style Access

Checkbox

Select this checkbox to use path-style S3 URLs (https://endpoint/bucket/key) instead of virtual-hosted style (https://bucket.endpoint/key). Enable this for MinIO and other S3-compatible services that do not support virtual-hosted URLs. For AWS S3, leave this deselected.

Default value: Selected

Example: Deselected

Troubleshooting

Error Reason Resolution
Failed to connect to the Iceberg catalog The Catalog URL is unreachable or incorrect, or the OAuth2 credentials are invalid. Verify that the Catalog URL is correct and accessible from the Snaplex. Confirm that the Client ID and Client Secret are valid and have not expired.
Failed to access the warehouse The specified Warehouse does not exist in the catalog, or the principal role does not have access to it. Confirm that the Warehouse name is correct and that the configured Role has access to it in the catalog.
Failed to connect to S3 The S3 Endpoint, Region, Bucket Name, Access Key ID, or Secret Key is incorrect, or the IAM user does not have sufficient permissions. Verify all S3 credential fields. Confirm that the IAM user has s3:HeadBucket permission on the configured bucket.