有一个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?
python google-app-engine boto google-cloud-storage google-compute-engine
我有一些使用AWS S3上传和下载文件的代码(使用Java AWS SDK).我希望能够为它编写一些测试,我想知道是否有人有任何好的选择.理想情况下,我想要一个本地运行的轻量级S3服务器,可以快速启动并且不需要系统配置(测试需要由Jenkins运行).
到目前为止我看过的一些选项:
所以我想尝试使用Heroku作为我的服务器,但Heroku不允许写入其文件系统.相反,我需要使用数据库和Amazon S3之类的东西来存储上传的图像等内容.
问题是我在开发时经常没有互联网访问权限.或者非常差的互联网接入.因此,为Amazon S3开发是不切实际的.是否有可以使用的离线版本,以便我的本地计算机可以充当S3云,而在测试/生产环境中,我可以使用真正的S3?