【问题标题】:Location of GS File in Local/Dev AppEngineGS 文件在 Local/Dev AppEngine 中的位置
【发布时间】:2013-06-21 16:49:10
【问题描述】:

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

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

谁能指出 Google Cloud Storage 文件在本地 AppEngine 开发环境中的位置?

谢谢!

【问题讨论】:

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


【解决方案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 查看器链接也会显示 gcs 文件。

【讨论】:

  • 我想我应该提到我正在使用 Java SDK。对于那个很抱歉!因此,查看管理控制台,似乎没有 Blobstore 查看器的选项。这是 Java SDK 中提供的命令行工具,还是我不走运?感谢您的帮助!
  • 您使用什么 API 来编写这些文件?
  • 我正在使用 Java gcs 客户端。
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2018-12-18
    • 1970-01-01
    • 2015-04-18
    • 1970-01-01
    • 2017-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多