kvd*_*vdb 18 python google-app-engine boto google-cloud-storage google-compute-engine
有一个GAE项目使用GCS来存储/检索文件.这些文件也需要由将在GCE上运行的代码读取(需要C++库,因此不能在GAE上运行).
在生产中,部署在实际的GAE> GCS <GCE上,此设置正常.然而,在本地测试和开发是一个不同的故事,我想弄清楚.
按照建议,我正在运行GAE的dev_appserver和GoogleAppEngineCloudStorageClient来访问(模拟)GCS.文件放在本地blobstore中.非常适合测试GAE.
由于这些不是本地运行VM的GCE SDK,每当我引用本地'GCE'时,它只是我运行linux的本地开发机器.在本地GCE方面,我只是使用默认的boto库(https://developers.google.com/storage/docs/gspythonlibrary)与python 2.x运行时连接C++代码并从GCS检索文件.但是,在开发过程中,这些文件无法从boto访问,因为它们存储在dev_appserver的blobstore中.
有没有办法将本地GAE和GCE正确连接到本地GCS?
现在,我放弃了本地GCS部分并尝试使用真正的GCS.带有boto的GCE部分很简单.GCS部分也能够使用access_token使用真正的GCS,因此它使用真正的GCS而不是本地blobstore:
cloudstorage.common.set_access_token(access_token)
Run Code Online (Sandbox Code Playgroud)
根据文件:
access_token: you can get one by run 'gsutil -d ls' and copy the
str after 'Bearer'.
Run Code Online (Sandbox Code Playgroud)
该令牌的工作时间有限,因此并不理想.有没有办法设置更永久的access_token?
Han*_*xue -3
有一个用于此目的的 Google Cloud Storage 本地/开发服务器:https://developers.google.com/datastore/docs/tools/devserver
设置完成后,创建数据集并启动 GCS 开发服务器
gcd.sh create [options] <dataset-directory>
gcd.sh start [options] <dataset-directory>
Run Code Online (Sandbox Code Playgroud)
导出环境变量
export DATASTORE_HOST=http://yourmachine:8080
export DATASTORE_DATASET=<dataset_id>
Run Code Online (Sandbox Code Playgroud)
然后您应该能够datastore在本地代码中使用该连接。
| 归档时间: |
|
| 查看次数: |
2660 次 |
| 最近记录: |