Megosztás:


A Lakebase automatikus skálázási API-útmutatója

Fontos

A Lakebase automatikus skálázása bétaverzióban érhető el a következő régiókban: eastus2, , westeuropewestus.

A Lakebase Autoscaling a Lakebase legújabb verziója automatikus skálázási számítással, nullára skálázással, elágaztatással és azonnali visszaállítással. A Lakebase Provisioned szolgáltatással való összehasonlításához tekintse meg a verziók közötti választást.

Ez a lap áttekintést nyújt a Lakebase automatikus skálázási API-járól, beleértve a hitelesítést, az elérhető végpontokat és a REST API, a Databricks CLI és a Databricks SDK-k (Python, Java, Go) használatának gyakori mintáit.

A teljes API-referencia a Postgres API dokumentációjában található.

Fontos

A Lakebase Postgres API bétaverzióban érhető el. Az API-végpontok, paraméterek és viselkedések változhatnak.

Authentication

A Lakebase automatikus skálázási API munkaterületszintű OAuth-hitelesítést használ a projektinfrastruktúra kezeléséhez (projektek létrehozása, beállítások konfigurálása stb.).

Megjegyzés:

Két kapcsolattípus: Ez az API platformkezelésre (projektek, ágak, számítások létrehozása) használható. Adatbázis-hozzáféréshez (lekérdezési adatokhoz való csatlakozáshoz):

  • SQL-ügyfelek (psql, pgAdmin, DBeaver): Használjon Lakebase OAuth-jogkivonatokat vagy Postgres-jelszavakat. Lásd: Hitelesítés.
  • Data API (RESTful HTTP): A Lakebase OAuth-jogkivonatok használata. Lásd a Data API-t.
  • Programozási nyelvillesztők (psycopg, SQLAlchemy, JDBC): Lakebase OAuth-jogkivonatok vagy Postgres-jelszavak használata. Lásd a rövid útmutatót.

A két hitelesítési réteg teljes magyarázatát lásd: Hitelesítési architektúra.

Hitelesítés beállítása

Hitelesítés a Databricks parancssori felületével:

databricks auth login --host https://your-workspace.cloud.databricks.com

A bejelentkezéshez kövesse a böngészőben megjelenő utasításokat. A parancssori felület gyorsítótárazza az OAuth-jogkivonatot a következő helyen: ~/.databricks/token-cache.json.

Ezután válassza ki a hozzáférési módszert:

Python SDK

Az SDK egységes hitelesítést használ, és automatikusan kezeli az OAuth-jogkivonatokat:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient()

Java SDK

Az SDK egységes hitelesítést használ, és automatikusan kezeli az OAuth-jogkivonatokat:

import com.databricks.sdk.WorkspaceClient;

WorkspaceClient w = new WorkspaceClient();

parancssori felület

A parancsok automatikusan használják a gyorsítótárazott tokent:

databricks postgres list-projects

göndörít

Hozzon létre egy jogkivonatot a közvetlen API-hívásokhoz:

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}"

Az OAuth-jogkivonatok egy óra elteltével lejárnak. Szükség szerint újragenerálódik.

További részletekért lásd: Felhasználók hozzáférésének engedélyezése a Databrickshez az OAuth használatával.

Elérhető végpontok (bétaverzió)

Minden végpont az alap elérési utat /api/2.0/postgres/használja.

Projektek

Operation Metódus Végpont Documentation
Projekt létrehozása POST /projects Projekt létrehozása
Projekt frissítése PATCH /projects/{project_id} Általános beállítások
Projekt törlése DELETE /projects/{project_id} Projektek törlése
Projekt lekérése GET /projects/{project_id} Projekt részleteinek lekérése
Projektek listázása GET /projects Projektek listázása

Ágak

Operation Metódus Végpont Documentation
Elágazás létrehozása POST /projects/{project_id}/branches Ág létrehozása
Ág frissítése PATCH /projects/{project_id}/branches/{branch_id} Ágbeállítások frissítése
Ág törlése DELETE /projects/{project_id}/branches/{branch_id} Ág törlése
Ág lekérése GET /projects/{project_id}/branches/{branch_id} Ágak megtekintése
Ágak listázása GET /projects/{project_id}/branches Ágak listázása

Végpontok (számítási és olvasási replikák)

Operation Metódus Végpont Documentation
Végpont létrehozása POST /projects/{project_id}/branches/{branch_id}/endpoints Számítási erőforrás létrehozása / Olvasási replika létrehozása
Végpont frissítése PATCH /projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id} Számítás szerkesztése / Olvasási replika szerkesztése
Végpont törlése DELETE /projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id} Számítási erőforrás törlése / Olvasási replika törlése
Végpont lekérése GET /projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id} Számítások megtekintése
Végpontok listázása GET /projects/{project_id}/branches/{branch_id}/endpoints Számítások megtekintése

Adatbázis hitelesítő adatai

Operation Metódus Végpont Documentation
Adatbázis hitelesítő adatainak létrehozása POST /credentials OAuth-jogkivonat hitelesítése

Műveletek

Operation Metódus Végpont Documentation
Művelet lekérése GET /projects/{project_id}/operations/{operation_id} Lásd az alábbi példát

Művelet lekérése

Ellenőrizze egy hosszú ideig futó művelet állapotát az erőforrás neve alapján.

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());

parancssori felület

A parancssori felület automatikusan megvárja, amíg a műveletek alapértelmezés szerint befejeződnek. A polling kihagyásához használja a --no-wait kódot.

# Create project without waiting
databricks postgres create-project --no-wait ...

# Later, check the operation status
databricks postgres get-operation projects/my-project/operations/abc123

göndörít

# Get operation status
curl -X GET "$WORKSPACE/api/2.0/postgres/projects/my-project/operations/abc123" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}" | jq

Válaszformátum:

{
  "name": "projects/my-project/operations/abc123",
  "done": true,
  "response": {
    "@type": "type.googleapis.com/databricks.postgres.v1.Project",
    "name": "projects/my-project",
    ...
  }
}

Mezők:

  • done: false amíg folyamatban van, true ha befejeződött
  • response: Az eredményt tartalmazza, ha donetrue
  • error: Hiba részleteit tartalmazza, ha a művelet sikertelen volt

Gyakori minták

Erőforrások elnevezése

Az erőforrások hierarchikus elnevezési mintát követnek, amelyben a gyermekerőforrások hatóköre a szülőre terjed ki.

A projektek a következő formátumot használják:

projects/{project_id}

A gyermekerőforrások, például a műveletek beágyazva vannak a szülőprojektjükbe:

projects/{project_id}/operations/{operation_id}

Ez azt jelenti, hogy a műveletek vagy más gyermekerőforrások eléréséhez a szülőprojekt-azonosítóra van szüksége.

Erőforrásazonosítók:

Erőforrások létrehozásakor meg kell adnia egy erőforrás-azonosítót (például my-app) az project_id, branch_idvagy endpoint_id paraméter számára. Ez az azonosító az API-hívások (például projects/my-app/branches/development) erőforrás-elérési útjának részévé válik.

Igény szerint megadhat egy olyan címkét display_name , amely leíróbb címkét ad az erőforrásnak. Ha nem ad meg megjelenítendő nevet, a rendszer az erőforrás-azonosítót használja megjelenítési névként.

:::tipp Erőforrások keresése a felhasználói felületen

Ha meg szeretne keresni egy projektet a Lakebase felhasználói felületén, keresse meg a megjelenítendő nevét a projektek listájában. Ha a projekt létrehozásakor nem adott meg egyéni megjelenítendő nevet, keressen rá a project_id kifejezésre (például "saját alkalmazás").

:::

Megjegyzés:

Az erőforrás-azonosítók létrehozása után nem módosíthatók.

Követelmények:

  • 1–63 karakter hosszúnak kell lennie
  • Csak kisbetűk, számjegyek és kötőjelek
  • Nem lehet kötőjellel kezdeni vagy végződni
  • Példák: my-app, , analytics-dbcustomer-123

Hosszú ideig futó műveletek (LPO-k)

A létrehozási, frissítési és törlési műveletek egy databricks.longrunning.Operation befejezési állapotot biztosító objektumot adnak vissza.

Példa műveleti válaszra:

{
  "name": "projects/my-project/operations/abc123",
  "done": false
}

Lekérdezés a getOperation használatával való befejezéshez:

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());

parancssori felület

A parancssori felület automatikusan megvárja, amíg a műveletek alapértelmezés szerint befejeződnek. Azonnali visszatérésre használható --no-wait :

databricks postgres create-project --no-wait ...

göndörít

# Poll the operation
curl "$WORKSPACE/api/2.0/postgres/projects/my-project/operations/abc123" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}" | jq '.done'

Kérdezzen le néhány másodpercenként, amíg done nem lesz true.

Maszkok frissítése

A frissítési műveletekhez paraméter update_mask szükséges, amely meghatározza, hogy mely mezőket kell módosítani. Ez megakadályozza a nem kapcsolódó mezők véletlen felülírását.

Formátumeltérés:

Metódus Formátum Example
REST API Lekérdezési paraméter ?update_mask=spec.display_name
Python SDK FieldMask objektum update_mask=FieldMask(field_mask=["spec.display_name"])
parancssori felület Pozíció szerinti argumentum update-project NAME spec.display_name

SDK-k és infrastruktúra kódként