问题
您正在运行一个工作用笔记本存储在远程Git存储库(AWS|Azure|GCP)。砖的用户可以查看权限(不是一个工作区管理或工作)的所有者不能访问或视图的结果提交通过短暂的工作dbutils.notebook.run ()从父母的笔记本。
导致
当工作能见度控制(AWS|Azure|GCP在工作区中启用),用户只能看到工作允许的访问控制级别。这是预期笔记本存储在工作区。然而,砖并不为远程管理访问控制Git存储库时,所以它不知道是否有权限限制笔记本存储在Git。唯一砖肯定用户有权限访问的笔记本在偏远的Git存储库是老板的工作。因此,其他非管理用户无法查看,即使他们有可以查看砖的权限。
解决方案
你可以解决这个问题通过配置工作笔记本源砖工作区,使你的工作的首要任务从远程Git存储库获取最新的变化。
这允许场景工作必须确保使用最新版本的一个笔记本存储在一个共享,远程Git存储库。
这张图片说明了两部分的过程。首先,您获取最新更改的笔记本从远程Git存储库。之后,最新版本的笔记本已经同步,你开始运行笔记本作为工作的一部分。
配置秘密访问
创建一个砖个人访问令牌
遵循个人用户访问令牌(AWS|Azure|GCP)的文档创建一个个人访问令牌。
创建一个秘密范围
遵循创建一个Databricks-backed秘密范围(AWS|Azure|GCP)文档创建秘密范围。
你的个人访问令牌和砖实例存储在保密范围
遵循创建一个秘密Databricks-backed范围(AWS|Azure|GCP)文档存储个人访问令牌和砖实例创建新的秘密范围内你的秘密。
砖实例是工作空间的主机名,例如,xxxxx.cloud.www.neidfyre.com。
使用一个脚本同步最新的变化
这个示例Python代码将从远程Git存储库的最新修订,并与当地的笔记本同步。这样可以确保当地的笔记本电脑是最新的前处理工作。
你需要运行脚本之前替换以下值:
- < repo-id >——远程Git存储库的名称。
- < scope-name >——你的名字包含秘密范围。
- < secret-name-1 >——秘密的名字会握着你的砖实例。
- < secret-name-2 >——秘密的名称保存你的个人访问令牌。
% python导入请求导入json databricks_instance = dbutils.secrets。get(范围= " < scope-name >”,关键= < secret-name-1 >)令牌= dbutils.secrets。get(范围= " < scope-name >”,关键= < secret-name-2 >) url = f”{databricks_instance} / api / 2.0 /回购/ < repo-id >”#使用回购api获得回购id https://docs.www.neidfyre.com/dev-tools/api/latest/repos.html操作/ get-repos载荷= json。转储({“分支”:“主要”#使用分支/标记。请参阅https://docs.www.neidfyre.com/dev-tools/api/latest/repos.html操作/ update-repo})头={“授权”:f“无记名{牌}”,“内容类型”:“application / json”} =请求响应。url请求(“补丁”,标题=头,data =有效载荷,超时= 60)打印(response.text)如果反应。status_code ! = 200:提高提取操作期间例外(f”失败。响应代码:{响应}”)