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

时间:2017-11-20 09:13:09

标签: java json firebase google-cloud-storage

我正在尝试将图片上传到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());
    }
    

    我在这里做错了什么?

1 个答案:

答案 0 :(得分:2)

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

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

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