Экспорт BigQuery CSV в GCS: установите заголовок Content-Type на "text/csv"
Я экспортирую таблицу больших запросов в виде CSV в общедоступную корзину Google Cloud. Оттуда я могу разместить его публично через HTTP. Кажется, что функция экспорта BigQuery (иначе извлечение) не устанавливает метаданные Google Cloud Storage файла правильно.
Экспортер устанавливает для поля Content-Type значение application/octet-stream
, Поскольку это файл CSV, я хочу, чтобы он был установлен на text/csv
(или, может быть text/plain
). Зачем? Как Google указывает здесь, это лучшая практика по ряду причин.
Я не вижу никакой опции в документации API, чтобы контролировать это.
Еще одна проблема: когда я установил configuration.extract.compression
быть GZIP
полученный файл в GCS не имеет Content-Encoding
свойство установлено в "gzip". Было бы хорошо, если бы экспортер сделал это тоже!
1 ответ
Как сказано в документации [1], application/octet-stream
устанавливается, когда загрузчик не указывает тип содержимого. Как и в этом случае, экспорт BQ является загрузчиком, и вы не можете указать его, он будет установлен так. Я видел, что вы создали запрос на функцию с просьбой об этом.
Обходным решением будет редактирование метаданных каждого файла в корзине GCS. Вы можете достичь этого, используя пользовательский интерфейс, консоль или кодирование [2].