迁移旧环境和时间表

旧版 Dataform 将于 2024 年 2 月 26 日弃用,之后您将无法访问旧版项目。 本文档介绍如何通过发布和工作流配置将环境和时间表从旧版 Dataform 迁移到 Google Cloud 中的 Dataform。

在旧版 Dataform 中,您可以在 environments.json 文件中定义环境和进行调度。

以下代码示例显示了旧版 Dataform 中的 environments.json 文件中的 productionstaging 环境的定义以及相应时间表:

// example of an environments.json file

{
  "environments": [
    {
      "name": "production",
      "configOverride": {},
      "schedules": [
        {
          "name": "daily",
          "cron": "30 14 * * *",
          "tags": [
            "daily"
          ]
        },
        {
          "name": "hourly",
          "cron": "*/5 * * * *",
          "disabled": false
        }
      ],
      "gitRef": "master"
    },
    {
      "name": "staging",
      "configOverride": {
        "schemaSuffix": "staging"
      },
      "schedules": [
        {
          "name": "daily (all)",
          "cron": "42 16 * * mon,tue,wed,thu,fri,sat,sun"
        }
      ],
      "gitRef": "master"
    }
  ]
}

在 Google Cloud 的 Dataform 中,配置环境和时间表分为两种体验:

版本配置
与旧版 Dataform 环境类似,用于为不同的环境配置编译设置,例如 stagingproduction

通过版本配置,您可以配置 Git 提交和编译替换,从而对编译结果的创建进行自定义。Dataform 基于版本配置创建编译结果,与工作流配置时间表无关。这意味着,即使您的远程 Git 提供程序不可用,来自版本配置的已安排编译结果也可以运行。

创建版本配置时,您可以设置创建编译结果的频率。此外,您还可以手动或在自动化的持续部署流程中根据版本配置创建编译结果。

工作流配置
相当于旧版 Dataform 时间表,用于根据发布配置安排编译结果的执行。

首先,您需要创建版本配置并为所选环境(例如 staging)定义编译设置。然后,创建工作流配置并定义执行 staging 编译结果的时间表。

迁移环境和时间表的方法

您可以通过以下方式将旧环境和时间表迁移到版本配置工作流配置

在 Dataform 中配置发布和工作流配置

在 Google Cloud 的 Dataform 中将环境重新创建为版本配置,并将时间表重新创建为工作流配置

转到 Dataform 页面

使用 Dataform API 配置发布和工作流配置

使用 Dataform API 来配置版本配置和工作流配置。

或者,您可以通过以下方式迁移旧环境和时间表:

通过 Dataform API 将自定义配置应用于 environments.json
您可以将 environments.json 文件保留在代码库中,并使用您选择的工具配置持续部署流程。在持续部署过程中,合并到默认分支时,通过 environment.json 文件中更新版本配置和工作流配置。
绕过发布和工作流配置
您可以绕过版本和工作流配置,并将开源 Dataform CLIDataform API 或 Dataform API 与 Cloud ComposerWorkflows 结合使用来编译代码库并执行工作流。

迁移工作流提醒

Dataform 为工作流调用提供 Cloud Logging。这些日志包含可用于监控和调试工作流的信息:

  • receiveTimestamp
  • release_config_id
  • repository_id
  • resource_container
  • workflow_invocation_id
  • workflow_config_id
  • severity:可以是 INFOWARNINGERROR
  • terminalState:可以是 SUCCEEDEDCANCELEDFAILED
  • timestamp
  • @type

您可以将 Cloud Logging 与 Cloud Monitoring 搭配使用,以配置与旧版提醒类似的提醒。

借助 Cloud Monitoring,您可以配置以下指标和提醒:

  • 您可以按以下方式使用基于日志的指标:
    • 创建提醒政策以通知您一段时间的变化。
    • 创建随时间显示变化的图表。
  • 基于日志的提醒,可在日志中出现特定事件时通知您。

如需了解详情,请参阅查看 Cloud Logging for Dataform

后续步骤