メインコンテンツまでスキップ

LakebaseオートスケールAPIガイド

備考

Lakebase オートスケールは次のリージョンで利用できます: us-east-1us-east-2eu-central-1eu-west-1eu-west-2ap-south-1ap-southeast-1ap-southeast-2

Lakebase オートスケールは、オートスケール コンピュート、ゼロへのスケール、分岐、即時復元を備えた Lakebase の最新バージョンです。 Lakebase プロビジョニングとの機能の比較については、 「バージョン間の選択」を参照してください。

このページでは、認証、利用可能なエンドポイント、 REST API 、 Databricks CLI 、 Databricks SDK ( Python 、 Java 、Go)、およびTerraformを操作するための一般的なパターンなど、Lakebase オートスケールAPIの概要について説明します。

完全な API リファレンスについては、 Postgres API ドキュメントを参照してください。

重要

Lakebase Postgres API は ベータ版 です。APIエンドポイント、問題、および動作は変更される可能性があります。

認証

Lakebase オートスケールAPI 、プロジェクト インフラストラクチャの管理 (プロジェクトの作成、設定の構成など) に ワークスペース レベルのOAuth認証を 使用します。

注記

2 種類の接続 : このAPIは プラットフォーム管理 (プロジェクト、ブランチ、コンピュートの作成) 用です。 データベース アクセス (クエリ データへの接続) の場合:

  • SQL クライアント (psql、pgAdmin、DBeaver): LakeBase OAuth トークンまたは Postgres パスワードを使用します。認証を参照してください。
  • データ API (RESTful HTTP): LakeBase OAuth トークンを使用します。データ API を参照してください。
  • プログラミング言語ドライバー (psycopg、SQLAlchemy、JDBC): LakeBase OAuth トークンまたは Postgres パスワードを使用します。クイックスタートを参照してください。

これら 2 つの認証レイヤーの詳細な説明については、 「認証アーキテクチャ」を参照してください。

認証を設定する

Databricks CLI を使用して認証します。

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

ブラウザのプロンプトに従ってログインします。CLI は OAuth トークンを~/.databricks/token-cache.jsonにキャッシュします。

次にアクセス方法を選択します。

SDK は統合認証を使用し、OAuth トークンを自動的に処理します。

Python
from databricks.sdk import WorkspaceClient

w = WorkspaceClient()

詳細については、 「OAuth を使用して Databricks へのユーザー アクセスを承認する」を参照してください。

利用可能なエンドポイント(ベータ版)

すべてのエンドポイントは基本パス/api/2.0/postgres/を使用します。

プロジェクト

オペレーション

手法

エンドポイント

ドキュメント

プロジェクトを作成

POST

/projects

プロジェクトを作成する

プロジェクトを更新

PATCH

/projects/{project_id}

一般設定

プロジェクトを削除

DELETE

/projects/{project_id}

プロジェクトを削除する

プロジェクトを取得

GET

/projects/{project_id}

プロジェクトの詳細を取得する

プロジェクトの一覧

GET

/projects

プロジェクトの一覧

ブランチ

オペレーション

手法

エンドポイント

ドキュメント

ブランチを作成

POST

/projects/{project_id}/branches

ブランチを作成

ブランチを更新

PATCH

/projects/{project_id}/branches/{branch_id}

ブランチ設定を更新する

ブランチを削除

DELETE

/projects/{project_id}/branches/{branch_id}

ブランチを削除する

ブランチを取得

GET

/projects/{project_id}/branches/{branch_id}

ブランチを表示

ブランチを一覧表示する

GET

/projects/{project_id}/branches

ブランチを一覧表示する

エンドポイント (コンピュートとリードレプリカ)

オペレーション

手法

エンドポイント

ドキュメント

エンドポイントを作成

POST

/projects/{project_id}/branches/{branch_id}/endpoints

コンピュートの作成/リードレプリカの作成

エンドポイントを更新

PATCH

/projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}

コンピュートの編集/リードレプリカの編集

エンドポイントを削除

DELETE

/projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}

コンピュートの削除/リードレプリカの削除

エンドポイントを取得

GET

/projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}

コンピュートを見る

エンドポイントを一覧表示する

GET

/projects/{project_id}/branches/{branch_id}/endpoints

コンピュートを見る

データベース資格情報

オペレーション

手法

エンドポイント

ドキュメント

データベース資格情報を生成する

POST

/credentials

OAuth認証

オペレーション

オペレーション

手法

エンドポイント

ドキュメント

取得操作

GET

/projects/{project_id}/operations/{operation_id}

以下の例を参照してください

取得操作

リソース名で長時間実行操作のステータスを確認します。

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

一般的なパターン

リソースの命名

リソースは、子リソースのスコープが親に設定される階層的な名前付けパターンに従います。

プロジェクトでは次の形式を使用します:

projects/{project_id}

操作などの子リソースは、親プロジェクトの下にネストされます。

projects/{project_id}/operations/{operation_id}

つまり、操作やその他の子リソースにアクセスするには、親プロジェクト ID が必要になります。

リソースID:

リソースを作成するときは、 project_idbranch_id 、またはendpoint_idリソース ID ( my-appなど) を指定する必要があります。 この ID は、API 呼び出しのリソース パスの一部になります ( projects/my-app/branches/developmentなど)。

オプションでdisplay_nameを指定して、リソースにさらに説明的なラベルを付けることもできます。表示名を指定しない場合は、システムはリソース ID を表示名として使用します。

:::tip UI でリソースを見つける

Lakebase UI でプロジェクトを見つけるには、プロジェクト リストでその表示名を探します。プロジェクトの作成時にカスタム表示名を指定しなかった場合は、 project_id (「my-app」など) を検索します。

:::

注記

リソース ID は作成後に変更することはできません。

要件:

  • 1~63文字で入力してください
  • 小文字、数字、ハイフンのみ
  • ハイフンで始まったり終わったりすることはできません
  • 例: my-appanalytics-dbcustomer-123

長期実行オペレーション(LRO)

作成、更新、および削除操作では、完了ステータスを提供するdatabricks.longrunning.Operationオブジェクトが返されます。

操作応答の例:

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

GetOperation を使用して完了をポーリングします。

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

マスクを更新する

更新操作には、変更するフィールドを指定するupdate_mask問題が必要です。 これにより、関係のないフィールドが誤って上書きされることがなくなります。

フォーマットの違い:

手法

フォーマット

REST API

クエリー

?update_mask=spec.display_name

Python SDK

FieldMaskオブジェクト

update_mask=FieldMask(field_mask=["spec.display_name"])

CLI

位置的議論

update-project NAME spec.display_name

追加リソース

SDK とInfrastructure-as-Code