如何解决在哪里可以找到 gcloud 调用的 API?
我正在开展一个新项目,我计划用 Google Cloud Go API 和客户端库替换一组调用 gcloud
和 gsutil
的一次性 shell 脚本。这背后的主要驱动力是让我可以拥有更易于维护和可测试的代码来管理大型 GCP 自动化项目。
我翻遍了所有 Google 文档,似乎找不到任何涵盖底层 API glcoud
调用或 glcoud
源代码的内容。此外,GCP go API 似乎没有涵盖我正在寻找的内容。我已经能够在 REST API 中找到我需要提供的一些内容,但即便如此,也并不完全清楚哪些 gcloud
命令映射到哪些 REST API 端点。
一个例子是:gcloud addresses describe gce_vm_foo
我能找到的唯一合适的是来自 REST API 的这个端点,通过挖掘大量的文档和反复试验找到:https://godoc.org/google.golang.org/api/compute/v1#InstancesService.Get
我意识到这是一个非常开放的问题,但非常感谢您指出正确的方向。
解决方法
如果您想知道 gcloud 正在调用什么,请添加 --log-http 标志,或者 grep 以缩小搜索范围,例如:
~ gcloud --log-http compute addresses list 2>&1 | grep "GET" \
GET /compute/v1/projects/<redacted>/aggregated/addresses?alt=json HTTP/1.1
然后可能转到 Compute Engine API 页面并搜索(或只是谷歌)从上面的请求 uri 的区别部分,例如“聚合/地址”,这将使您进入 REST Resource: v1.addresses页面的一部分,从这里开始应该相对容易。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。