当前位置: 首页 > 面试题库 >

Google App Engine中的Blobstore对象有1MB的配额限制?

史淳
2023-03-14
问题内容

我正在使用 App
Engine(版本1.4.3)直接编写Blobstore
,以保存图像。当我尝试存储大于1MB的图像时,出现以下异常

com.google.apphosting.api.ApiProxy$RequestTooLargeException: The request to API call datastore_v3.Put() was too large.

我以为每个对象的限制是2GB

这是存储图像的Java代码

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();
}

问题答案:

对象的最大大小为2 GB,但每个API调用最多只能处理1 MB。至少对于阅读而言,但我认为对于写作来说可能是相同的。因此,您可以尝试将对象的写入分成1
MB的块,看看是否有帮助。



 类似资料:
  • DynamoDB的文档中说: 在查询操作中,DynamoDB按排序顺序检索项目,然后使用可能存在的任何过滤表达式(FilterExpression)和关键字条件表达式(KeyConditionExpression)处理项目。 以及: 单个查询操作最多可以检索1 MB的数据。在将任何应用于结果之前,此限制适用。 这是否意味着在此1MB限制之前应用了关键条件表达式?

  • 我已经在Protege5.2中创建了一个本体,现在我正在尝试正确地创建相应类的对象属性。下面是我的UML图的一个片段,我根据它构建了我的本体:我的本体的一个片段 关于isLocated对象属性,它们以以下方式表征:如果一个节点X有一个站点值Z,而同一个值Z出现在一个位置Y的SITEIST中,那么节点X位于位置Y中。 我应该看看SWRL规则,还是有什么方法可以在不需要去那里的情况下对其进行编码? 提

  • 问题内容: 我们可以拥有任何大小的Java对象而不必担心异常吗?我将使用一个类的对象,该类由成千上万个包含s和s以及许多其他非原始类型的其他对象组成。 谢谢 问题答案: Java Heap是对您可以在系统中拥有的对象大小的限制。 如果对象的大小超出堆大小,则会生成“内存不足”错误。 在您的情况下,总对象的大小(ArrayList中的对象+系统中其他对象)的重要性更大,因为ArrayList只是引用

  • 所以我们有一个例子,我们会有一个对象,其中key是id(int),值是字符串。但我们注意到,大多数时候,我们根据字符串查找id,所以我们决定将其反转并使字符串成为key,值是id。因为这样就不用遍历每个项目并比较值,我们可以只执行。下面是我们所做的示例。 下面是旧实现的示例: 以下是新实现的示例: 我知道现在字符串是键,可以为相同的字符串获取相同的id。但是现在这个字符串可能非常大(可能性很小,但

  • 我有一个jhipster项目,我添加了一些实体。 我的服务非常慢,因为此警告消息: 在尝试计算对象图的大小时,已达到配置的1.000个对象引用的限制。如果继续调整大小操作,可能会出现严重的性能下降。这可以通过设置CacheManager或Cache来避免 我可以做些什么来增加这个限制或取消项目中的缓存?

  • 问题内容: 嗨,我正在使用Javascript使用以下代码创建带有键和值的对象数组。 结果,我得到了这样的对象数组: 当我尝试将其字符串化并在帖子中发送该JSON时,在我不想要的地方,我使用\和“格式化了错误的JSON,因此当我尝试在C#的代码背后将JSON作为JObject销毁时,我遇到了麻烦。如何使用stringify创建一个干净的JSON 我的JSON现在错了: 我想要一个像这样的JSON对