← R2 Data Catalog / r2-data-catalog
Správa katalogů
Naučíte se:
- Povolení a zakázání R2 Data Catalog na vašich bucketech.
- Povolení a zakázání údržba tabulek funkce jako kompaktace a expirace snímků.
- Ověřujte enginy Iceberg pomocí tokenů API.
Povolte R2 Data Catalog pro bucket
Povolení katalogu pro bucket zapne rozhraní REST catalog a poskytne Catalog URI a Název warehouse vyžadovaná klienty Iceberg. Po povolení můžete v daném bucketu vytvářet tabulky Iceberg a spravovat je.
-
V dashboardu Cloudflare přejděte na R2 Data Catalog stránce.
Přejděte na R2 Data Catalog ↗ -
Vyberte Vytvořte katalog.
-
Zadejte název bucketu R2. Můžete vybrat existující bucket, nebo zadáním názvu nového bucketu vytvořit nový. Pokud vytváříte nový bucket, můžete volitelně vybrat Location Hint.
-
Vyberte Next a nakonfigurujte údržbu tabulek. Volitelně povolte komprimace a expirace snímků během nastavení.
-
Zkontrolujte konfiguraci a vyberte Vytvořte katalog.
-
Po vytvoření zobrazí stránka s podrobnostmi katalogu vaše Catalog URI a Název warehouse.
Chcete-li povolit katalog u svého bucketu, spusťte r2 bucket catalog enable command:
npx wrangler r2 bucket catalog enable <BUCKET_NAME>Po povolení vám Wrangler vrátí URI katalogu a název datového skladu.
Zakažte R2 Data Catalog pro bucket
Když deaktivujete katalog u bucketu, okamžitě přestane obsluhovat požadavky z rozhraní katalogu. Všechny odkazy na tabulky Iceberg uložené v tomto katalogu se stanou nedostupnými, dokud katalog znovu neaktivujete.
-
V dashboardu Cloudflare přejděte na R2 Data Catalog stránce.
Přejděte na R2 Data Catalog ↗ -
Vyberte katalog, který chcete vypnout.
-
Přejděte na Nastavení kartu a přejděte na Zakázat sekce.
-
Vyberte Zakázat a potvrďte.
Chcete-li deaktivovat katalog u svého bucketu, spusťte r2 bucket catalog disable command:
npx wrangler r2 bucket catalog disable <BUCKET_NAME>Povolte komprimaci
Komprimace zlepšuje výkon dotazů tím, že slučuje mnoho malých souborů vytvořených při příjmu dat do menšího počtu větších souborů podle nastavené target file size. Další informace o kompaktaci a jejím přínosu najdete v O kompaktaci.
-
V dashboardu Cloudflare přejděte na R2 Data Catalog stránce.
Přejděte na R2 Data Catalog ↗ -
Vyberte katalog, u kterého chcete zapnout kompaktaci.
-
Přejděte na Nastavení kartu a přejděte na Údržba tabulek sekce.
-
Vyberte Povolit nebo Úprava vedle kompaktace.
-
Zapněte komprimaci a volitelně nastavte cílovou velikost souboru. Výchozí hodnota je 128 MB.
-
Vyberte Save.
Chcete-li povolit komprimaci u svého katalogu, spusťte r2 bucket catalog compaction enable příkaz:
# Enable catalog-level compaction (all tables)
npx wrangler r2 bucket catalog compaction enable <BUCKET_NAME> --target-size 128 --token <API_TOKEN>
# Enable compaction for a specific table
npx wrangler r2 bucket catalog compaction enable <BUCKET_NAME> <NAMESPACE> <TABLE> --target-size 128Po zapnutí se kompaktace zpětně použije na všechny existující tabulky (u kompaktace na úrovni katalogu), nebo na zadanou tabulku (u kompaktace na úrovni tabulky).
Zakažte komprimaci
Zakázáním komprimace zabráníte jejímu spuštění pro všechny tabulky (na úrovni katalogu) nebo pro konkrétní tabulku (na úrovni tabulky). Kdykoli ji můžete znovu povolit.
-
V dashboardu Cloudflare přejděte na R2 Data Catalog stránce.
Přejděte na R2 Data Catalog ↗ -
Vyberte katalog, u kterého chcete vypnout kompaktaci.
-
Přejděte na Nastavení kartu a přejděte na Údržba tabulek sekce.
-
Vyberte Úprava vedle kompaktace.
-
Vypněte komprimaci.
-
Vyberte Save.
Chcete-li deaktivovat komprimaci u svého katalogu, spusťte r2 bucket catalog compaction disable příkaz:
# Disable catalog-level compaction (all tables)
npx wrangler r2 bucket catalog compaction disable <BUCKET_NAME>
# Disable compaction for a specific table
npx wrangler r2 bucket catalog compaction disable <BUCKET_NAME> <NAMESPACE> <TABLE>Povolte expiraci snímků
Vypršení platnosti snímků automaticky odstraňuje staré snímky tabulky a veškeré soubory bez odkazů, čímž snižuje režii metadat a náklady na úložiště. Můžete nastavit:
- Maximální stáří snapshotu - Snímky starší než tato doba jsou expirovány. Zadejte hodnotu následovanou jednotkou (
dpro dny,hpro hodiny,mpro minuty,spro sekundy). Například7dexpiruje snímky starší než 7 dní. - Minimální počet uchovávaných snapshotů - Minimální počet snímků, které se mají zachovat bez ohledu na jejich stáří.
-
V dashboardu Cloudflare přejděte na R2 Data Catalog stránce.
Přejděte na R2 Data Catalog ↗ -
Vyberte katalog, u kterého chcete zapnout vypršení platnosti snímků.
-
Přejděte na Nastavení kartu a přejděte na Údržba tabulek sekce.
-
Vyberte Povolit nebo Úprava vedle expirace snímků.
-
Zapněte expiraci snímků.
-
Nastavte Maximální stáří snapshotu a Minimální počet uchovávaných snapshotů hodnoty.
-
Vyberte Save.
Chcete-li povolit expiraci snímků u svého katalogu, spusťte r2 bucket catalog snapshot-expiration enable příkaz:
# Enable catalog-level snapshot expiration (all tables)
npx wrangler r2 bucket catalog snapshot-expiration enable <BUCKET_NAME> \
--token <API_TOKEN> \
--older-than-days 7 \
--retain-last 10
# Enable snapshot expiration for a specific table
npx wrangler r2 bucket catalog snapshot-expiration enable <BUCKET_NAME> <NAMESPACE> <TABLE> \
--older-than-days 2 \
--retain-last 5Zakažte expiraci snímků
Zakázání expirace snímků zabrání jejímu spuštění pro všechny tabulky (na úrovni katalogu) nebo pro konkrétní tabulku (na úrovni tabulky). Expiraci snímků můžete kdykoli znovu povolit.
-
V dashboardu Cloudflare přejděte na R2 Data Catalog stránce.
Přejděte na R2 Data Catalog ↗ -
Vyberte katalog, u kterého chcete vypnout vypršení platnosti snímků.
-
Přejděte na Nastavení kartu a přejděte na Údržba tabulek sekce.
-
Vyberte Úprava vedle expirace snímků.
-
Vypněte expiraci snímků.
-
Vyberte Save.
# Disable catalog-level snapshot expiration (all tables)
npx wrangler r2 bucket catalog snapshot-expiration disable <BUCKET_NAME>
# Disable snapshot expiration for a specific table
npx wrangler r2 bucket catalog snapshot-expiration disable <BUCKET_NAME> <NAMESPACE> <TABLE>Ověřte svůj Iceberg engine
Chcete-li připojit svůj Iceberg engine k R2 Data Catalog, musíte zadat token Cloudflare API s obě oprávnění R2 Data Catalog a oprávnění R2 Storage. Enginy Iceberg komunikují s R2 Data Catalog při provádění operací s tabulkami. Katalog enginům také poskytuje přihlašovací údaje SigV4, které jsou potřeba pro přístup k podkladovým datovým souborům uloženým v R2.
R2 Data Catalog podporuje tokeny jak pouze pro čtení, tak pro čtení a zápis:
- Pouze pro čtení operace (například výpis oborů názvů, načítání tabulek a dotazování na data) vyžadují token s oprávněním pro čtení z R2 Data Catalog a R2 Storage.
- Zápis operace (například vytváření nebo rušení tabulek a potvrzování transakcí) vyžadují token s oprávněním pro čtení i zápis do R2 Data Catalog a R2 Storage.
Pro query enginy a klienty, kteří pouze čtou data (například R2 SQL, DuckDB nebo čtečky PyIceberg), použijte token pouze pro čtení, a pro enginy a pipeline, které vytvářejí tabulky nebo zapisují data, použijte token pro čtení i zápis.
Vytvořte token API v dashboardu
Vytvořte Token R2 API s oprávněními odpovídajícími vaší zátěži:
- Admin Read & Write je určen pro enginy a pipeliny, které čtou i zapisují data. Zahrnuje přístup pro čtení i zápis do R2 Data Catalog i úložiště R2.
- Admin Read only je určen pro dotazovací enginy a klienty, kteří pouze čtou data. Zahrnuje přístup pro čtení do R2 Data Catalog i úložiště R2.
Když výsledný token předáte svému Iceberg enginu, získá tím možnost spravovat metadata katalogu a provádět datové operace, tedy čtení nebo zápis do R2.
Vytvořte token API prostřednictvím API
Chcete-li vytvořit token API programově pro použití s R2 Data Catalog, musíte zadat skupiny oprávnění R2 Data Catalog i R2 Storage ve svém Access Policy.
Příklad Access Policy pro čtení a zápis
Pro enginy a pipeline, které vytvářejí tabulky nebo zapisují data, použijte skupiny oprávnění pro čtení i zápis:
[
{
"id": "f267e341f3dd4697bd3b9f71dd96247f",
"effect": "allow",
"resources": {
"com.cloudflare.edge.r2.bucket.4793d734c0b8e484dfc37ec392b5fa8a_default_my-bucket": "*",
"com.cloudflare.edge.r2.bucket.4793d734c0b8e484dfc37ec392b5fa8a_eu_my-eu-bucket": "*"
},
"permission_groups": [
{
"id": "d229766a2f7f4d299f20eaa8c9b1fde9",
"name": "Workers R2 Data Catalog Write"
},
{
"id": "2efd5506f9c8494dacb1fa10a3e7d5b6",
"name": "Workers R2 Storage Bucket Item Write"
}
]
}
]Příklad Access Policy jen pro čtení
Pro query enginy a klienty, kteří pouze čtou data, použijte skupiny oprávnění pro čtení:
[
{
"id": "f267e341f3dd4697bd3b9f71dd96247f",
"effect": "allow",
"resources": {
"com.cloudflare.edge.r2.bucket.4793d734c0b8e484dfc37ec392b5fa8a_default_my-bucket": "*",
"com.cloudflare.edge.r2.bucket.4793d734c0b8e484dfc37ec392b5fa8a_eu_my-eu-bucket": "*"
},
"permission_groups": [
{
"id": "45db74139a62490b9b60eb7c4f34994b",
"name": "Workers R2 Data Catalog Read"
},
{
"id": "6a018a9f2fc74eb6b293b0c548f38b39",
"name": "Workers R2 Storage Bucket Item Read"
}
]
}
]Další informace o vytváření API tokenů pro R2 Data Catalog pomocí API, včetně požadovaných skupin oprávnění a příkladů použití, najdete v Vytvoření tokenů API podle dokumentace k API.
Místní nahrávání R2
Local Uploads zapisuje data objektů do nejbližšího umístění a poté je asynchronně zkopíruje do vašeho bucketu. Data jsou okamžitě dotazovatelná a zůstávají silně konzistentní. Díky tomu se může výrazně zlepšit latence zápisů od klientů Apache Iceberg mimo region příslušného bucketu R2 Data Catalog.
Chcete-li povolit R2 Local Uploads, můžete použít následující příkaz Wrangler:
npx wrangler r2 bucket catalog local-uploads enable <R2_Data_Catalog_BUCKET_NAME>Omezení
- R2 Data Catalog v současnosti nepodporuje R2 buckety mimo výchozí jurisdikci.