0

这是我在另一篇文章中遇到工作流程问题的延续。经过进一步调试后,我意识到大查询工作流程中的“last_modified_time”没有显示正确的结果,但是当我在大查询 UI 中执行它时,同样的工作正常。请参阅以下详细信息。 Google Cloud Workflow 错误为“语法错误:未闭合的字符串文字

下面是我的工作流程代码,只是为了查看“last_modified_time”的值是多少

main:
  steps:
    - getupdatedatetime:
        call: googleapis.bigquery.v2.jobs.query
        args:
          projectId: ${sys.get_env("GOOGLE_CLOUD_PROJECT_ID")}
          body:
            useLegacySql: false
            query: >
              SELECT 
              TIMESTAMP_MILLIS(last_modified_time) AS last_modified_time,
              DATE(TIMESTAMP_MILLIS(creation_time)) AS creation_date,
              FROM `project-dataset.__TABLES__` where table_id='table_name'
        result: queryResult
    - documentFound:
        return: ${queryResult}

上述工作流中查询的输出为 json 格式,如下所示

{
  "cacheHit": false,
  "jobComplete": true,
  "jobReference": {
    "jobId": "job__EmSzEzXNUAKBTebWTieYIQVNKf7",
    "location": "EU",
    "projectId": "project_id"
  },
  "kind": "bigquery#queryResponse",
  "rows": [
    {
      "f": [
        {
          **"v": "1.625481329263E9"**
        },
        {
          "v": "2021-07-05"
        }
      ]
    }
  ],
  "schema": {
    "fields": [
      {
        "mode": "NULLABLE",
        "name": "last_modified_time",
        "type": "TIMESTAMP"
      },
      {
        "mode": "NULLABLE",
        "name": "creation_date",
        "type": "DATE"
      }
    ]
  },
  "totalBytesProcessed": "0",
  "totalRows": "1"
}

last_modified_time 不正确。creation_date 很好。因为 last_modified_time 在这里不好。我的工作流程中的其他子工作流程无法正常工作。

当我在大查询中执行相同的查询时,我得到以下结果

      SELECT 
      TIMESTAMP_MILLIS(last_modified_time) AS last_modified_time,
      DATE(TIMESTAMP_MILLIS(creation_time)) AS creation_date,
      FROM `project.dataset.__TABLES__` where table_id='table_name'

在此处输入图像描述

任何人都可以为我做错的事情提供一些帮助和指导。

4

1 回答 1

1

您的工作流程中的结果是正确的。时间戳是一个整数。在 BQ UI 中,时间戳被转换为 DateTime 格式。您可以根据需要将last_modified_time时间戳值转换为 DateTime 格式。

我使用https://www.epochconverter.com/将您的时间戳结果转换为 DateTime 格式,结果如下:GMT: Monday, July 5, 2021 10:35:29.263

于 2021-07-11T09:23:00.323 回答