カスタム画像からサンドボックスを作成

Important

この機能は ベータ版です。 ワークスペースでこの機能プレビューを有効にするには、ワークスペースプレビューページの Databricksサンドボックス 設定に切り替えてください。 Manage Azure Databricks プレビューを参照してください。

Artifact Registryに保存された自分のコンテナイメージからサンドボックスを作成できます。 Artifact RegistryはコンテナイメージをUnity Catalogの管理アセットとして保存するため、Unity Catalogの権限でアクセスを制御できます。 サンドボックスはイメージのパッケージ、ツール、設定がすでにインストールされている状態で始まるため、サンドボックスを作成するたびに依存関係をインストールする必要はありません。

Databricks Sandboxの概要については、 Databricks Sandboxをご覧ください。

Requirements

  • あなたのワークスペースはDatabricksサンドボックスの前提条件を満たしています。 「前提条件」を参照してください。
  • あなたのワークスペースは、Databricks Artifact Registry プレビューを有効にすることを含む、アーティファクト レジストリの前提条件を満たしています。 要件を参照してください。
  • 画像を含むカタログおよびスキーマに対して、USE CATALOG、USE SCHEMA、READ VOLUME の権限があります。 「 許可の付与」を参照してください。
  • 画像はglibc 2.25以上を使用しています。 イメージがUbuntuベースを使っている場合は、Ubuntu 18.04以降を使いましょう。 Alpine Linuxのようにglibcの代わりにmuslを使用するイメージや、それに基づいて構築されたイメージ(例: python:<version>-alpine や node:<version>-alpine)はサポートされていません。

画像をプッシュしてサンドボックスを作りましょう

  1. Dockerでイメージを構築し、Artifact Registryにプッシュします。 「イメージをプッシュする」を参照してください。

  2. 画像の高速化の状態が SUCCESS になるまで待ちます。 イメージアクセラレーションはプッシュした後に自動的に実行され、15分以上かかることもあります。 「 画像加速状況の確認」を参照してください。

  3. サンドボックスを作成し、image_uri を catalog.schema.artifact:tag の形式で画像の Unity Catalog 名に設定します。 正確なバージョンをピン留めするには、タグの代わりにダイジェスト(ダイジェスト)を使ってください: catalog.schema.artifact@sha256:<digest>。

    例えば、 main.agents.agent-base:v1 画像からサンドボックスを作成するには、以下を実行します。

    from databricks.sdk import WorkspaceClient
    from databricks.sdk.service.sandbox import EnvironmentSpec, Sandbox, SandboxSpec
    
    w = WorkspaceClient()
    
    created = w.sandbox.create_sandbox(
        sandbox=Sandbox(
            spec=SandboxSpec(
                environment=EnvironmentSpec(image_uri="main.agents.agent-base:v1"),
            ),
        ),
        sandbox_id="my-custom-sandbox",
    )
    print(created.name)   # "sandboxes/my-custom-sandbox"
    

カスタムイメージから作成されたサンドボックスは、他のサンドボックスと同じ永続的なホームディレクトリと停止と起動の動作を保持します。

Troubleshooting

作成リクエストが失敗した場合は、エラーメッセージを確認してください:

  • Image <uri> is not ready for use:画像加速はまだ完了していません。 画像の高速化の状態を確認し、SUCCESS 状態になったら再試行してください。
  • Not authorized to access image <uri>画像に必要な権限を持っていません。 カタログやスキーマの所有者にそれらを付与してもらってください。

Limitations

  • カスタムイメージはアーティファクトレジストリに保存する必要があります。 外部レジストリのイメージからサンドボックスを作成することはできません。Azure Databricks はイメージをビルドしません。
  • カスタム画像から作成されたサンドボックスは、デフォルト環境を使うサンドボックスよりも起動に時間がかかることがあります。

その他のリソース