Używam App Engine (version 1.4.3) direct write the blobstore do zapisywania zdjęć. gdy próbuję zapisać obraz, który jest większy niż 1MB otrzymuję następujący wyjątekLimit 1 MB limitu dla obiektu blobstore w Google App Engine?
com.google.apphosting.api.ApiProxy$RequestTooLargeException: The request to API call datastore_v3.Put() was too large.
Myślałem, że limit for each object is 2GB
Oto kod Java, który przechowuje obraz
private void putInBlobStore(final String mimeType, final byte[] data) throws IOException {
final FileService fileService = FileServiceFactory.getFileService();
final AppEngineFile file = fileService.createNewBlobFile(mimeType);
final FileWriteChannel writeChannel = fileService.openWriteChannel(file, true);
writeChannel.write(ByteBuffer.wrap(data));
writeChannel.closeFinally();
}
wygląda jak dzielenie danych na mniejsze kawałki sprawiło podstęp. Nadal mam wyjątek, gdy próbowałem przechowywać duży rekord dataStore (który ma twardy limit 1 MB). ponieważ ślad stosu wyjątku był w innym wątku, pomyślałem, że to blobStore powoduje problemy. Google: jesteś mi winien kilka godzin debugowania –
Jeśli umieściłeś stacktrace (lub przyjrzałeś się uważnie), mogliśmy pomóc. –
* AKTUALIZACJA * powyższy kod wydaje się działać dla mnie. Wydaje się, że nie ma już limitu 1 mb ... – itgiawa