Google cloud platform GCP工作流-设置目标表?

Google cloud platform GCP工作流-设置目标表?,google-cloud-platform,google-bigquery,Google Cloud Platform,Google Bigquery,我正在使用Google云工作流来转换BigQuery上的数据。我能够正确运行工作流并对给定的表执行查询,但我现在尝试的是将查询结果存储在不同的数据集和表上。googleapis.bigquery.v2.jobs.query文档中没有关于目标表的内容。基于,我发现可以设置目标数据集和表,但如果我可以在.yaml上执行类似的操作,我会感到困惑 我在某处发现的例子 我的工作流:Workflows-1.yaml googleapis.bigquery.v2.jobs.query端点不提供通过API/YA

我正在使用Google云工作流来转换BigQuery上的数据。我能够正确运行工作流并对给定的表执行查询,但我现在尝试的是将查询结果存储在不同的数据集和表上。googleapis.bigquery.v2.jobs.query文档中没有关于目标表的内容。基于,我发现可以设置目标数据集和表,但如果我可以在.yaml上执行类似的操作,我会感到困惑

我在某处发现的例子

我的工作流:Workflows-1.yaml

googleapis.bigquery.v2.jobs.query端点不提供通过API/YAML语法创建目标表的功能,但您可以编写查询来创建表

创建表格mytable作为选择

要使用destinationTable API设置,您需要使用另一个端点:googleapis.bigquery.v2.jobs.insert,它还有很多要配置的内容,本文提供了一个完整的示例

基本上你需要它的查询部分

- insert:
    call: googleapis.bigquery.v2.jobs.insert
    args:
        projectId: ...
        body:
            configuration:
                query:
                    allowLargeResults: ...
                    clustering:
                    connectionProperties: ...
                    createDisposition: ...
                    createSession: ...
                    defaultDataset:
                        datasetId: ...
                        projectId: ...
                    destinationEncryptionConfiguration:
                    destinationTable: <YOUR SECTION> 
                    flattenResults: ...
                    maximumBillingTier: ...
                    maximumBytesBilled: ...
                    parameterMode: ...
                    preserveNulls: ...
                    priority: ...
                    query: ...
                    queryParameters: ...
                    rangePartitioning:
                    schemaUpdateOptions: ...
                    tableDefinitions: ...
                    timePartitioning:
                    useLegacySql: ...
                    useQueryCache: ...
                    userDefinedFunctionResources: ...
                    writeDisposition: ...
    result: insertResult
- getCurrentTime:
    call: googleapis.bigquery.v2.jobs.query
    args:
        projectId: survivor-316012
        body:
            connectionProperties: 
            createSession: false
            defaultDataset:
                datasetId: europe
                projectId: survivor-316012
            dryRun: false
            kind: ...
            location: ...
            maxResults: 32
            preserveNulls: false
            query: "SELECT * FROM `survivor-316012.europe.france`"
            queryParameters: []
            timeoutMs: 10000
            useLegacySql: false
            useQueryCache: false
    result: currentDateTime
- insert:
    call: googleapis.bigquery.v2.jobs.insert
    args:
        projectId: ...
        body:
            configuration:
                query:
                    allowLargeResults: ...
                    clustering:
                    connectionProperties: ...
                    createDisposition: ...
                    createSession: ...
                    defaultDataset:
                        datasetId: ...
                        projectId: ...
                    destinationEncryptionConfiguration:
                    destinationTable: <YOUR SECTION> 
                    flattenResults: ...
                    maximumBillingTier: ...
                    maximumBytesBilled: ...
                    parameterMode: ...
                    preserveNulls: ...
                    priority: ...
                    query: ...
                    queryParameters: ...
                    rangePartitioning:
                    schemaUpdateOptions: ...
                    tableDefinitions: ...
                    timePartitioning:
                    useLegacySql: ...
                    useQueryCache: ...
                    userDefinedFunctionResources: ...
                    writeDisposition: ...
    result: insertResult