Экспорт 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].

Другие вопросы по тегам