remote_dependency

用法

remote_dependency:  public_project {
  url:  "https://github.com/llooker/google_ga360"
  ref:  "07a20007b6876d349ccbcacccdc400f668fd8147f1"
  override_constant: constant_name {
    value: "string"
  }
}
层次结构
remote_dependency
默认值

接受
  • 包含 Git 代码库网址的 url 子形参
  • 一个 ref 子形参,用于指定 Git 分支、Git 发布标记或 Git 代码库中提交的 SHA
  • 一个 override_constant 子形参,用于替换从其他项目导入的常量的值

定义

remote_dependency 参数用于提供外部 Git 代码库的详细信息,该代码库包含您想在此项目中使用的 LookML 项目的文件。您可以在清单文件中添加多个 remote_dependency 语句,以导入多个项目。

remote_dependency 参数位于项目的清单文件中。如果您的项目没有清单文件,您可以创建清单文件

remote_dependency 参数接受一个名称,您可以随意命名。此名称是您在 include 语句中用于引用 LookML 项目中的导入文件的名称。该名称还用作 Looker IDE 的 imported_projects 文件夹下的文件夹名称。

此外,remote_dependency 参数还具有以下子参数:

url

url 子形参用于指定外部 Git 代码库的地址。使用代码库的主网址。例如,使用 HTTPS:

url: "https://github.com/llooker/google_ga360"

或者使用 SSH:

url: "git@github.com:llooker/google_ga360.git"

ref

ref 子形参用于指定远程项目的 Git 代码库的 Git 分支、Git 发布标记或提交 SHA,Looker 应将其纳入您的 Looker 项目中:

  • Git 分支:如果您希望 Looker 自动检测远程项目中该分支的新提交,可以指定 Git 分支。如需了解详情,请参阅从其他项目导入文件文档页面。
  • Git 版本标记:如果您希望 Looker 自动检测远程项目中该标记的新提交,可以指定 Git 版本标记。如需了解详情,请参阅从其他项目导入文件文档页面。
  • Git 提交 SHA:如果您想使用静态版本控制,可以指定提交 SHA,这样导入的项目中的更改就不会自动反映在您的项目中。通常情况下,这会是最近一次提交,但并非必须如此。您可以在任何可以浏览提交历史记录的地方找到提交 SHA。Git 服务提供商通常会清晰显示 SHA 并允许用户复制。此选项非常适合 Looker 块

以下示例展示了一个远程依赖项,该依赖项指定了远程 Git 项目中的提交 SHA:

remote_dependency: ga_360 {
  url: "https://github.com/llooker/google_ga360"
  ref: "f99720c597f524d0756b8194990342efa11b3813"
  }

以下是一个指定远程 Git 项目中主分支的远程依赖项示例:

remote_dependency: ga_360 {
  url: "https://github.com/llooker/google_ga360"
  ref: "main"
}

无论您指定哪种类型的 ref,当您向项目添加 remote_dependency验证 LookML 时,IDE 都会显示更新依赖项按钮。点击该按钮可导入远程项目文件。如果这是您首次向项目添加远程项目,更新依赖项还会促使 Looker 创建清单锁定文件。Looker 使用清单锁定文件来跟踪远程项目的版本。如需了解详情,请参阅从其他项目导入文件文档页面中的自动检测远程项目的新版本部分。

override_constant

借助 override_constant 参数,您可以替换导入项目中定义的常量的值。

override_constant 参数还可以与 local_dependency 参数搭配使用,以导入本地项目。

将文件从一个项目导入到另一个项目时,您可以替换导入的项目清单文件中定义的常量的值。替换常量的值后,引用该常量的导入文件将使用导入项目中提供的新值。

如果将 export 参数设置为 override_requiredoverride_optional(针对导入的项目中定义的常量),则可以使用 local_dependencyoverride_constant 子参数为该常量提供新值。例如,假设您在导入的项目的清单文件中定义了一个常量 connection


constant: connection {
  value: "imported_project_connection"
  export: override_required
}

在此示例中,由于 export 参数设置为 override_required,因此必须在导入项目的清单文件中替换其值:


project_name: "importing_project"

remote_dependency: public_project {
  url: "https://github.com/llooker/project"
  ref: "07a20007b6876d349ccbcacccdc400f668fd8147f1"
  override_constant: connection {
    value: "importing_project_connection"
  }
}

如需了解详情以及有关替换导入项目中的常量的另一个示例,请参阅从其他项目导入文件文档页面。

示例

在清单文件中,添加“Google GA 360”Git 代码库作为要从中导入文件的来源:

project_name: "thelook"

remote_dependency: ga_360 {
  url: "https://github.com/llooker/google_ga360"
  ref: "6a95679c92efa56243c17fb4d66c820cd4a8db03"
}