4

我正在尝试解决我在创建的导出任务中遇到的一些问题。我正在尝试使用 Google Cloud Storage 导出 CSV 数据,但我似乎无法导出所有数据。当我尝试重新启动任务时,我假设它与(FAR TOO LOW)30 秒文件限制有关。

我需要排除故障,但我似乎无法找到我的本地/开发服务器将文件写出的位置。我在GsFileInfo表中看到了许多条目,所以我假设发生了一些事情,但我似乎找不到实际的输出文件。

有人可以指出本地 AppEngine 开发环境中 Google Cloud Storage 文件的位置吗?

谢谢!

4

2 回答 2

1

正如 tkaitchuck 上面提到的,您可以使用包含的 LocalRawGcsService 将数据从 local.db 中提取出来。这是获取文件的唯一方法,因为它们使用 blobstore 存储在本地数据库中。这是原始答案:

使用 GCS 客户端库模拟云存储的 GAE java 上的文件 uri 是什么?

于 2013-06-25T16:26:38.900 回答
1

查看dev_appserver代码,您似乎可以指定路径,或者它将根据您使用的操作系统计算默认值。

 blobstore_path = options.blobstore_path or os.path.join(storage_path,
                                                        'blobs')

然后它将此路径传递给blobstore_stub(GCS 存储由 blobstore 存根支持),这似乎通过它们的 blobstore 键对文件进行分片。

  def _FileForBlob(self, blob_key):
"""Calculate full filename to store blob contents in.

This method does not check to see if the file actually exists.

Args:
  blob_key: Blob key of blob to calculate file for.

Returns:
  Complete path for file used for storing blob.
"""
    blob_key = self._BlobKey(blob_key)
    return os.path.join(self._DirectoryForBlob(blob_key), str(blob_key)[1:])

例如,我使用的是 ubuntu 并以 开头dev_appserver.py --storage_path=~/tmp,然后我能够在 ~/tmp/blobs 下找到文件,并在 ~/tmp/datastore.db 下找到数据存储区。或者,您可以转到本地 admin_console,blobstore 查看器链接也会显示 gcs 文件。

于 2013-06-21T17:41:43.530 回答