如何使用Go SDK for Google Cloud Platform获取项目元数据?

mohaksharma:

我正在使用https://cloud.google.com/go/google.golang.org API从Google Compute Engine获取通用实例元数据。

我发现了一个通过在params中指定project-id来获取项目元数据的API。以下是我编写的代码:

package main

import (
    "fmt"
    "golang.org/x/net/context"
    "google.golang.org/api/compute/v1"
    "golang.org/x/oauth2/google"
)

func main() {
    ctx := context.Background()
    client, err := google.DefaultClient(ctx,compute.ComputeScope)
    if err != nil {
        fmt.Println(err)
    }
    computeService, err := compute.New(client)
    projectGetCall := computeService.Projects.Get("<project-id>")
    project, err := projectGetCall.Do()
    fmt.Println(project)
}

我期望它应该从我系统中拥有的GCP服务帐户获取默认凭据,并应将元数据打印到控制台。输出到控制台是:

&{0xc04222a150 2016-09-13T05:31:43.862-07:00 [email protected]α-API] 8538061022982459200计算#项目项目ID [0xc04222d310 0xc04222d360 0xc04222d3b0 0xc04222d400 0xc04222d450 0xc04222d4a0 0xc04222d540 0xc04222d590 0xc04222d5e0 0xc04222d630 0xc04222d680 0xc04222d6d0 0xc04222d720 0xc04222d770 0xc04222d7c0 0xc04222d810 0xc04222d860 0xc04222d8b0 0xc04222d900 0xc04222d950 0xc04222d9a0 0xc04222d9f0 0xc04222da40 0xc04222da90 0xc04222dae0 0xc04222db30 0xc04222db80] https://www.googleapis.com/compute/v1/projects/project-id无效的edited_XPN_PROJECT_STATUS {200 map [X-Content-Type-Options:[nosniff] X-Frame-Options:[SAMEORIGIN] X-Xss-Protection:[1; 模式=块]服务器:[GSE]日期:[2018年5月14日星期一06:01:39 GMT]内容类型:[application / json; charset = UTF-8] Etag:[“ AZ9pASbV2zte89rFYbsuVT3-scI = / tQ5dONakPodnJi1mjg-QYom343E =”] Vary:[Origin X-Origin] Alt-Svc:[hq =“:443”; ma = 2592000; quic = 51303433; quic = 51303432; quic = 51303431; quic = 51303339; quic = 51303335,quic =“:443”; ma = 2592000; v =“ 43,42,41,39,35”]过期:[2018年5月14日星期一,格林尼治标准时间] Cache-Control:[私有,最大年龄= 0,必须重新验证,不进行转换] ]} [] []}

我没有使用Go的经验,也不知道如何从此回复中提取细节

姆布希曼:

Projects.Get您一起创建指向的指针ProjectsGetCall尚未拨打电话。您必须Do在返回的ProjectsGetCall 上执行查看文档:https : //godoc.org/google.golang.org/api/compute/v1#ProjectsGetCall.Do

call := computeService.Projects.Get("<project-id>")
project, err := call.Do()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Go SDK for Google Cloud Platform获取项目ID?

使用 Python 的 Google Cloud Platform SDK

Google Cloud Platform:如何重命名Google Cloud Platform项目?

如何设置pageToken通过Java SDK从Google Cloud Storage获取项目列表?

使用 Cloud SDK CLI 正确授予用户访问 Google Cloud Platform 服务帐户的权限

如何移动Google Cloud SDK目录

如何从Google Cloud IoT核心获取设备元数据信息?

Google Cloud SDK外壳

如何使用Google Cloud SDK Shell退出当前用户?

如何在本地环境中使用Google Cloud SDK

无法连接到Google Cloud SQL。使用PHP Google SDK

如何在 Google Cloud Function 上的 Spring Cloud 函数中获取 Pub/Sub 事件的元数据

Google Cloud SDK与Google Cloud Client库

GCP - 使用 Google Cloud SDK 跨项目移动虚拟机

如何在 Google Cloud Platform 中获取当前项目的组织 ID?

如何使用python从google-cloud-platform下载数据?

如何使用Google Maps SDK获取地址?

如何在Travis上安装Google Cloud SDK?

如何在Windows中卸载Google Cloud SDK

如何在python 3.5.2上安装Google Cloud SDK

使用 Python 柔性环境在 virtualenv 中包含 Google Cloud SDK

使用 Google Cloud SDK shell 在 GAE 中部署

模块导入失败:如何使Google Cloud Client库在Google Cloud SDK上运行

如何通过 Cordova 上的移动应用程序的 API 从 Google Cloud Platform 获取数据?

Google Cloud Platform:使用api列出可用的项目

如何更新Google Cloud Platform旧版GAE和GCF元数据服务器端点

如何卸载 Cloud SDK?

如何使用 Google Cloud API(直接或使用 GCP PHP Client SDK)以编程方式从 GCP 项目中列出、添加和删除用户?

如何在Google Cloud Platform中获取服务的DNS名称?