in dbeam-core/src/main/java/com/spotify/dbeam/options/JdbcExportArgsFactory.java [61:82]
public static JdbcExportArgs fromPipelineOptions(final PipelineOptions options)
throws ClassNotFoundException, IOException {
final JdbcExportPipelineOptions exportOptions = options.as(JdbcExportPipelineOptions.class);
final JdbcAvroArgs jdbcAvroArgs =
JdbcAvroArgs.create(
JdbcConnectionArgs.create(exportOptions.getConnectionUrl())
.withUsername(exportOptions.getUsername())
.withPassword(PasswordReader.INSTANCE.readPassword(exportOptions).orElse(null)),
exportOptions.getFetchSize(),
exportOptions.getAvroCodec(),
Optional.ofNullable(exportOptions.getPreCommand()).orElse(Collections.emptyList()));
return JdbcExportArgs.create(
jdbcAvroArgs,
createQueryArgs(exportOptions),
exportOptions.getAvroSchemaNamespace(),
Optional.ofNullable(exportOptions.getAvroSchemaName()),
Optional.ofNullable(exportOptions.getAvroDoc()),
exportOptions.isUseAvroLogicalTypes(),
Duration.parse(exportOptions.getExportTimeout()),
BeamJdbcAvroSchema.parseOptionalInputAvroSchemaFile(exportOptions.getAvroSchemaFilePath()));
}