Я использую Google Cloud SDK CLI (gcloud
команда), и команда является большим! Хотя я хотел бы произвести список экземпляров Google Compute Engine's в формате 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