如何模拟GCS进行离线测试

2024-03-29 11:10:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Python Google App Engine应用程序,可以从Google云存储中读取文件,我可以使用本地开发服务器(dev)离线测试它_应用服务器.py),太棒了。在

我还有一个.NET工具,它基于示例here,将文件转储到云存储桶中,供appengine应用程序检索。在

这对于写入“实时”云存储很好,但是如何设置StorageService与开发人员对话_应用服务器.pyGCS模拟器,这样我就可以在不使用实时云服务的情况下一起测试这两个工具吗?在

或者,是否有一个不同的GCS本地磁盘“模拟器”可以同时用于.NET客户端库和GAE本地dev服务器?在


Tags: 文件工具pydev服务器app应用程序示例
1条回答
网友
1楼 · 发布于 2024-03-29 11:10:47

GAE GCS仿真使用github project called appengine-gcs-client。它包括一个名为local_run()(内部)的函数的签入普通.py),它让api知道它是在本地运行还是在生产中运行。在

当在本地运行时,gcs客户端使用从本地的\u api_url()返回的仿真url。最后看起来像:

http://localhost:8080/_ah/gcs

我建议您尝试从本地.net应用程序连接到上述url。这应该足以完成你正在努力做的事情。在

def local_run():
  """Whether we should hit GCS dev appserver stub."""
  server_software = os.environ.get('SERVER_SOFTWARE')
  if server_software is None:
    return True
  if 'remote_api' in server_software:
    return False
  if server_software.startswith(('Development', 'testutil')):
    return True
  return False


def local_api_url():
  """Return URL for GCS emulation on dev appserver."""
  return 'http://%s%s' % (os.environ.get('HTTP_HOST'), LOCAL_GCS_ENDPOINT)

LOCAL_GCS_ENDPOINT = '/_ah/gcs'

相关问题 更多 >