Open
Description
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 themetadata.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:
- Gather the changes and generate a new
metadata.json
. - 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