使用变量自定义 Dataform 运行调用

问题描述 投票:0回答:3

是否可以告诉 dataform 使用我提供的自定义参数运行流程(SQL 查询)?类似于:

curl my_flow --start_date=20220101 --end_date=20220801
,这个变量将在我的查询中使用。

dataform
3个回答
1
投票

我收到了 Liam Binns-Conroy(Dataform slack 社区)的回复。谢谢他。

您可以使用自定义变量来指定 dataform.json 中的参数 文件,然后使用 dataform CLI vars 标志传递值。你 然后像这样引用 sqlx 文件中的值

dataform.projectConfig.vars.myVariableName


0
投票

来自:https://cloud.google.com/dataform/docs/reuse-code-includes

// filename is includes/constants.js
  const PROJECT_ID = "my_project_name";
  module.exports = { PROJECT_ID };

以下代码示例在 SQLX 文件中的表定义查询中引用 PROJECT_ID 常量:

  config { type: "table" }
  SELECT * FROM ${constants.PROJECT_ID}.my_schema_name.my_table_name

0
投票

这是文档https://cloud.google.com/dataform/docs/configure-dataform

因此您可以访问您在

vars
文件或
dataform.json
文件的
workflow_settings.yaml
属性上配置的任何变量,语法为:

${dataform.projectConfig.vars.MY_VARIABLE}

并且

dataform.json
文件可以如下所示:

{
  "defaultSchema": "your_dataset",
  "assertionSchema": "dataform_assertions",
  "warehouse": "bigquery",
  "defaultDatabase": "your_project_id",
  "defaultLocation": "your_region",
  "vars": {
     "MY_VARIABLE":"SOMEVALUE",
     "MY_VARIABLE_2": "ANOTHER-VALUE"
   }
}

这也适用于编译变量,编译变量会覆盖您在

dataform.json

上设置的值

更多文档:

https://cloud.google.com/dataform/docs/reference/dataform-core-reference#iprojectconfig

© www.soinside.com 2019 - 2024. All rights reserved.