Terraform の統合
Databricks Git フォルダーは、 Terraform と databricks_repo Terraform リソースを使用して、完全に自動化された環境で管理できます。Terraform 構成 (.tf
) ファイルで、Git フォルダーに使用する Git リポジトリの URL に databricks_repo
を設定します。
resource "databricks_repo" "this" {
url = "https://github.com/user/demo.git"
}
特定のGit 資格情報を持つDatabricks サービスプリンシパルを使用するには、プロバイダーとリソースの次の構成を追加します。
- プロバイダー
databricks
を Databricks ワークスペースの URL に設定します。アクセストークンdatabricks_obo_token
は、別の手順で定義します。
provider "databricks" {
# Configuration options
}
# Example 'databricks' provider configuration
provider "databricks" {
alias = "sp"
host = "https://....cloud.databricks.com"
token = databricks_obo_token.this.token_value
}
- Databricks サービスプリンシパルのリソースと認証トークンを定義します。サービスプリンシパルの名前は、 Databricks アカウントコンソールの ユーザー管理 > サービスプリンシパル で確認できます。
resource "databricks_service_principal" "sp" {
display_name = "<service_principal_name_here>"
}
- Databricks サービスプリンシパル アカウントの認証トークンを、そのアプリケーション ID を使用して設定します。サービスプリンシパルのアプリケーション ID は、 Databricks アカウント コンソールの ユーザー管理 > サービスプリンシパル で確認できます。
resource "databricks_obo_token" "this" {
application_id = databricks_service_principal.sp.application_id
comment = "PAT on behalf of ${databricks_service_principal.sp.display_name}"
lifetime_seconds = 3600
}
- GitサービスプリンシパルがDatabricks ワークスペースにアクセスするために使用する 資格情報を設定します。
resource "databricks_git_credential" "sp" {
provider = databricks.sp
depends_on = [databricks_obo_token.this]
git_username = "<the_git_user_account_used_by_the_servcie_principal>"
git_provider = "<your_git_provider_string here>"
personal_access_token = "<auth_token_string_for_git_user>"
}