列出项目中的实例
使用CLI,我们可以列出所有实例
gcloud computes instances list --project=<PROJECT-NAME>
使用API,我们可以列出每个区域的实例
https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/instances
我们不能使用API列出所有实例吗?
答案 0 :(得分:7)
为什么gcloud API不如gcloud cli成熟?
Google Cloud API是gcloud
CLI的基础。我认为您对原始界面的易用性感到困惑。该API是一个低级接口,您真的不希望该API代表您提供“智能”。否则,您将无法添加新功能或解决问题。 API应该为一种定义明确的功能(构件)提供支持。更高级别的软件(gcloud)结合了这些功能,以呈现给用户。
访问区域时,您正在连接到数据中心。因此,您将需要连接到每个数据中心以访问数据中心内的资源。在大多数情况下,Google区域都设计为独立的,这有助于提高容错能力,可用性等。
使用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为您提供了原始功能。