我正在尝试将图像上传到
Google Cloud storage
,但在创建StorageOptions
时,我遇到了project must be specified.
异常。
我按照官方文档进行操作,并在执行以下步骤后选择使用
Json
凭据:
Service Account Key
Role
中我选择了Owner
(稍后更改)下载
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客户端创建bucket时,似乎没有办法设置项目。我提交了一个错误:https://github.com/GoogleCloudPlatform/google-cloud-java/issues/2643
您可以通过在设置 StorageOptions 时指定项目来解决此问题:
StorageOptions.newBuilder().setProjectId("my-project-id")
//continue as normal
调用 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)