Как указать ContentType при записи файлов в AWS S3 с помощью TextIO.write ()?
Ниже мой пример конвейерного кода.
Версия Apache Beam - 2.3.0
DataflowPipelineOptions dataflowOptions = options.as(DataflowPipelineOptions.class);
dataflowOptions.setRunner(DataflowRunner.class);
Pipeline p = Pipeline.create(dataflowOptions);
p.apply(
"ReadBigQuery", fromBQ)
.apply(
"BigQueryRowToCSV",
ParDo.of(new convertToCSVFn())
).apply(
"WriteToS3",
TextIO.write()
.to(destFilename)
.withSuffix(".csv")
.withoutSharding());
public interface Options extends DataflowPipelineOptions, S3Options {
/*
...
*/
}
Просмотр метаданных файла, загруженного на S3 (объект на S3) в этом конвейере Content-Type
является text/plain
,
Поэтому, если вы попытаетесь загрузить этот файл, он будет распознан как .txt
вместо.csv
,
Есть ли способ указать это?
Если нет, будут ли планы по внедрению чего-то похожего на GcsCreateOptions?
Благодарю.