Skip to content

Amazon S3 Tables Integration #577

Open
@flyrain

Description

@flyrain

Polaris is designed to act as a REST facade for S3 tables, enabling both read and write operations by interacting with the S3 table API. Polaris registers an S3 table using its metadata location. A flag will be needed to label the new Iceberg table is a s3 table. Below is a summary of the proposed approach:

Read Path

  • The LoadTable endpoint in Polaris will call the S3 table API get_table_metadata_location to fetch the metadata.json file.
  • Polaris will then serialize the content of the metadata.json into a LoadTableResponse to return to the client.

Write Path

When the table is updated, Polaris will:

  1. Gather the changes and generate a new metadata.json.
  2. Use the S3 table API update-table-metadata-location to commit the new metadata.

AuthZ/AuthN

We need to ensure that the AWS role used for creating the Polaris catalog has the read and write privileges of the s3 table.

Describe alternatives you've considered

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions