0

我在常规云存储中有一堆大文件,我想以编程方式将它们移到 blobstore 以使用 mapreduce 库进行进一步处理。(因为有 BlobstoreLineInputReader 但没有 Datastore 版本。)我尝试为 gs 文件创建一个 url 并让 blobstore 尝试自行读取它,我也尝试过缓冲读取,但对于大文件我仍然点击内存错误。(我通过在追加模式下打开并仅在最后完成来避免 blobstore 文件的最后期限超过错误(超过 60 秒)。)似乎应该有一种有效的方法来做到这一点,因为数据存储和 blobstore 都是相同的应用程序上下文,但我还没有找到它。

4

1 回答 1

4

我很困惑,因为您在这里几乎可以互换地提到云存储和数据存储。

如果您的数据在 Google Cloud 存储中,那么您可以为文件创建 BlobKeys 并将它们与任何当前的 Blobstore API 一起使用。

IE

blobkey = blobstore.create_gs_key('/gs/my_bucket/my_object').

如果您的文件在数据存储中,那么您需要使用文件 API 将它们移动到 Cloud Storage/Blobstore,然后从那里处理它们。

于 2012-08-10T05:01:00.977 回答