BigQuery - 同步RunQuery

时间:2018-02-02 16:36:48

标签: php google-bigquery

我正在尝试在GoogleBigQuery中创建一个作业,在JobId继续运行时立即返回Job,而不会让用户等待。

通过阅读文档runQuery表明这应该是可行的。 maxRetries已被设置为timeoutMs

我们的想法是,用户将收到JobId并发出警告,通知他们Job正在处理中,并且在完成后会收到进一步的通知。

通过Composer版本安装:google/cloud: ^0.53.0

下面包含示例代码。

  

runQuery

     

以同步方式运行BigQuery SQL查询。

     

除非指定了$ options.maxRetries,否则此方法将阻塞,直到查询完成,此时将返回结果集。

http://googlecloudplatform.github.io/google-cloud-php/#/docs/google-cloud/v0.53.0/bigquery/bigqueryclient?method=runQuery

    $client = new BigQueryClient([
        'projectId' => 'XXXX',
    ]);
    $client->dataset('XXXX');
    if (!$dataset->exists()) {
        throw new \Exception(sprintf('Dataset does not exist'));
    }
    $options = [
            'timeoutMs' => 1000,
            'maxRetries' => 2,
    ];
    $queryJob = $client->queryConfig($sql, $options); //tried options here
    $queryResult = $client->runQuery($queryJob,$options); //and tried options here together and individually
    echo $queryResult->job()->id();

0 个答案:

没有答案