デフォルトの Python パッケージリポジトリを構成する
ワークスペース 管理者は、ワークスペース内のプライベートまたは認証済みパッケージリポジトリを、サーバレス ノートブック、サーバレス ジョブ、およびクラシック コンピュートのデフォルト PIP 設定として構成できます。
ワークスペースがデフォルト Python パッケージ リポジトリで構成されている場合、ワークスペース内のユーザーは、index-url
値やextra-index-url
値を明示的に定義しなくても、内部Pythonリポジトリからパッケージをインストールできます。ただし、これらの値がコードまたはノートブックで指定されている場合は、ワークスペース デフォルトよりも優先されます。
この構成 では、Databricks シークレット を活用して、リポジトリの URL と資格情報を安全に保存および管理します。ワークスペース 管理者は、ワークスペース Admin 設定ページを使用するか、定義済みのシークレットスコープと Databricks CLI secrets コマンドまたは REST APIを使用してセットアップを構成できます。
ワークスペースのデフォルト依存関係を設定する
ワークスペース管理者は、ワークスペース管理者設定ページを使用して、デフォルト Python パッケージ リポジトリを追加または削除できます。
- ワークスペース管理者として、Databricks ワークスペースにログインします。
- Databricksワークスペースの上部のバーにあるユーザー名をクリックし、 [設定] を選択します。
- コンピュート タブをクリックします。
- デフォルト・パッケージ・リポジトリ の横にある 管理 をクリックします。
- (オプション)インデックス URL、追加のインデックス URL、またはカスタム SSL 証明書を追加または削除します。
- 保存 をクリックして、変更を保存します。
シークレットの変更または削除は、コンピュート リソースをノートブックに再アタッチした後、またはジョブを再実行した後に適用されます。
シークレット CLI または REST API を使用したセットアップ
CLI または REST API を使用してデフォルトの Python パッケージリポジトリを設定するには、事前定義されたシークレットスコープを作成し、アクセス権限を設定してから、パッケージリポジトリのシークレットを追加します。
定義済みのシークレットスコープ名
ワークスペース管理者は、事前定義されたキーの下で、指定されたシークレットスコープに、認証トークンとシークレットとともにデフォルト pip インデックス URL または追加のインデックス URL を設定できます。
- シークレットスコープ 名:
databricks-package-management
- index-urlのシークレットキー:
pip-index-url
- extra-index-urlsのシークレットキー:
pip-extra-index-urls
- SSL certification contentのシークレットキー:
pip-cert
シークレットスコープを作成する
シークレットスコープは、Databricks CLI secrets コマンドまたは REST APIを使用して作成できます。シークレットスコープを作成したら、すべてのワークスペースユーザーに読み取りアクセス権を付与するようにアクセス制御リストを設定します。 これにより、リポジトリはセキュリティで保護され、個々のユーザーが変更できなくなります。シークレットスコープでは、事前定義されたシークレットスコープ名 databricks-package-management
を使用する必要があります。
databricks secrets create-scope databricks-package-management
databricks secrets put-acl databricks-package-management admins MANAGE
databricks secrets put-acl databricks-package-management users READ
Python パッケージ リポジトリのシークレットを追加する
事前定義されたシークレットキー名を使用して、 Python パッケージリポジトリの詳細を追加します。3 つのフィールドはすべてオプションです。
# Add index URL.
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "pip-index-url", "string_value":"<index-url-value>"}'
# Add extra index URLs. If you have multiple extra index URLs, separate them using white space.
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "pip-extra-index-urls", "string_value":"<extra-index-url-1 extra-index-url-2>"}'
# Add cert content. If you want to pip configure a custom SSL certificate, put the cert file content here.
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "pip-cert", "string_value":"<cert-content>"}'
プライベートな PyPI リポジトリのシークレットを変更または削除する
PyPI リポジトリのシークレットを変更するには、 put-secret
コマンドを使用します。PyPI リポジトリのシークレットを削除するには、以下に示すように delete-secret
を使用します。
# delete secret
databricks secrets delete-secret databricks-package-management pip-index-url
databricks secrets delete-secret databricks-package-management pip-extra-index-urls
databricks secrets delete-secret databricks-package-management pip-cert
# delete scope
databricks secrets delete-scope databricks-package-management