将另一个 Databricks 应用 添加为应用的资源,以便它可以与其他已部署的应用通信。 这可实现应用到应用交互,例如调用另一应用的 API 或跨多个应用协调工作流。
添加 Databricks 应用资源
将应用添加为资源之前,请查看 应用资源先决条件。
- 创建或编辑应用时,导航到 “配置” 步骤。
- 在 “应用资源 ”部分中,单击“ + 添加资源”。
- 选择 Databricks 应用 作为资源类型。
- 从工作区中的可用应用中选择目标应用。
- 选择应用 的权限级别 :
-
可以使用: 授予应用程序拨打和调用目标应用的权限。 对应于
CAN USE特权。
-
可以使用: 授予应用程序拨打和调用目标应用的权限。 对应于
- (可选)指定自定义资源密钥,即在应用配置中引用目标应用的方式。 默认键为
app.
添加 Databricks 应用资源时:
- Azure Databricks 向应用的服务主体
CAN USE授予对目标应用的权限。 - 应用可以调用目标应用的终结点。
环境变量
使用应用资源部署应用时,Azure Databricks 通过可以使用该字段引用 valueFrom 的环境变量公开目标应用的名称(而不是其 URL)。 若要获取目标应用的 URL,请使用 Azure Databricks SDK 解析名称。
示例配置:
env:
- name: MY_OTHER_APP
valueFrom: app # Use your custom resource key if different
若要在应用程序中解析目标应用的 URL,请执行以下操作:
import os
from databricks.sdk import WorkspaceClient
# Access the target app name from the environment variable
w = WorkspaceClient()
other_app = w.apps.get(name=os.environ["MY_OTHER_APP"])
# Get the target app's URL
url = other_app.url # e.g. "https://my-other-app-12345.cloud.databricksapps.com"
有关详细信息,请参阅 使用环境变量访问资源。
删除 Databricks 应用资源
删除应用资源时,Databricks 将从目标应用的权限集中删除 CAN USE 权限。 你的应用无法再调用或启动目标应用。 目标应用本身保持不变,并继续可供具有适当权限的其他用户和应用程序使用。
最佳做法
使用 Databricks 应用资源时,请考虑以下事项:
- 使用环境变量和 Azure Databricks SDK 在运行时解析目标应用的 URL,而不是硬编码 URL,使应用可跨环境移植。
- 为目标应用不可用或返回错误的情况实现错误处理。
- 监视目标应用的运行状况和可用性,尤其是在应用依赖于这些应用提供关键功能时。