Почему API gcloud не так развиты, как gcloud cli?
API Google Cloud являются основой для gcloud
CLI.Я думаю, что вы путаете простоту использования и простой интерфейс.API - это низкоуровневый интерфейс, и вы не хотите, чтобы API предоставлял «разведку» от вашего имени.В противном случае вы не сможете добавлять новые функции или исправлять проблемы.API-интерфейсы должны обеспечивать поддержку одной четко определенной функции (строительного блока).Программное обеспечение более высокого уровня (gcloud) объединяет эти функции для представления пользователю.
При доступе к зоне вы подключаетесь к центру обработки данных.Поэтому вам необходимо подключиться к каждому центру обработки данных для доступа к ресурсам внутри центра обработки данных.По большей части, Google Zones спроектированы как независимые, что помогает с отказоустойчивостью, доступностью и т. Д.
, используя CLI, мы можем перечислить все экземпляры
список вычислений gcloud --project = PROJECT-NAME
Эта команда на более низком уровне подключается к каждой зоне и получает список экземпляров.Если вы используете API, вам нужно будет самостоятельно реализовать логику, чтобы подключиться к каждой зоне и объединить результаты.
, используя API, мы можем перечислить экземпляры для каждой зоны
https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/instances
Разве мы не можем перечислить все экземпляры с помощью API?
Да, выполнить API для каждой зоны, для которой вы хотите перечислить экземпляры.
Один элементчто вы могли заметить.Для некоторых операций gcloud
, кажется, выполняет много работы и занимает некоторое время.Например, перечисление всех экземпляров вычислений в вашем проекте.У меня есть только экземпляры в одной зоне, поэтому мои вызовы API очень быстрые.Для сравнения gcloud
должен поговорить со всеми 55 зонами Google, чтобы увидеть, какие экземпляры есть в каждой зоне.Это делает команду медленнее по сравнению с командой, которая сканирует только одну зону.
В итоге gcloud
упрощает использование, API дает необработанную мощность.