Я очень новичок в 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
--params=
действителен). Я подозреваю, что что-то не так с вашей средой CLI или у вас есть какой-то невидимый специальный символ в вашем JSON. На вашем месте я бы начал--params=
с простого, имея только один параметр внутри, чтобы видеть, когда он становится недействительным JSON. - person Yun Zhang   schedule 07.09.2020