使用 Spring Boot 调用 BigQuery 存储过程(例程)

Posted

技术标签:

【中文标题】使用 Spring Boot 调用 BigQuery 存储过程(例程)【英文标题】:Call BigQuery stored procedure(Routine) using spring boot 【发布时间】:2021-12-17 05:58:24 【问题描述】:

我正在尝试使用 Spring Boot 调用 Google BigQuery 存储过程(例程)。我尝试了例程的所有方法来提取数据。但是,它没有帮助。

有没有人通过 Spring 启动创建和调用 BigQuery 存储过程(例程)?如果有,怎么做?

【问题讨论】:

请提供足够的代码,以便其他人更好地理解或重现问题。 【参考方案1】:
public static Boolean executeInsertQuery(String query, TableId tableId, String jobName) 
    log.info("Starting  truncate query", jobName);
    BigQuery bigquery = GCPConfig.getBigQuery(); // bqClient

 

    // query configuration
    QueryJobConfiguration queryConfig = QueryJobConfiguration.newBuilder(query)
            .setUseLegacySql(false)
            .setAllowLargeResults(true)
            .setDestinationTable(tableId)     .setWriteDisposition(JobInfo.WriteDisposition.WRITE_TRUNCATE).build();


    try 
        // build the query job.
        QueryJob queryJob = new QueryJob.Builder(queryConfig).bigQuery(bigquery).jobName(jobName).build();

        QueryJob.Result result = queryJob.execute();
    

     catch (JobException e) 
        log.error(" unsuccessful. job id: , job name: . exception: ", jobName, e.getJobId(),
                e.getJobName(), e.toString());
        return false;
    


【讨论】:

以上是关于使用 Spring Boot 调用 BigQuery 存储过程(例程)的主要内容,如果未能解决你的问题,请参考以下文章

如何从另一个新的 Spring Boot 项目调用一个 Spring Boot 项目中存在的 Spring Boot api

Spring Boot 学习总结(33)—— Spring Boot 3 的声明式 HTTP 调用

使用 Spring Boot 调用 BigQuery 存储过程(例程)

使用 java 函数从 Spring Boot 调用 Spring actuator /restart 端点

spring boot中使用@Async实现异步调用

spring boot 学习使用@Async实现异步调用