Azure CLI 身份验证

Azure CLI 身份验证使用 Azure CLI 对登录用户进行身份验证

若要使用 Azure Databricks 进行配置,必须执行以下操作:

  1. 在本地安装 Azure CLI
  2. 运行 az login 命令,使用 Azure CLI 登录到 Azure Databricks。 请参阅:
  3. 设置以下关联的环境变量、.databrickscfg 字段、Terraform 字段或 Config 字段:
    • Azure Databricks 主机。
      • 对于帐户操作,请指定 https://accounts.databricks.azure.cn
      • 对于工作区操作,请指定每工作区 URL,例如 https://adb-1234567890123456.7.databricks.azure.cn
    • 对于帐户操作,请指定 Azure Databricks 帐户 ID

若要使用 Azure Databricks 执行 Azure CLI 身份验证,请根据相关的工具或 SDK 在代码中集成以下内容:

环境

要将特定 Azure Databricks 身份验证类型的环境变量与工具或 SDK 结合使用,请参阅 Azure Databricks 工具或 SDK 支持的身份验证类型或者有关该工具或 SDK 的文档。 另请参阅客户端统一身份验证的环境变量和字段客户端统一身份验证方法和凭据的默认评估顺序

对于帐户级操作,请设置以下环境变量:

  • DATABRICKS_HOST,设置为 Azure Databricks 帐户控制台 URL 的值,即 https://accounts.databricks.azure.cn
  • DATABRICKS_ACCOUNT_ID

对于工作区级操作,请设置以下环境变量:

  • DATABRICKS_HOST,设置为 Azure Databricks 每工作区 URL 的值,例如 https://adb-1234567890123456.7.databricks.azure.cn

配置文件

.databrickscfg 文件中使用以下字段创建或标识 Azure Databricks 配置文件。 如果创建配置文件,请将占位符替换为相应值。 要将配置文件与工具或 SDK 结合使用,请参阅 Azure Databricks 工具或 SDK 支持的身份验证类型,或者有关该工具或 SDK 的文档。 另请参阅客户端统一身份验证的环境变量和字段客户端统一身份验证方法和凭据的默认评估顺序

对于帐户级别的操作,请在 .databrickscfg 文件中设置以下值。 在本例中,Azure Databricks 帐户控制台 URL 为 https://accounts.databricks.azure.cn

[<some-unique-configuration-profile-name>]
host       = <account-console-url>
account_id = <account-id>

对于工作区级别的操作,请在 .databrickscfg 文件中设置以下值。 在本例中,主机是 Azure Databricks 每工作区 URL,例如 https://adb-1234567890123456.7.databricks.azure.cn

[<some-unique-configuration-profile-name>]
host = <workspace-url>

Cli

对于 Databricks CLI,请执行以下操作之一:

  • 按本文“环境”部分所述设置环境变量。
  • 按照本文“配置文件”部分所述设置 .databrickscfg 文件中的值。

环境变量始终优先于 .databrickscfg 文件中的值。

另请参阅 Azure CLI 身份验证

连接

注意

以下 Databricks Connect 版本支持 Azure CLI 身份验证:

  • 对于 Python,适用于 Databricks Runtime 13.1 及更高版本的 Databricks Connect。
  • 对于 Scala,适用于 Databricks Runtime 13.3 LTS 及更低版本的 Databricks Connect。

对于 Databricks Connect,可以执行以下操作之一:

  • 按照本文“配置文件”部分所述为 Azure Databricks 工作区级别操作设置 .databrickscfg 文件中的值。 此外,将配置文件中的 cluster_id 环境变量设置为每工作区 URL,例如 https://adb-1234567890123456.7.databricks.azure.cn
  • 按照本文“环境”部分所述为 Azure Databricks 工作区级别操作设置环境变量。 此外,将 DATABRICKS_CLUSTER_ID 环境变量设置为每工作区 URL,例如 https://adb-1234567890123456.7.databricks.azure.cn

.databrickscfg 文件中的值始终优先于环境变量。

若要使用 .databrickscfg 文件中的以下环境变量或值初始化 Databricks Connect 客户端,请参阅以内容之一:

VS Code

对于适用于 Visual Studio Code 的 Databricks 扩展,请执行以下操作:

  1. 在“配置”窗格中单击“配置 Databricks”。
  2. 在“命令面板”中,对于“Databricks 主机”,请输入每个工作区的 URL(例如 https://adb-1234567890123456.7.databricks.azure.cn),然后按 Enter
  3. 选择“Azure CLI”。

有关详细信息,请参阅设置 Azure CLI 身份验证

Terraform

对于帐户级操作,对于默认身份验证

provider "databricks" {
  alias = "accounts"
}

对于直接配置(将 retrieve 占位符替换为你自己的实现,以从控制台或 HashiCorp Vault 等其他某个配置存储检索值)。另请参阅保管库提供程序)。 在本例中,Azure Databricks 帐户控制台 URL 为 https://accounts.databricks.azure.cn

provider "databricks" {
  alias      = "accounts"
  host       = <retrieve-account-console-url>
  account_id = <retrieve-account-id>
}

对于工作区级操作,对于默认身份验证

provider "databricks" {
  alias = "workspace"
}

对于直接配置(将 retrieve 占位符替换为你自己的实现,以从控制台或 HashiCorp Vault 等其他某个配置存储检索值)。另请参阅保管库提供程序)。 在本例中,主机是 Azure Databricks 每工作区 URL,例如 https://adb-1234567890123456.7.databricks.azure.cn

provider "databricks" {
  alias = "workspace"
  host  = <retrieve-workspace-url>
}

有关使用 Databricks Terraform 提供程序进行身份验证的详细信息,请参阅身份验证

Python

对于帐户级操作,对于默认身份验证

from databricks.sdk import AccountClient

a = AccountClient()
# ...

对于直接配置(将 retrieve 占位符替换为你自己的实现,以从控制台或 Azure KeyVault 等其他某个配置存储检索值)。 在本例中,Azure Databricks 帐户控制台 URL 为 https://accounts.databricks.azure.cn

from databricks.sdk import AccountClient

a = AccountClient(
  host       = retrieve_account_console_url(),
  account_id = retrieve_account_id()
)
# ...

对于工作区级操作,对于默认身份验证

from databricks.sdk import WorkspaceClient

w = WorkspaceClient()
# ...

对于直接配置(将 retrieve 占位符替换为你自己的实现,以从控制台或 Azure KeyVault 等其他某个配置存储检索值)。 在本例中,主机是 Azure Databricks 每工作区 URL,例如 https://adb-1234567890123456.7.databricks.azure.cn

from databricks.sdk import WorkspaceClient

w = WorkspaceClient(host = retrieve_workspace_url())
# ...

有关借助使用 Python 并实现 Databricks 客户端统一身份验证的 Databricks 工具和 SDK 进行身份验证的详细信息,请参阅:

Java

对于帐户级操作,对于默认身份验证

import com.databricks.sdk.AccountClient;
// ...
AccountClient a = new AccountClient();
// ...

对于直接配置(将 retrieve 占位符替换为你自己的实现,以从控制台或 Azure KeyVault 等其他某个配置存储检索值)。 在本例中,Azure Databricks 帐户控制台 URL 为 https://accounts.databricks.azure.cn

import com.databricks.sdk.AccountClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
  .setHost(retrieveAccountConsoleUrl())
  .setAccountId(retrieveAccountId())
AccountClient a = new AccountClient(cfg);
// ...

对于工作区级操作,对于默认身份验证

import com.databricks.sdk.WorkspaceClient;
// ...
WorkspaceClient w = new WorkspaceClient();
// ...

对于直接配置(将 retrieve 占位符替换为你自己的实现,以从控制台或 Azure KeyVault 等其他某个配置存储检索值)。 在本例中,主机是 Azure Databricks 每工作区 URL,例如 https://adb-1234567890123456.7.databricks.azure.cn

import com.databricks.sdk.WorkspaceClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
  .setHost(retrieveWorkspaceUrl())
WorkspaceClient w = new WorkspaceClient(cfg);
// ...

有关借助使用 Java 并实现 Databricks 客户端统一身份验证的 Databricks 工具和 SDK 进行身份验证的详细信息,请参阅:

Go

对于帐户级操作,对于默认身份验证

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient())
// ...

对于直接配置(将 retrieve 占位符替换为你自己的实现,以从控制台或 Azure KeyVault 等其他某个配置存储检索值)。 在本例中,Azure Databricks 帐户控制台 URL 为 https://accounts.databricks.azure.cn

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient(&databricks.Config{
  Host:      retrieveAccountConsoleUrl(),
  AccountId: retrieveAccountId(),
}))
// ...

对于工作区级操作,对于默认身份验证

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient())
// ...

对于直接配置(将 retrieve 占位符替换为你自己的实现,以从控制台或 Azure KeyVault 等其他某个配置存储检索值)。 在本例中,主机是 Azure Databricks 每工作区 URL,例如 https://adb-1234567890123456.7.databricks.azure.cn

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
  Host: retrieveWorkspaceUrl(),
}))
// ...

有关借助使用 Go 并实现 Databricks 客户端统一身份验证的 Databricks 工具和 SDK 进行身份验证的详细信息,请参阅使用 Azure Databricks 帐户或工作区对 Databricks SDK for Go 进行身份验证