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