GCP扳手的数据源

问题描述 投票:0回答:1

我将为GCP扳手创建批处理,正计划使用需要数据源的JdbcCursorItemReader,所以我需要为我的GCP Spanner实例创建数据源,请您对此提出建议吗?

google-app-engine google-cloud-platform spring-batch datasource google-cloud-spanner
1个回答
2
投票

您需要将Cloud Spanner JDBC驱动程序添加到您的构建路径中,如下所示:

    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>google-cloud-spanner-jdbc</artifactId>
      <version>1.9.0</version>
    </dependency>

然后,您可以按常规方式定义Spring数据源。以编程方式进行操作应如下所示:

    @Bean
    public DataSource spannerDataSource() {
        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setDriverClassName("com.google.cloud.spanner.jdbc.JdbcDriver");
        dataSource.setUrl("jdbc:cloudspanner:/projects/<YOUR-PROJECT-ID>/instances/<YOUR-INSTANCE-ID>/databases/<YOUR-DATABASE-ID>?credentials=<PATH-TO-YOUR-SERVICE-CREDENTIALS>");
        return dataSource;
    }

----评论后的其他信息----

Google Cloud Spanner不是Spring Batch默认支持的数据库。因此,您需要将数据库类型显式设置为支持的数据库类型之一。 Have a look at this answer看看如何完成。

即使您正在使用另一个数据库,也需要选择一个受支持的数据库。这可能会导致其他兼容性问题,尤其是如果让Spring Batch自动生成数据模型时。如果您手动创建数据模型并且仅使用Spring Batch读取数据,那么应该不会有太大问题。我建议尝试将数据库类型设置为POSTGRES,然后查看它是否有效。

© www.soinside.com 2019 - 2024. All rights reserved.