#json #command-line #google-bigquery #bq
# #json #командная строка #google-bigquery #bq
Вопрос:
Я пытаюсь создать задание переноса в командной строке Windows с помощью
bq mk --transfer_config --data_source=amazon_s3
--target_dataset=Usage --display_name='s3_transfer_installs_global_in_v0_test'
--params='{"data_path_template":"mybucket", "destination_table_name_template":"in_table", "file_format":"CSV", "max_bad_records":"0", "skip_leading_rows":"1", "allow_jagged_rows":"false", "allow_quoted_newlines":"true", "access_key_id":"dfadfadf", "secret_access_key":"sdfsfsdfsdf"}'
но я продолжаю получать варианты ошибки
Too many positional args, still have ['"allow_quoted_newlines":"true","access_key_id":',...
Вывод из --apilog
также не был поучительным.
Мой JSON проверяется, но, возможно, все еще могут потребоваться escape-символы?
Любая помощь очень ценится, уже два часа перебираю кавычки и обратную косую черту…
Комментарии:
1. Также кажется, что это data_path, а не data_path_template для s3, и он работает в облачной консоли, но не в командной строке Windows.
Ответ №1:
Я получил ту же ошибку, что и вы, при выполнении вашего запроса.
Я попытался заменить двойные кавычки одинарными кавычками в опции —params, и, похоже, это работает. Попробуйте следующее:
bq mk --transfer_config --data_source=amazon_s3 --target_dataset=Usage --display_name='s3_transfer_installs_global_in_v0_test' --params="{'data_path_template':'mybucket', 'destination_table_name_template':'in_table', 'file_format':'CSV', 'max_bad_records':'0', 'skip_leading_rows':'1', 'allow_jagged_rows':'false', 'allow_quoted_newlines':'true', 'access_key_id':'dfadfadf', 'secret_access_key':'sdfsfsdfsdf'}"
Я также попытался запустить исходную команду в Windows PowerShell, и она сработала без каких-либо изменений.
Я думаю, что проблема в Windows cmd…
Комментарии:
1. Ах да, проблема может быть связана с моей немецкой системой…