Ошибки JSON при попытке создать transfer_config в командной строке Google BigQuery

#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. Ах да, проблема может быть связана с моей немецкой системой…