本文档介绍了如何使用 searchLineageStreaming API 查找多级跨区域数据沿袭。
searchLineageStreaming API 从一组已定义的根实体开始,在指定方向(上游或下游)执行广度优先搜索,并以实时流式传输响应的形式返回统一的沿袭图。
与可能在大型多项目图上超时的标准沿袭查找 API 不同,searchLineageStreaming 可提供实时分块响应。在构建需要遍历广泛、深入或跨区域数据架构且不会发生请求超时的工具时,请使用此 API。
如需了解详情,请参阅多区域沿袭搜索简介。
主要功能
searchLineageStreaming API 包含以下功能:
广度优先搜索:逐层遍历沿袭图,准确计算每个关联资产的深度。
流式响应:在后端系统发现子图和沿袭链接时返回这些内容。对于广泛或深入的沿袭图,此方法非常高效,并且可以防止请求超时。
多位置和多项目遍历:虽然您仅在请求路径中指定了一个结算项目,但只要您拥有所需的权限,API 就会自动发现并遍历多个 Google Cloud 项目和地理位置的沿袭链接。
精细的列级沿袭数据:支持搜索资产之间的列级依赖关系。
通配符查找:通过在完全限定名称 (FQN) 后添加
*,您可以检索特定实体的所有列级沿袭。流水线数据洞见:选择性地检索有关创建沿袭链接的转换流水线(进程)的元数据。
准备工作
在向 API 发出请求之前,请确保您已满足以下安全和环境前提条件:
所需的角色
如需获得搜索数据沿袭链接所需的权限,请让您的管理员为您授予存储沿袭链接和流程的项目的 Data Lineage Viewer (roles/datalineage.viewer) IAM 角色。
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
此预定义角色包含搜索数据沿袭链接所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
您必须拥有以下权限才能搜索数据沿袭链接:
-
搜索实体级沿袭:
存储关联的项目中的
datalineage.events.get -
搜索列级沿袭:
存储关联的项目中的
datalineage.events.getFields -
检索完整的流水线流程详细信息:对存储流程的项目具有
datalineage.processes.get权限
资源范围界定
配置 API 请求时,您必须区分用于管理结算的资源和 API 扫描的实际位置:
结算父级路径:网址请求中的
parent路径必须采用projects/project/locations/location格式。此特定项目-位置对专门用于评估结算配额和 API 速率限制。目标位置:在请求正文内的
locations数组中明确定义您希望后端扫描的区域。
身份验证设置
使用 Google Cloud 访问令牌初始化环境变量,以对 curl 命令进行身份验证:
export ACCESS_TOKEN=$(gcloud auth print-access-token)
用法示例
以下示例使用端点 datalineage.googleapis.com。
搜索多级多项目谱系
如需执行深度沿袭搜索,以遍历图的多个深度并扫描不同的 Google Cloud 项目,请定义以下变量:
将
limits.maxDepth设置为目标遍历深度(接受1到100之间的值)。使用您希望后端交叉对比的目标区域填充
locations数组(例如["us", "us-east1"])。
C#
C#
在尝试此示例之前,请按照《Data Lineage 快速入门:使用客户端库》中的 C# 设置说明进行操作。如需了解详情,请参阅 Data Lineage C# API 参考文档。
如需向 Data Lineage 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。