Querying file(s) stored in an external object store like S3 is as simple as passing a scheme://path/to/file string to the files option of CREATE FOREIGN TABLE. A few examples include:

Amazon S3

CREATE FOREIGN TABLE parquet_table ()
SERVER parquet_server
OPTIONS (files 's3://<bucket>/<path>/<file>.parquet');

Azure

CREATE FOREIGN TABLE parquet_table ()
SERVER parquet_server
OPTIONS (files 'az://<bucket>/<path>/<file>.parquet');

Cloudflare R2

CREATE FOREIGN TABLE parquet_table ()
SERVER parquet_server
OPTIONS (files 'r2://<bucket>/<path>/<file>.parquet');

Google Cloud Storage

CREATE FOREIGN TABLE parquet_table ()
SERVER parquet_server
OPTIONS (files 'gs://<container>/<path>/<file>.parquet');

HTTP Server

CREATE FOREIGN TABLE parquet_table ()
SERVER parquet_server
OPTIONS (files 'https://<domain>/<path>/<file>.parquet');

Hugging Face

CREATE FOREIGN TABLE csv_table ()
SERVER csv_server
OPTIONS (files 'hf://datasets/datasets-examples/doc-formats-csv-1/data.csv');

Credentials, endpoints, and other parameters can be specified with the CREATE USER MAPPING command. Please see the appropriate object store documentation for details.