3 回答
TA贡献1828条经验 获得超3个赞
您是否尝试过模拟服务帐户选项?[1] 也许这就是你要找的。希望对您有所帮助...
[1] https://cloud.google.com/sdk/gcloud/reference#--impersonate-service-account
TA贡献1801条经验 获得超16个赞
当我配置我的本地环境时,我正在这样做
运行命令:
gcloud auth application-default login单击链接并分配 Google Auth Library
命令的结果应该显示如下
Credentials saved to file: [/path/to/application_default_credentials.json] These credentials will be used by any library that requests Application Default Credentials (ADC).
复制
/path/to/application_default_credentials.jsonGOOGLE_APPLICATION_CREDENTIALS使用此值创建环境变量。在 Linux 中:export GOOGLE_APPLICATION_CREDENTIALS=/path/to/application_default_credentials.json
现在,您的个人凭据也被定义为在本地环境中运行的应用程序的默认凭据。
TA贡献1796条经验 获得超7个赞
您需要在 Go 脚本中设置身份验证。默认情况下,它将使用与运行代码的环境中存在的凭据相同的凭据。
这是在创建存储桶时使用默认凭据设置新客户端的示例:
package main
import (
"context"
"fmt"
"log"
"time"
"cloud.google.com/go/storage"
func main() {
ctx := context.Background()
// Sets your Google Cloud Platform project ID.
projectID := "YOUR_PROJECT_ID"
// Creates a client.
client, err := storage.NewClient(ctx)
if err != nil {
log.Fatalf("Failed to create client: %v", err)
}
因此,请在您的代码中尝试此操作:
ctx := context.Background()
client := pubsub.NewClient(ctx)
- 3 回答
- 0 关注
- 191 浏览
添加回答
举报
