in grpc-gcp-benchmarks/src/benchmarkTest/java/SpannerClientV1TestCases.java [397:436]
private SpannerClient getClient() {
// Set up credentials.
GoogleCredentials creds;
try {
creds = GoogleCredentials.getApplicationDefault();
} catch (Exception e) {
return null;
}
ImmutableList<String> requiredScopes = ImmutableList.of(OAUTH_SCOPE);
creds = creds.createScoped(requiredScopes);
FixedCredentialsProvider provider = FixedCredentialsProvider.create(creds);
// Set up the Spanner client.
InstantiatingGrpcChannelProvider.Builder channelBuilder =
InstantiatingGrpcChannelProvider.newBuilder().setPoolSize(DEFAULT_CHANNEL_POOL);
if (isGrpcGcp) {
File configFile =
new File(SpannerTestCases.class.getClassLoader().getResource(API_FILE).getFile());
ApiFunction<ManagedChannelBuilder, ManagedChannelBuilder> apiFunction =
(ManagedChannelBuilder builder) ->
(GcpManagedChannelBuilder.forDelegateBuilder(builder)
.withApiConfigJsonFile(configFile));
channelBuilder = channelBuilder.setPoolSize(1).setChannelConfigurator(apiFunction);
}
SpannerClient client = null;
try {
SpannerSettings.Builder spannerSettingsBuilder = SpannerSettings.newBuilder();
spannerSettingsBuilder
.getStubSettingsBuilder()
.setTransportChannelProvider(channelBuilder.build())
.setCredentialsProvider(provider);
client = SpannerClient.create(spannerSettingsBuilder.build());
} catch (IOException e) {
System.out.println("Failed to create the client.");
}
return client;
}