Ошибка командной строки Bq в экземпляре виртуальной машины CENTOS7 - PullRequest
0 голосов
/ 24 января 2020

Я запускаю экземпляр виртуальной машины (Google Compute Engine) с CENTOS 7, каждый раз, когда я запускаю команду bq, я получаю сообщение об ошибке. Я предполагал, что bq по умолчанию в вычислительном движке.


[username@instance-1 ~]$ bq
Error initializing bq client: service_account
Traceback (most recent call last):
  File "/usr/lib64/google-cloud-sdk/platform/bq/third_party/pyglib/appcommands.py", line 805, in _CommandsStart
    sys.modules['__main__'].main(GetCommandArgv())
  File "/usr/lib64/google-cloud-sdk/platform/bq/bq.py", line 6078, in main
    if FLAGS.debug_mode or FLAGS.headless:
  File "/usr/lib64/google-cloud-sdk/platform/bq/third_party/absl/flags/_flagvalues.py", line 468, in __getattr__
    raise AttributeError(name)
AttributeError: debug_mode
FATAL error in main: debug_mode
Run 'bq.py help' to get help
[username@instance-1 ~]$ bq --format=prettyjson dataset.tableid
FATAL Flags parsing error: Unknown command line flag 'use_gce_service_account'
Run 'bq.py help' to get help
[username@instance-1 ~]$ 

моя учетная запись механизма вычислений имеет полный полный доступ ко всем облачным API, кроме того, чтобы быть уверенным, я также добавил администратора bigquery в части IAM.

Я не совсем уверен, что не так.

Ответы [ 2 ]

0 голосов
/ 24 января 2020

Ознакомьтесь с документацией :

Флаги авторизации bq устарели. Чтобы настроить авторизацию для инструмента командной строки bq, см. Авторизация инструментов Cloud SDK .

, а также в этом разделе вы можете найти флаг, вызывающий ошибку:

- use_gce_service_account

Я пытался запустить на своем linux компьютере команду Google Cloud SDK bq, и она отлично работает:

$ bq        
Python script for interacting with BigQuery.


USAGE: bq.py [--global_flags] <command> [--command_flags] [args]


Any of the following commands:
  cancel, cp, extract, get-iam-policy, head, help, init, insert, load, ls, mk, mkdef, partition, query, rm, set-iam-policy, shell,
  show, update, version, wait

Сначала вам нужно обновить ваш Cloud SDK до последней версии (или переустановить) и проверить еще раз. Также, пожалуйста, обновите ваше сообщение версией вашего Cloud SDK:

$ gcloud info       
Google Cloud SDK [277.0.0]

Python Version: [3.7.5rc1 (default, Dec 20 2019, 17:52:56)  [GCC 8.3.0]]
Python Location: [/usr/bin/python3]

Если вы столкнулись с ошибкой в ​​последнем Cloud SDK, попробуйте установить значения по умолчанию для bq в $HOME/.bigqueryrc, как описано в документация .

Кроме того, я рекомендую вам проверить / обновить Python, если ничего не помогает.

РЕДАКТИРОВАТЬ Вы можете установить up по умолчанию в вашем файле ~/.bigqueryrc, например:

project_id = --my-project-id--

в вашем любимом текстовом редакторе, например nano или vim. Помните, что пути к файлам в .bigqueryrc должны быть полными.

EDIT2 Ознакомьтесь с требованиями к системе Cloud SDK :

Требуется Python 2.7.9 или выше.

и у вас есть 2.7.5 .

ОБНОВЛЕНИЕ Удаление и повторная установка Cloud SDK решили проблему.

0 голосов
/ 24 января 2020

Возможно, у вас неправильный псевдоним bash или ~/.bigqueryrc

Проверьте синтаксис и правильные файлы учетной записи службы внутри ~/.bigqueryrc

...