Google CLI не создает службу передачи и не показывает подробной ошибки

Я очень новичок в Google Cloud CLI, извините за глупый вопрос, но это действительно раздражает.

Я пытаюсь выполнить эту команду:

bq mk --transfer_config --target_dataset=ds_scrummate --display_name='map_email' --data_source=amazon_s3 --params='{"data_path_template":"s3://sm-bigquery/map_email/{run_date}/*.csv", "destination_table_name_template":"ing_map_email", "file_format":"CSV", "max_bad_records":"0", "ignore_unknown_values":"true", "field_delimiter":",", "skip_leading_rows":"1", "allow_quoted_newlines":"true", "allow_jagged_rows":"false", "delete_source_files":"true"}'

Я всегда получаю это сообщение об ошибке:

BigQuery error in mk operation: Parameters should be specified in JSON format
when creating the transfer configuration.

Приведенный выше файл JSON кажется действительным (я проверил его с помощью онлайн-валидатора). Я также пробовал многострочную версию этой команды с тем же результатом.

Вопросы:

  • Что я делаю не так? Почему я получаю здесь ошибку JSON, несмотря на проверенный контент?
  • Как я могу получить более подробную информацию об ошибке? Есть ли подробный флаг для этой команды, который я не смог найти?
  • Почему нет хорошей документации, подробно описывающей этот тип ошибок?

Источники, которые я использовал:

https://cloud.google.com/bigquery/docs/reference/bq-cli-reference#bq_mk https://cloud.google.com/bigquery-transfer/docs/working-with-transfers https://cloud.google.com/bigquery-transfer/docs/s3-transfer#bq https://cloud.google.com/bigquery/docs/bq-command-line-tool


person elaspog    schedule 07.09.2020    source источник
comment
Я попытался запустить ту же команду, которую вы вставили, но я не получил ту же ошибку, что и ваша (по крайней мере, --params= действителен). Я подозреваю, что что-то не так с вашей средой CLI или у вас есть какой-то невидимый специальный символ в вашем JSON. На вашем месте я бы начал --params= с простого, имея только один параметр внутри, чтобы видеть, когда он становится недействительным JSON.   -  person Yun Zhang    schedule 07.09.2020


Ответы (1)


Что я делаю не так? Почему я получаю здесь ошибку JSON, несмотря на проверенный контент?

Онлайн-парсеры действительно дают правильную структуру json, но может случиться так, что подсказка не распознает {run_date} как строку, я думаю, что она также пытается ее проанализировать. Или, может быть, запятую в "field_delimiter":"," нужно убрать.

Как: можно ли получить более подробную информацию об ошибке? Есть ли подробный флаг для этой команды, который я не смог найти?

--apilog <filename> выводит журналы отладки в файл.

Почему нет хорошей документации, подробно описывающей этот тип ошибок?

Если мое подозрение верно, я думаю, что сообщение об ошибке указывает на правильное направление, нам нужно проверить, что происходит не так в json; журналы отладки могут содержать более подробные сведения о разделе, который не поддается анализу.

person rsantiago    schedule 07.09.2020