配置默认包存储库

Important

Workspace 管理员可以通过以下设置控制 预览页面对 这些功能的访问:

  • Spark 声明式管道中的默认 Python 包仓库(公开可用)
  • 通过API创建的集群中的默认Python包仓库(公开提供)
  • 通过UI创建的集群中的默认Python包仓库(公开可用)

如果工作区配置了默认包存储库,则工作区中的用户可以从内部存储库安装包,而无需显式定义index-urlextra-index-urlPython的值或 npm 的注册表。 如果这些值是在代码、笔记本或应用 app.yaml 文件中指定的,则它们优先于工作区默认值。 有关 Databricks 应用中的优先顺序如何运作,请参阅《使用工作区级默认包存储库》。

此配置利用 Databricks 机密 安全地存储和管理存储库 URL 和凭据。 工作区管理员可以使用工作区管理员设置页或使用预定义的机密范围和 Databricks CLI 机密命令REST API 配置设置。

为工作区设置默认依赖项

工作区管理员可以使用工作区管理员设置页添加或删除默认包存储库。

  1. 作为工作区管理员,登录到 Databricks 工作区。
  2. 单击 Databricks 工作区顶部栏中的用户名,然后选择“设置”
  3. 单击“计算”选项卡
  4. 默认包存储库旁边,单击 管理
  5. (可选)添加或删除Python索引 URL、额外的索引 URL、自定义 SSL 证书或 npm 注册表配置。
  6. 单击“保存”以保存更改。

注释

根据工作负荷类型,对机密的修改或删除以不同的方式应用。 对于无服务器笔记本和作业,在将计算资源重新附加到笔记本或重新运行作业后,将应用更改。 对于经典笔记本和作业,更改会在重启计算资源后生效。 对于 Lakeflow 管道,更改将应用于新的管道运行中。 对于 Databricks Apps,更改将在下次构建和部署应用时生效。

使用机密 CLI 或 REST API 进行设置

若要使用 CLI 或 REST API 配置默认包存储库,请创建预定义的机密范围并配置访问权限,然后添加包存储库机密。

预定义的机密范围名称

工作区管理员可以在预定义密钥下的指定机密范围内设置默认 pip 索引 URL、额外的索引 URL、SSL 证书和 npm 配置以及身份验证令牌和机密:

  • 机密范围名称:databricks-package-management
  • 索引 URL 的密钥:pip-index-url
  • extra-index-url 的密钥:pip-extra-index-urls
  • SSL 认证内容的密钥:pip-cert

创建机密作用域

可以使用 Databricks CLI 机密命令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 代码仓库适用于笔记本、作业、Lakeflow 管道和 Databricks 应用。

Python

使用预定义的密钥名称添加Python包存储库详细信息,所有三个字段都是可选的。

# 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>"}'

注释

如果存储库需要身份验证,请对索引 URL 使用以下格式之一:

  • 用户名和密码: https://<username>:<password>@<index_url>
  • 令 牌: https://<token>@<index_url>

修改或删除包存储库机密

若要修改包存储库机密,请使用 put-secret 命令。 若要删除包存储库机密,请使用 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