【问题标题】:How to set project ID in google cloud storage builder?如何在谷歌云存储构建器中设置项目 ID?
【发布时间】:2025-12-04 23:40:01
【问题描述】:

我正在尝试将图像上传到 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


    【解决方案1】:

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

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

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

    【讨论】: