@VisibleForTesting Write withServiceFactory(ServiceFactory<Spanner, SpannerOptions> serviceFactory) { SpannerConfig config = getSpannerConfig(); return withSpannerConfig(config.withServiceFactory(serviceFactory)); }
.apply( "Read information schema", ParDo.of(new ReadSpannerSchema(spec.getSpannerConfig()))) .apply("Schema View", View.asSingleton()); ParDo.of( new WriteToSpannerFn( spec.getSpannerConfig(), spec.getFailureMode(), FAILED_MUTATIONS_TAG)) .withOutputTags(MAIN_OUT_TAG, TupleTagList.of(FAILED_MUTATIONS_TAG)));
@Override public void populateDisplayData(DisplayData.Builder builder) { super.populateDisplayData(builder); getSpannerConfig().populateDisplayData(builder); builder.add( DisplayData.item("batchSizeBytes", getBatchSizeBytes()).withLabel("Batch Size in Bytes")); } }
@Override public SpannerWriteResult expand(PCollection<Mutation> input) { getSpannerConfig().validate(); return input .apply("To mutation group", ParDo.of(new ToMutationGroupFn())) .apply("Write mutations to Cloud Spanner", new WriteGrouped(this)); }
/** Specifies the Cloud Spanner instance. */ public Write withInstanceId(ValueProvider<String> instanceId) { SpannerConfig config = getSpannerConfig(); return withSpannerConfig(config.withInstanceId(instanceId)); }
/** Specifies the Cloud Spanner project. */ public Write withProjectId(ValueProvider<String> projectId) { SpannerConfig config = getSpannerConfig(); return withSpannerConfig(config.withProjectId(projectId)); }
/** Specifies the Cloud Spanner database. */ public Write withDatabaseId(ValueProvider<String> databaseId) { SpannerConfig config = getSpannerConfig(); return withSpannerConfig(config.withDatabaseId(databaseId)); }
/** Specifies the Cloud Spanner host. */ public Write withHost(ValueProvider<String> host) { SpannerConfig config = getSpannerConfig(); return withSpannerConfig(config.withHost(host)); }