Skip to main content
A REST catalog uses a RESTful API to manage Iceberg table metadata. You can use a REST catalog with RisingWave when creating an Iceberg SOURCE, SINK, or CONNECTION (for internal Iceberg tables).
For a complete list of all catalog-related parameters, see the main Catalog configuration page.

Example

Examples for using a REST catalog with internal Iceberg tables, sinks, and sources.

Vended credentials

Added in v2.7.0.
Vended credentials allow the REST catalog server to provide temporary credentials for accessing object storage, rather than requiring you to manage credentials directly in RisingWave. To enable vended credentials, set vended_credentials = true along with catalog.type = 'rest': Example: Source
CREATE SOURCE iceberg_t WITH (
    connector = 'iceberg',
    s3.endpoint = 'https://s3.ap-southeast-2.amazonaws.com',
    s3.region = 'ap-southeast-2',
    vended_credentials = true,
    s3.path.style.access = 'true',
    catalog.type = 'rest',
    catalog.uri = 'http://127.0.0.1:8181/catalog',
    warehouse.path = '<warehouse_name>',
    database.name = 'ns',
    table.name = 't'
);
Example: Sink
CREATE SINK sink_t FROM t WITH (
    connector = 'iceberg',
    type = 'append-only',
    force_append_only = 'true',
    s3.endpoint = 'https://s3.ap-southeast-2.amazonaws.com',
    s3.region = 'ap-southeast-2',
    vended_credentials = true,
    s3.path.style.access = 'true',
    catalog.type = 'rest',
    catalog.uri = 'http://127.0.0.1:8181/catalog',
    warehouse.path = '<warehouse_name>',
    database.name = 'ns',
    table.name = 't',
    create_table_if_not_exists = 'true',
    -- `commit_checkpoint_interval` controls Iceberg commit frequency. Default: about every 60 seconds; set to 1 for faster commits and visibility.
    commit_checkpoint_interval = 1
);

Deploying a Lakekeeper REST catalog

For a complete, step-by-step guide to deploying a self-hosted REST catalog with Lakekeeper, see this topic.