Много съм нов в 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