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

ローカルマシンからAPI Databricksアプリに接続する

HTTP API を公開する Databricks アプリ (FastAPI や Gradio アプリなど) をローカル環境から直接呼び出すことができます。これは、テストや外部クライアントの構築に役立ちます。

注記

このメソッドは、 APIsまたはエンドポイントを公開するアプリにのみ適用されます。 ユーザー インターフェースまたはバックグラウンド処理のみを提供するアプリの場合、ローカル マシンから接続することはできません。

要件

ローカル マシンから Databricks アプリに接続するには、次の要件を満たす必要があります。

アクセストークンを生成する

アプリで認証するには、 Databricks CLIまたは SDK を使用してアクセスウイルスを生成します。

  1. CLI でログインします。

    Bash
    databricks auth login --host https://<workspace-url> --profile my-env

    Databricks では、OAuth ユーザー対マシン (U2M) 認証の使用を推奨しています。

  2. アクセス許可を生成する:

Bash
databricks auth token --profile my-env

ユーザー認証の OAuth スコープを指定する

前のセクションで示したように、統合認証で Databricks CLI または SDK を使用する場合、ツールは基本のall-apisスコープを自動的に要求します。ただし、アプリでユーザー認証を使用する場合は、カスタムOAuthフローを使用して、追加のスコープを持つアクセスを手動でリクエストする必要があります。

「編集」 > 「ユーザー認証」 で構成されたスコープがアクセスウイルスに含まれていることを確認してください。 トークンに必要なスコープがない場合、リクエストは 401 または 403 エラーで失敗する可能性があります。

たとえば、次のリクエストは、 sqlfile.files 、およびdashboards.genieスコープを使用してアクセス許可を明示的にリクエストします。

Bash
curl --request POST \
https://<databricks-instance>/oidc/v1/token \
--data "client_id=databricks-cli" \
--data "grant_type=authorization_code" \
--data "redirect_uri=<redirect-url>" \
--data "code_verifier=<code-verifier>" \
--data "code=<authorization-code>" \
--data "scope=sql file.files dashboards.genie"

完全な手順については、 OAuth U2M アクセスを手動で生成する」を参照してください。

アプリにリクエストを送信する

Authorization ヘッダーにトークンを含めます。

Bash
curl -H "Authorization: Bearer <YOUR_TOKEN>" \
https://<workspace-url>/apps/<app-id>/<endpoint>

セキュリティに関する考慮事項

ローカル環境からアプリに接続する場合は、次のセキュリティのベスト プラクティスに従ってください。

  • ソースコードにアクセスウイルスをハードコーディングしないでください。 環境変数または安全な資格情報ストアを使用します。
  • トークンが侵害された場合のセキュリティ リスクを最小限に抑えるため、トークンを定期的に更新します。
  • アプリケーション ログにアクセス ネットワークや機密データを記録しないようにします。

トラブルシューティング

ローカル マシンからアプリに接続するときに問題が発生した場合は、次のソリューションを試してください。

認証失敗(401エラー)

次の点を確認してください。

  • トークンは有効です (実行databricks auth token --profile my-env )
  • プロフィールは正しく設定されています databricks auth login
  • トークンの有効期限は切れていません
  • トークンには必要な OAuth スコープが含まれています (アプリの [構成] タブを確認してください)。CLI/SDK ツールはall-apisような基本的なスコープのみを提供するため、ユーザー認証やエージェントには不十分な可能性があります。

権限が拒否されました(403 エラー)

アプリに対するCAN USE権限があることを確認してください。

アプリが見つかりません(404エラー)

次の点を確認してください。

  • IDとワークスペースURLは正しいです
  • アプリがデプロイされ実行されている
  • エンドポイントパスはアプリ内に存在します

ネットワーク接続の問題

次の点を確認してください。

  • ネットワークではアウトバウンドHTTPS接続が許可されています
  • *.databricksapps.comドメインはネットワークからアクセス可能です

さらに、組織が構成を必要とするプロキシを使用しているかどうかを確認します。

参照

詳細については、次のリソースを参照してください。