Appengine blobstore作为文件系统限制和问题

时间:2012-09-11 06:47:48

标签: java google-app-engine blobstore

在接下来的几天里,我必须开始编写一些报告生成功能。我需要写入调用是原子的,如果存储失败,请告诉我。

关于appengine的实验性功能允许将blobstore用作文件系统。 (https://developers.google.com/appengine/docs/java/blobstore/overview)。

我有以下问题:

1)如图所示使用文件服务api,是否需要支付额外费用?唯一受影响的配额是Blobstore中的数据量吗?

2)实际写入的数据是在哪一点?我在这个例子中看到了out.close()?

3)在写通道上使用closeFinally()之后,是否可以重新打开它并附加数据? (不,答案在Create CSV file and save to Blobstore

4)如果写通道打开,你还能读取数据吗?是否需要最终确定?

5)写操作是原子的吗?即,在写入写入通道时,某些内容可能会失败,最终会丢失数据吗?

6)在写通道未完成时,这些数据存储在何处?

7)如果没有最终确定,写通道中的数据是否会过期?

1 个答案:

答案 0 :(得分:1)

  1. 每天写入(或写入数据)的数量有限制,它是未记录的AFAIK,但相当高。没有额外的变化。
  2. 该文件将传输到closeFinally上的blobstore。
  3. blobstore是不可变的。你不能追加blob。
  4. 您只能从已完成的blob中读取。
  5. 是的,如果你没有最终确定文件,它将完全丢失。
  6. 在实例AFAICT的记忆中。
  7. 是的,请参阅#5