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

Databricks アプリに Databricks アプリ リソースを追加する

デプロイされた他のアプリと通信できるように、別のDatabricks アプリをアプリのリソースとして追加します。これにより、別のアプリの API を呼び出したり、複数のアプリ間でワークフローを調整したりするなど、アプリ間のやり取りが可能になります。

Databricks アプリリソースを追加する

アプリをリソースとして追加する前に、アプリ リソースの前提条件を確認してください。

  1. アプリを作成または編集するときは、 「構成」 ステップに移動します。

  2. [アプリ リソース] セクションで、 [+ リソースの追加] をクリックします。

  3. リソースの種類として Databricks アプリを 選択します。

  4. ワークスペース内の利用可能なアプリからターゲット アプリを選択します。

  5. アプリの権限レベルを選択します:

    • 使用可能: アプリにターゲット アプリを呼び出して起動する権限を付与します。CAN USE権限に相当します。
  6. (オプション) アプリ構成でターゲット アプリを参照する方法であるカスタム リソース キーを指定します。デフォルトのキーはappです。

Databricks アプリ リソースを追加すると、次のようになります。

  • Databricks 、アプリのサービス プリンパルシにターゲット アプリに対するCAN USE権限を付与します。
  • アプリはターゲット アプリのエンドポイントを呼び出すことができます。

環境変数

アプリ リソースを使用してアプリをデプロイすると、Databricks は、 valueFromフィールドを使用して参照できる環境変数を通じて、ターゲット アプリの名前 (URL ではありません) を公開します。ターゲット アプリの URL を取得するには、Databricks SDK を使用して名前を解決します。

構成例:

YAML
env:
- name: MY_OTHER_APP
valueFrom: app # Use your custom resource key if different

アプリケーションでターゲット アプリの URL を解決するには:

Python
import os
from databricks.sdk import WorkspaceClient

# Access the target app name from the environment variable
w = WorkspaceClient()
other_app = w.apps.get(name=os.environ["MY_OTHER_APP"])

# Get the target app's URL
url = other_app.url # e.g. "https://my-other-app-12345.cloud.databricksapps.com"

詳細については、 「環境変数を使用してリソースにアクセスする」を参照してください。

Databricks アプリのリソースを削除する

アプリ リソースを削除すると、Databricks はターゲット アプリのアクセス許可セットからCAN USEアクセス許可を削除します。アプリはターゲット アプリを呼び出せなくなります。対象アプリ自体は変更されず、適切な権限を持つ他のユーザーやアプリケーションが引き続き利用できます。

ベストプラクティス

Databricks アプリ リソースを操作するときは、次の点を考慮してください。

  • 環境変数とDatabricks SDKを使用して、URL をハードコーディングするのではなく、ランタイム時にターゲット アプリの URL を解決します。これにより、アプリの環境間での移植性が維持されます。
  • 対象アプリが利用できない、またはエラーを返す場合のエラー処理を実装します。
  • 特にアプリが重要な機能でターゲット アプリに依存している場合は、ターゲット アプリの健全性と可用性を監視します。