我正在尝试使用google cloud storage api来保存图像文件。 发送图像插入请求通常需要1到3秒,并且每个图像从谷歌服务器获得回复,但有时(如每1500次尝试1次)需要很长时间,例如超过10分钟。(我查了一下)一个案例等待大约50分钟从请求检索插入结果)由于谷歌控制台不提供延迟日志,我无法检查任何有关它。
这种延迟困扰着我的工作及时完成。我想知道延误的原因。
我使用java,图像的最大大小是2兆字节,我的代码使用谷歌提供api。
我还检查了readTimeout是20秒,connectTimeout是20秒,这是由提供的谷类提供的。但是这个延迟的案例从不提供任何异常消息,只是让我的程序被阻止。
请给我任何关于它的线索...... 谢谢。
maven:
<dependency>
<groupId>com.google.apis</groupId>
<artifactId>google-api-services-storage</artifactId>
<version>v1-rev82-1.22.0</version>
</dependency>
java代码:
StorageObject objectMetadata = new StorageObject()
.setName(imgName)
.setAcl(Arrays.asList(new ObjectAccessControl()
.setEntity("allUsers")
.setRole("OWNER")));
ByteArrayContent byteArrayContent = new ByteArrayContent(null,imgBytes);
GoogleCredential credential = getMyCredential();
if (credential.createScopedRequired()) {
Collection<String> scopes = StorageScopes.all();
credential = credential.createScoped(scopes);
}
JsonFactory jsonFactory = JacksonFactory.getDefaultInstance();
Storage storage = new Storage.Builder(GoogleNetHttpTransport.newTrustedTransport(), jsonFactory, credential)
.setApplicationName(APPLICATION_NAME).build();
Storage.Objects.Insert insertRequest =
storage.objects().insert(bucketName,objectMetadata,byteArrayContent);
insertRequest.execute(); //delay occurs here