我正在寻找一个非常简单且免费的云存储来存储小数据包。
基本上,我想编写一个Greasemonkey脚本,用户可以在具有共享数据集的多台机器上运行该脚本。数据主要只是一个数字,每个用户8个字节就足够了。
这一切都归结为以下要求:
第一个想法:
任何人都有一个我不知道的聪明主意或服务?
对那些好奇的人进行更新:我最终选择了GAE路线(大约半页的Python代码)。之后我才发现了OpenKeyval(见下文)。优点是用户可以轻松连接所有计算机(只需一个Google帐户登录,没有其他密钥可以从机器A转移到机器B),缺点是每个人都需要一个Google帐户。
答案 0 :(得分:4)
OpenKeyval几乎就是我想要的。
OpenKeyval正是我所寻找的,但显然已被关闭。
答案 1 :(得分:1)
我认为GAE将是不错的选择。根据您对存储容量的要求,您永远不会通过500 MB的GAE商店。由于服务的REST特性,在浏览器中移植脚本很容易;)
答案 2 :(得分:1)
我被要求分享我的GAE密钥/价值商店解决方案,所以来了。请注意,此代码已运行多年,因此可能是错误的和/或过时的GAE代码:
<强>的app.yaml 强>
application: myapp
version: 1
runtime: python
api_version: 1
handlers:
- url: /
script: keyvaluestore.py
<强> keyvaluestore.py 强>
from google.appengine.api import users
from google.appengine.ext import db
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
class KeyValue(db.Model):
v = db.StringProperty(required=True)
class KeyValueStore(webapp.RequestHandler):
def _do_auth(self):
user = users.get_current_user()
if user:
return user
else:
self.response.headers['Content-Type'] = 'text/plain'
self.response.out.write('login_needed|'+users.create_login_url(self.request.get('uri')))
def get(self):
user = self._do_auth()
callback = self.request.get('jsonp_callback')
if user:
self.response.headers['Content-Type'] = 'text/plain'
self.response.out.write(self._read_value(user.user_id()))
def post(self):
user = self._do_auth()
if user:
self._store_value(user.user_id(), self.request.body)
def _read_value(self, key):
result = db.get(db.Key.from_path("KeyValue", key))
return result.v if result else 'none'
def _store_value(self, k, v):
kv = KeyValue(key_name = k, v = v)
kv.put()
application = webapp.WSGIApplication([('/', KeyValueStore)],
debug=True)
def main():
run_wsgi_app(application)
if __name__ == "__main__":
main()
答案 3 :(得分:0)
我见过的最接近的事情是亚马逊的简单队列服务 http://aws.amazon.com/sqs/
我自己没有使用它,所以我不确定开发人员关键方面是如何工作的,但是他们每个月会给你100,000个免费查询。