如何在Google云存储构建器中设置项目ID?

问题描述 投票:0回答:2

我正在尝试将图像上传到

Google Cloud storage
,但在创建
StorageOptions
时,我遇到了
project must be specified.
异常。

我按照官方文档进行操作,并在执行以下步骤后选择使用

Json
凭据:

  1. 创建一个新的
    Service Account Key
  2. Role
    中我选择了
    Owner
    (稍后更改)
  3. 下载

    Json
    密钥并使用以下示例与其连接

    public static void main(String[] args) throws IOException {
    Storage storage = StorageOptions.newBuilder()
            .setCredentials(ServiceAccountCredentials.fromStream(new FileInputStream("/Users/test/sample/app/project-936c0c6ef960.json")))
            .build()
            .getService();
    
    String bucketName = "Sample";
    Bucket bucket = storage.create(BucketInfo.of(bucketName));
    System.out.printf("Bucket %s created.%n", bucket.getName());
    }
    

    我在这里做错了什么?

java json firebase google-cloud-storage
2个回答
2
投票

嗯,看起来你是对的。使用Java客户端创建bucket时,似乎没有办法设置项目。我提交了一个错误:https://github.com/GoogleCloudPlatform/google-cloud-java/issues/2643

您可以通过在设置 StorageOptions 时指定项目来解决此问题:

StorageOptions.newBuilder().setProjectId("my-project-id")
    //continue as normal

0
投票

调用 StorageOptions 时遇到以下问题

存储 = StorageOptions.newBuilder() .setProjectId(PROJECT_ID) .setCredentials(GoogleCredentials.fromStream(new FileInputStream(CREDENTIAL_PATH))) 。建造() .getService();

马卡

线程“http-bio-443-exec-3”中的异常 java.lang.StackOverflowError 在 javax.servlet.ServletException.getRootCause(ServletException.java:92) 在 org.springframework.web.util.NestedServletException.getCause(NestedServletException.java:69) 在 javax.servlet.ServletException.getRootCause(ServletException.java:92) 在 org.springframework.web.util.NestedServletException.getCause(NestedServletException.java:69)

© www.soinside.com 2019 - 2024. All rights reserved.