Я использую интерфейс командной строки Google Cloud SDK (gcloud
команда), и команда отличная! Хотя я бы хотел вывести список экземпляров Google Compute Engine в формате JSON (запустив gcloud compute instances list --format json
) и отфильтруйте его, используя jq JSON, команда иногда выводит сообщение ниже:
Updates are available for some Cloud SDK components. To install
them, please run:
$ gcloud components update
Я знаю, что сообщение важно, но я хотел бы рассматривать вывод JSON как правильно сформированный. Есть ли способ подавить сообщение? Обе -q
и --verbosity none
вариант не сработал.
Вы можете отключить проверку обновлений с помощью следующей команды:
gcloud config set component_manager/disable_update_check true
Однако ваш вариант использования должен по-прежнему работать с сообщением об обновлении. Вы действительно наблюдаете проблемы с парсером JSON? Ожидаемое поведение заключается в том, что вывод JSON переходит в стандартный вывод, а сообщение об обновлении переходит к стандартной ошибке.
$ gcloud compute instances list --format=json > stdout.log 2> stderr.log
$ cat stderr.log
Updates are available for some Cloud SDK components. To install them, please run:
$ gcloud components update
$ cat stdout.log
{
// JSON here
// ...
}
Это позволит вам проанализировать JSON с помощью следующего вызова:
gcloud compute instances list --format=json | python -m json.tool # substitute your tool of choice here