Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Důležité
Automatické škálování LakeBase je v beta verzích v následujících oblastech: eastus2, westeurope, westus.
Automatické škálování LakeBase je nejnovější verze LakeBase s automatickým škálováním výpočetních prostředků, škálováním na nulu, větvení a okamžitým obnovením. Porovnání funkcí se službou Lakebase Provisioned najdete v tématu Volba mezi verzemi.
Tato příručka vám pomůže začít s Databricks CLI pro správu vašich Lakebase projektů, větví a výpočtů (koncových bodů). V několika příkazech se dozvíte, jak vytvořit pracovní projekt.
Pro úplnou referenci příkazů a všechny dostupné možnosti viz Příkazy postgres Databricks CLI.
Požadavky
- Rozhraní příkazového řádku Databricks: Nainstalujte rozhraní příkazového řádku Databricks. Viz Instalace rozhraní příkazového řádku Databricks.
- Přístup k pracovnímu prostoru: Musíte mít přístup k pracovnímu prostoru Azure Databricks, kde se nachází prostředek Lakebase.
Ověřování pomocí Databricks
Před spuštěním příkazů rozhraní příkazového řádku se ověřte v pracovním prostoru Azure Databricks:
databricks auth login --host https://your-workspace.cloud.databricks.com
Nahraďte https://your-workspace.cloud.databricks.com skutečnou adresou URL pracovního prostoru. Tento příkaz otevře okno prohlížeče pro ověření pomocí účtu Azure Databricks pomocí OAuth.
Poznámka:
Pokud máte více profilů, pomocí příznaku --profile určete, který z nich se má použít: databricks postgres <command> --profile my-profile. Pokud chcete zobrazit nakonfigurované profily, spusťte databricks auth profilespříkaz .
Další možnosti ověřování najdete v tématu Ověřování Databricks.
Získání nápovědy k příkazům
Rozhraní příkazového řádku poskytuje integrovanou nápovědu pro všechny příkazy. Umožňuje --help zobrazit dostupné příkazy a možnosti.
Získejte přehled všech příkazů Postgres:
databricks postgres --help
Tím se zobrazí všechny dostupné příkazy, globální příznaky a informace o názvoslovných konvencích pro prostředky.
Získejte podrobnou nápovědu pro konkrétní příkaz:
databricks postgres create-project --help
Zobrazí se účel příkazu, povinné a volitelné parametry, příklady použití a dostupné příznaky.
Rychlý start: Vytvoření prvního projektu
Následujícím postupem vytvoříte kompletní pracovní projekt s větví a koncovým bodem:
1. Vytvoření projektu
Vytvořte nový projekt Lakebase:
databricks postgres create-project my-project \
--json '{
"spec": {
"display_name": "My Lakebase Project"
}
}'
Tento příkaz vytvoří projekt a počká na jeho dokončení. ID projektu (my-project) se stane součástí názvu zdroje: projects/my-project. Projekt se vytvoří s výchozí produkční větví a koncovým bodem výpočetního prostředí pro čtení i zápis, oba s automaticky generovanými ID.
Volitelně můžete ID projektu exportovat jako proměnnou, která se použije v následujících příkazech:
export PROJECT_ID="my-project"
2. Získání ID větve
Vypište větve v projektu a vyhledejte výchozí ID větve:
databricks postgres list-branches projects/$PROJECT_ID
Vrátí informace o všech větvích v projektu. Vyhledejte větev se stavem "default": true . Poznamenejte si ID větve z name pole (například br-divine-sea-y2k942xa).
Volitelně můžete ID větve exportovat jako proměnnou pro použití v dalších příkazech:
export BRANCH_ID="br-divine-sea-y2k942xa"
Nahraďte br-divine-sea-y2k942xa skutečným ID výchozí větve ze seznamu výstupů.
3. Získání ID koncového bodu
Vypište koncové body ve vaší větvi. Výchozí větev automaticky zahrnuje koncový bod pro čtení i zápis:
databricks postgres list-endpoints projects/$PROJECT_ID/branches/$BRANCH_ID
Poznamenejte si ID koncového name bodu z pole. Bude ve formátu projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}. Extrahujte ID koncového bodu (například ep-plain-sunset-y2vc0zan) a volitelně ho exportujte jako proměnnou:
export ENDPOINT_ID="ep-plain-sunset-y2vc0zan"
Nahraďte ep-plain-sunset-y2vc0zan skutečným ID koncového bodu z výstupu seznamu.
4. Generování přihlašovacích údajů databáze
Vygenerujte přihlašovací údaje pro připojení k databázi:
databricks postgres generate-database-credential \
projects/$PROJECT_ID/branches/$BRANCH_ID/endpoints/$ENDPOINT_ID
Příkaz vrátí token OAuth, který můžete použít s klienty PostgreSQL, jako je psql, pro přístup k vašim datům pomocí vaší identity Databricks. Podrobné pokyny k připojení pomocí psql najdete v tématu Připojení pomocí psql. Další informace o vypršení platnosti tokenu a ověřování najdete v tématu Ověřování.
Správa prostředků
Výpis všech projektů
Zobrazení seznamu všech projektů v pracovním prostoru:
databricks postgres list-projects
Tím se vrátí informace o každém projektu, včetně jeho názvu, zobrazovaného názvu, aktuálního stavu a časových razítek vytvoření/aktualizace.
Získání podrobností o prostředku
Získejte podrobné informace o projektu:
databricks postgres get-project projects/$PROJECT_ID
Tím se vrátí podrobná konfigurace projektu, včetně zobrazovaného názvu, verze PostgreSQL, vlastníka, doby uchovávání historie, omezení velikosti větve, výchozího nastavení koncového bodu, velikosti úložiště a časových razítek vytvoření/aktualizace.
Získejte podrobné informace o větvi:
databricks postgres get-branch projects/$PROJECT_ID/branches/$BRANCH_ID
Vrátí podrobné informace o větvi, včetně aktuálního stavu, výchozího stavu větve, stavu ochrany, logické velikosti, podrobností o zdrojové větvi (pokud je větvená z jiné větve) a časových razítek vytvoření/aktualizace.
Získejte podrobné informace o koncovém bodu:
databricks postgres get-endpoint projects/$PROJECT_ID/branches/$BRANCH_ID/endpoints/$ENDPOINT_ID
Tím se vrátí podrobná konfigurace koncového bodu, včetně typu koncového bodu (pro čtení a zápis nebo jen pro čtení), nastavení automatického škálování (minimální a maximální výpočetní jednotky), aktuálního stavu (ACTIVE, IDLE atd.), hostitele připojení, časového limitu pozastavení a časových razítek vytvoření/aktualizace.
Aktualizace prostředků
Aktualizujte prostředek pomocí vzoru aktualizační masky. Maska aktualizace určuje, která pole se mají aktualizovat:
databricks postgres update-branch \
projects/$PROJECT_ID/branches/$BRANCH_ID \
spec.is_protected \
--json '{
"spec": {
"is_protected": true
}
}'
V tomto příkladu se nastaví spec.is_protected na true, což zajistí ochranu větve. Maska aktualizace (spec.is_protected) říká rozhraní API, které pole se má aktualizovat. Příkaz vrátí aktualizovaný zdroj, který zobrazuje novou hodnotu a aktualizované update_time časové razítko.
Pokud chcete aktualizovat více polí, použijte seznam oddělený čárkami:
databricks postgres update-endpoint \
projects/$PROJECT_ID/branches/$BRANCH_ID/endpoints/$ENDPOINT_ID \
"spec.autoscaling_limit_min_cu,spec.autoscaling_limit_max_cu" \
--json '{
"spec": {
"autoscaling_limit_min_cu": 1.0,
"autoscaling_limit_max_cu": 8.0
}
}'
Běžné pracovní postupy
Vytvoření větve funkcí z produkčního prostředí
Vytvořte novou větev založenou na existující větvi, která bude testovat změny. Když zadáte source_branch, nová větev bude mít stejné schéma a data jako zdrojová větev v době vytvoření. Nahraďte ID projektu a větve skutečnými hodnotami:
databricks postgres create-branch \
projects/my-project \
feature \
--json '{
"spec": {
"source_branch": "projects/my-project/branches/br-divine-sea-y2k942xa",
"no_expiry": true
}
}'
Poznámka:
Při vytváření větve musíte zadat politiku vypršení platnosti. Použijte no_expiry: true k vytvoření trvalé větve.
Pokud chcete použít proměnné shellu uvnitř specifikace JSON (například $PROJECT_ID nebo $BRANCH_ID), musíte pro hodnotu --json použít dvojité uvozovky a vyhnout se vnitřním uvozovkám.
Větev funkce potřebuje výpočetní koncový bod pro čtení i zápis, který umožňuje databázové operace:
databricks postgres create-endpoint \
projects/$PROJECT_ID/branches/feature \
primary \
--json '{
"spec": {
"endpoint_type": "ENDPOINT_TYPE_READ_WRITE",
"autoscaling_limit_min_cu": 0.5,
"autoscaling_limit_max_cu": 2.0
}
}'
Po dokončení vývoje a testování ve větvi funkcí ji můžete odstranit:
databricks postgres delete-branch projects/$PROJECT_ID/branches/feature
Poznámka:
Příkazy odstranění se vrátí okamžitě, ale dokončení skutečného odstranění může chvíli trvat. Odstranění můžete ověřit spuštěním odpovídajícího příkazu get resource, který po úplném odstranění prostředku vrátí chybu.
Škálování výkonu čtení pomocí čtecích replik
Přidejte repliky pro čtení pro zvládání zvýšeného provozu na čtení. Tento příklad přidá repliku pro čtení do výchozí produkční větve:
databricks postgres create-endpoint \
projects/$PROJECT_ID/branches/$BRANCH_ID \
read-replica-1 \
--json '{
"spec": {
"endpoint_type": "ENDPOINT_TYPE_READ_ONLY",
"autoscaling_limit_min_cu": 0.5,
"autoscaling_limit_max_cu": 4.0
}
}'
Pro distribuci úloh čtení můžete vytvořit několik replik pro čtení s různými ID koncových bodů (read-replica-1read-replica-2atd.).
Pochopení klíčových konceptů
Dlouhotrvající operace
Příkazy vytvoření, aktualizace a odstranění jsou dlouhotrvající operace. Ve výchozím nastavení rozhraní příkazového řádku čeká na dokončení operace. Použijte --no-wait k okamžitému návratu a samostatnému sledování stavu.
databricks postgres create-project $PROJECT_ID \
--json '{"spec": {"display_name": "My Project"}}' \
--no-wait
Zkontrolujte stav operace:
databricks postgres get-operation projects/$PROJECT_ID/operations/operation-id
Pojmenování zdrojů
Lakebase používá názvy hierarchických prostředků:
-
Projekty:
projects/{project_id}. Při vytváření projektu zadáte ID projektu. -
Větve:
projects/{project_id}/branches/{branch_id}. Při vytváření větve zadáte ID větve. -
Koncové body:
projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}. Při vytváření koncového bodu zadáte ID koncového bodu (napříkladprimaryneboread-replica-1).
ID musí mít délku 1 až 63 znaků, musí začínat malým písmenem a obsahovat jenom malá písmena, číslice a pomlčky.
Aktualizace masek
Příkazy aktualizace vyžadují masku aktualizace, která určuje pole, která se mají upravit. Maska je cesta pole jako spec.display_name nebo seznam více polí oddělený čárkami.
Náklad --json obsahuje nové hodnoty těchto polí. Upraví se jenom pole uvedená v masce aktualizace.