0

在接下来的几天里,我必须开始编写一些报告生成功能。我需要 write 调用是原子的,并让我知道存储时是否出现故障。

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

我有以下问题:

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

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

3)在写通道上使用closeFinally()后,可以重新打开并追加数据吗?(不,答案在Create CSV file 并保存到 Blobstore

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

5) 写操作是原子的吗?即,在写入写入通道时,是否有可能发生故障并最终丢失数据?

6) 当写入通道未最终确定时,这些数据存储在哪里?

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

4

1 回答 1

1
  1. 每天的写入量(或写入的数据)是有限制的,它是无证的 AFAIK,但非常高。没有额外的变化。
  2. 该文件在 closeFinally 上传输到 blobstore。
  3. blobstore 是不可变的。您不能附加 blob。
  4. 您只能从已完成的 blob 中读取。
  5. 是的,如果您不最终确定文件,它将完全丢失。
  6. 在实例 AFAICT 的内存中。
  7. 是的,见#5
于 2012-09-11T06:55:03.700 回答