GS文件在Local / Dev AppEngine中的位置

时间:2013-06-21 16:49:11

标签: google-app-engine google-cloud-storage

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

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

有人能指出我在本地AppEngine开发环境中的Google云端存储文件的位置吗?

谢谢!

2 个答案:

答案 0 :(得分: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 / blob和〜/ tmp / datastore.db下的数据存储区中找到文件。或者,您可以转到本地admin_console,blobstore viewer链接也将显示gcs文件。

答案 1 :(得分:1)

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

which are the files uri on GAE java emulating cloud storage with GCS client library?

相关问题