我正试图解决我在创建的导出任务中遇到的一些问题。我正在尝试使用Google云端存储导出CSV数据,而我似乎无法导出所有数据。当我尝试重新启动任务时,我假设它与(FAR TOO LOW)30秒文件限制有关。
我需要麻烦拍摄,但我似乎无法找到我的本地/开发服务器写出文件的位置。我在 GsFileInfo 表中看到了很多条目,所以我假设发生了一些事情,但我似乎无法找到实际的输出文件。
有人能指出我在本地AppEngine开发环境中的Google云端存储文件的位置吗?
谢谢!
答案 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?