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 stránka obsahuje přehled rozhraní API pro automatické škálování LakeBase, včetně ověřování, dostupných koncových bodů a běžných vzorů pro práci s rozhraním REST API, rozhraním příkazového řádku Databricks a sadami SDK Databricks (Python, Java, Go).
Kompletní referenční informace k rozhraní API najdete v dokumentaci k rozhraní Postgres API.
Důležité
Rozhraní Api Postgres Lakebase je v beta verzi. Koncové body, parametry a chování rozhraní API se můžou změnit.
Autentizace
Rozhraní API pro automatické škálování Lakebase používá ověřování OAuth na úrovni pracovního prostoru ke správě infrastruktury projektu (vytváření projektů, konfigurace nastavení atd.).
Poznámka:
Dva typy připojení: Toto rozhraní API je určené pro správu platforem (vytváření projektů, větví, výpočetních prostředků). Přístup k databázi (připojení k datům dotazů):
- Klienti SQL (psql, pgAdmin, DBeaver): Použijte tokeny OAuth Lakebase nebo hesla Postgres. Viz Ověřování.
- Rozhraní API pro data (RESTful HTTP): Použijte tokeny Lakebase OAuth. Podívejte se na Data API.
- Ovladače programovacího jazyka (psycopg, SQLAlchemy, JDBC): Použijte tokeny Lakebase OAuth nebo hesla Postgres. Viz Rychlý start.
Úplné vysvětlení těchto dvou vrstev ověřování najdete v tématu Architektura ověřování.
Nastavení ověřování
Ověřování pomocí rozhraní příkazového řádku Databricks:
databricks auth login --host https://your-workspace.cloud.databricks.com
Podle pokynů prohlížeče se přihlaste. Rozhraní příkazového řádku ukládá token OAuth do mezipaměti na adrese ~/.databricks/token-cache.json.
Pak zvolte metodu přístupu:
Python SDK
Sada SDK používá jednotné ověřování a automaticky zpracovává tokeny OAuth:
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
Java SDK
Sada SDK používá jednotné ověřování a automaticky zpracovává tokeny OAuth:
import com.databricks.sdk.WorkspaceClient;
WorkspaceClient w = new WorkspaceClient();
CLI
Příkazy automaticky používají token uložený v mezipaměti:
databricks postgres list-projects
kroucení
Vygenerujte token pro přímá volání rozhraní API:
export DATABRICKS_TOKEN=$(databricks auth token | jq -r .access_token)
curl -X GET "https://your-workspace.cloud.databricks.com/api/2.0/postgres/projects" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}"
Platnost tokenů OAuth vyprší po jedné hodině. Podle potřeby vygenerovat znovu.
Další podrobnosti najdete v tématu Autorizace přístupu uživatelů k Databricks pomocí OAuth.
Dostupné koncové body (beta verze)
Všechny koncové body používají základní cestu /api/2.0/postgres/.
Projekty
| Operation | Metoda | Endpoint | Documentation |
|---|---|---|---|
| Vytvoření projektu | POST |
/projects |
Vytvoření projektu |
| Aktualizace projektu | PATCH |
/projects/{project_id} |
Obecná nastavení |
| Odstranit projekt | DELETE |
/projects/{project_id} |
Odstranění projektu |
| Získání projektu | GET |
/projects/{project_id} |
Získání podrobností o projektu |
| Výpis projektů | GET |
/projects |
Výpis projektů |
Větve
| Operation | Metoda | Endpoint | Documentation |
|---|---|---|---|
| Vytvářet větve | POST |
/projects/{project_id}/branches |
Vytvoření větve |
| Aktualizovat větev | PATCH |
/projects/{project_id}/branches/{branch_id} |
Aktualizace nastavení větve |
| Odstranit větev | DELETE |
/projects/{project_id}/branches/{branch_id} |
Odstranění větve |
| Získání větve | GET |
/projects/{project_id}/branches/{branch_id} |
Zobrazení větví |
| Seznam větví | GET |
/projects/{project_id}/branches |
Výpis větví |
Koncové body (výpočetní jednotky a repliky pro čtení)
| Operation | Metoda | Endpoint | Documentation |
|---|---|---|---|
| Vytvoření koncového bodu | POST |
/projects/{project_id}/branches/{branch_id}/endpoints |
Vytvořit výpočetní jednotku / Vytvořit repliku databáze pro čtení |
| Aktualizace koncového bodu | PATCH |
/projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id} |
Úprava výpočetního instance / Úprava repliky pro čtení |
| Odstranění koncového bodu | DELETE |
/projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id} |
Odstranění výpočetní jednotky / Odstranění repliky |
| Získání koncového bodu | GET |
/projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id} |
Zobrazit výpočty |
| Výpis koncových bodů | GET |
/projects/{project_id}/branches/{branch_id}/endpoints |
Zobrazit výpočty |
Přihlašovací údaje databáze
| Operation | Metoda | Endpoint | Documentation |
|---|---|---|---|
| Generování přihlašovacích údajů databáze | POST |
/credentials |
Ověřování tokenů OAuth |
Operace
| Operation | Metoda | Endpoint | Documentation |
|---|---|---|---|
| Načtení operace | GET |
/projects/{project_id}/operations/{operation_id} |
Podívejte se na příklad níže. |
Získání operace
Zkontrolujte stav dlouhotrvající operace podle názvu zdroje.
Python SDK
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
# Start an operation (example: create project)
operation = w.postgres.create_project(...)
print(f"Operation started: {operation.name}")
# Wait for completion
result = operation.wait()
print(f"Operation completed: {result.name}")
Java SDK
import com.databricks.sdk.WorkspaceClient;
import com.databricks.sdk.service.postgres.*;
WorkspaceClient w = new WorkspaceClient();
// Start an operation (example: create project)
CreateProjectOperation operation = w.postgres().createProject(...);
System.out.println("Operation started: " + operation.getName());
// Wait for completion
Project result = operation.waitForCompletion();
System.out.println("Operation completed: " + result.getName());
CLI
Rozhraní příkazového řádku automaticky čeká na dokončení operací ve výchozím nastavení. Umožňuje --no-wait přeskočit dotazování:
# Create project without waiting
databricks postgres create-project --no-wait ...
# Later, check the operation status
databricks postgres get-operation projects/my-project/operations/abc123
kroucení
# Get operation status
curl -X GET "$WORKSPACE/api/2.0/postgres/projects/my-project/operations/abc123" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}" | jq
Formát odpovědi:
{
"name": "projects/my-project/operations/abc123",
"done": true,
"response": {
"@type": "type.googleapis.com/databricks.postgres.v1.Project",
"name": "projects/my-project",
...
}
}
Pole:
-
done:falseprobíhá,trueaž bude dokončeno -
response: Obsahuje výsledek, pokuddonejetrue -
error: Obsahuje podrobnosti o chybě, pokud operace selhala.
Obvyklé scénáře
Pojmenování zdrojů
Prostředky se řídí hierarchickým pojmenováním, ve kterém jsou podřízené prostředky podřízeny nadřazenému objektu.
Projekty používají tento formát:
projects/{project_id}
Podřízené prostředky, jako jsou operace, jsou vnořené do nadřazeného projektu:
projects/{project_id}/operations/{operation_id}
To znamená, že pro získání přístupu k operacím nebo jiným podřízeným prostředkům potřebujete ID nadřazeného projektu.
ID prostředků:
Při vytváření prostředků musíte zadat ID prostředku (například my-app) pro project_idparametr , branch_idnebo endpoint_id parametr. Tento identifikátor se stane součástí cesty prostředku při volání rozhraní API (například projects/my-app/branches/development).
Volitelně můžete poskytnout display_name, abyste svému prostředku dali popisnější označení. Pokud nezadáte zobrazovaný název, systém použije jako zobrazovaný název ID vašeho prostředku.
:::tip Vyhledání zdrojů v uživatelském rozhraní
Pokud chcete vyhledat projekt v uživatelském rozhraní Lakebase, vyhledejte jeho zobrazovaný název v seznamu projektů. Pokud jste při vytváření projektu nezadali vlastní zobrazovaný název, vyhledejte název projektu s označením project_id (například "my-app").
:::
Poznámka:
ID prostředků nelze po vytvoření změnit.
Požadavky:
- Musí mít délku 1 až 63 znaků.
- Pouze malá písmena, číslice a pomlčky
- Nejde začínat ani končit spojovníkem
- Příklady:
my-app,analytics-db,customer-123
Dlouhotrvající operace (LRO)
Operace vytvoření, aktualizace a odstranění vrací databricks.longrunning.Operation objekt, který poskytuje stav dokončení.
Příklad odpovědi operace:
{
"name": "projects/my-project/operations/abc123",
"done": false
}
Dotazování na dokončení pomocí GetOperation:
Python SDK
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
# Start an operation
operation = w.postgres.create_project(...)
# Wait for completion
result = operation.wait()
print(f"Operation completed: {result.name}")
Java SDK
import com.databricks.sdk.WorkspaceClient;
import com.databricks.sdk.service.postgres.*;
WorkspaceClient w = new WorkspaceClient();
// Start an operation
CreateProjectOperation operation = w.postgres().createProject(...);
// Wait for completion
Project result = operation.waitForCompletion();
System.out.println("Operation completed: " + result.getName());
CLI
Rozhraní příkazového řádku automaticky čeká na dokončení operací ve výchozím nastavení. Použijte --no-wait pro okamžité vrácení:
databricks postgres create-project --no-wait ...
kroucení
# Poll the operation
curl "$WORKSPACE/api/2.0/postgres/projects/my-project/operations/abc123" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}" | jq '.done'
Dotazování každých několik sekund, dokud done nebude true.
Aktualizace masek
Operace aktualizace vyžadují update_mask parametr určující pole, která se mají upravit. Tím zabráníte náhodnému přepsání nesouvisejících polí.
Rozdíly ve formátu:
| Metoda | Formát | Example |
|---|---|---|
| REST API | Parametr dotazu | ?update_mask=spec.display_name |
| Python SDK | FieldMask – objekt | update_mask=FieldMask(field_mask=["spec.display_name"]) |
| CLI | Poziční argument | update-project NAME spec.display_name |