← R2 Data Catalog / r2-data-catalog / config-examples
Snowflake
Níže je uveden příklad použití Snowflake ↗ k připojení a dotazování na data z R2 Data Catalog (pouze pro čtení).
Předpoklady
- Zaregistrujte si účet Cloudflare ↗.
- Vytvořte R2 bucket a povolit datový katalog.
- Vytvořit R2 API token s oběma Oprávnění pro R2 a datový katalog.
- A Snowflake ↗ účet s oprávněními potřebnými k vytváření externích svazků a integrací katalogu.
Příklad použití
Ve vašem Snowflake SQL worksheet ↗ nebo notebook ↗, spusťte následující příkazy:
-- Create a database (if you don't already have one) to organize your external data
CREATE DATABASE IF NOT EXISTS r2_example_db;
-- Create an external volume pointing to your R2 bucket
CREATE OR REPLACE EXTERNAL VOLUME ext_vol_r2
STORAGE_LOCATIONS = (
(
NAME = 'my_r2_storage_location'
STORAGE_PROVIDER = 'S3COMPAT'
STORAGE_BASE_URL = 's3compat://<bucket-name>'
CREDENTIALS = (
AWS_KEY_ID = '<access_key>'
AWS_SECRET_KEY = '<secret_access_key>'
)
STORAGE_ENDPOINT = '<account_id>.r2.cloudflarestorage.com'
)
)
ALLOW_WRITES = FALSE;
-- Create a catalog integration for R2 Data Catalog (read-only)
CREATE OR REPLACE CATALOG INTEGRATION r2_data_catalog
CATALOG_SOURCE = ICEBERG_REST
TABLE_FORMAT = ICEBERG
CATALOG_NAMESPACE = 'default'
REST_CONFIG = (
CATALOG_URI = '<catalog_uri>'
CATALOG_NAME = '<warehouse_name>'
)
REST_AUTHENTICATION = (
TYPE = BEARER
BEARER_TOKEN = '<token>'
)
ENABLED = TRUE;
-- Create an Apache Iceberg table in your selected Snowflake database
CREATE ICEBERG TABLE my_iceberg_table
CATALOG = 'r2_data_catalog'
EXTERNAL_VOLUME = 'ext_vol_r2'
CATALOG_TABLE_NAME = 'my_table'; -- Name of existing table in your R2 data catalog
-- Query your Iceberg table
SELECT * FROM my_iceberg_table;