我是网络技术的新手,在研究我想创建的网络应用程序时,我有点陷入困境.我希望能够在我的网站上使用Google地图,包括允许您使用图层并在其上绘制形状和线条的功能,但我对谷歌地图API和谷歌地图引擎之间的差异感到困惑哪一个最适合我.
对我来说,这是一个更好的选择吗?在获取Maps Engine的网站上似乎有很多繁文缛节,但我不清楚Maps API是否具备我想要的所有功能.
对不起初学者的问题,但我没有找到任何解决这个问题的常见问题解答.我真的很感激任何见解.谢谢!
我正处于开发体育统计网站(终极飞盘)的早期阶段,如果Google App Engine适合我,我想知道您的意见.
我使用Django在Python中编写它并且已经习惯了标准的RDBMS多年,但是这个站点是一个长期项目,我期待非常大量的数据,所以我希望GAE数据存储提供"无限"的扩展.绝大多数对数据库的查询都会返回非常标准的结果,这会使数据存储看起来像是一个合理的选择.但是,我希望将来能够提出极其复杂的查询来提出新的统计指标,或者只是想出有趣的结果.我计划将来做很多这样的事情,但是在收集数据之前不会知道这些查询是什么.
例如,你经常看到棒球统计分析师提出荒谬的统计数据,例如"这是过去50年来第一次两名左手投手,其姓氏以'Z'开头,连续投出一击天".我希望将来能够灵活地提出任何疑问.:)
但是,我认为像bigtable这样的非关系型数据库需要您预先提供包含冗余数据的模型,并且所有工作都在插入而不是提取上进行.我已经构建了几乎包含我需要查询的所有数据的django模型,但是我不知道从现在开始我想要一年或两年的非规范化模型.因此,我觉得在GAE数据存储区中进行复杂查询将是非常困难的,并且需要我在python中处理它之前从服务器上提取大量信息.
谷歌应用引擎数据存储是否完全错误,我想做什么?或者我只是缺少一些东西.非常感谢提前!
更新: 感谢目前为止的回复.我意识到我还应该提到很多这些复杂的查询是我希望用户能够做的查询,因此使得脱机数据库不是一个真正的选择.例如,用户应该能够看到各种特定玩家在特定游戏或季节期间同时在场上时的比赛的各种统计数据.虽然这些查询不像标准聚合统计数据那样频繁,但它们仍然会定期发生.
拥有关系数据库以及GAE数据存储区会很棒,但django默认情况下不支持多个db,并且一起修补解决方案听起来很困难而且很混乱.Eric Florenzano 为使用django模型的两个数据库提供了一个很好的解决方案,但如果我使用GAE数据存储区,我将不得不使用app引擎的db模型.并且提出了一个很好的解决方案,就像他为这个复杂问题所做的那样,在这一点上有点超出我的技能水平.
现在我最喜欢的两个选项是使用GAE任务队列来执行困难的查询,或者使用像webfaction这样的更标准的webhost,然后在我的数据增长后再对我的表进行非规范化,我需要提高性能.
django google-app-engine database-design non-relational-database google-cloud-datastore
result = search.get_indexes(namespace='', offset=0, limit=999, start_index_name='f35cef2dfb9a8f34e381386ec5a1f7ee', include_start_index=True, fetch_schema=False)
Run Code Online (Sandbox Code Playgroud)
但是,这里没有id/index
如何在Search API中只获取记录的id/index?救命 !!
当我更新GAE数据存储区时,只有在浏览器刷新页面后才会显示正确的数据存储区内容:
import os
from google.appengine.ext.webapp import template
from google.appengine.ext import db
import webapp2
#def testkey():
# return db.Key.from_path('test', 'test')
class TestEntity(db.Model):
testkey = db.StringProperty(multiline=False)
testvalue = db.StringProperty(multiline=False)
class TestRefreshProblem(webapp2.RequestHandler):
def get(self):
testquery = TestEntity.all()#.ancestor(testkey())
entities = testquery.run()
template_values = {
'entities': entities,
}
path = os.path.join(os.path.dirname(__file__), 'index.html')
self.response.out.write(template.render(path, template_values))
class TestRefreshProblemPost(webapp2.RequestHandler):
def post(self):
# testEntity = TestEntity(parent=testkey())
testEntity = TestEntity()
testEntity.testkey = self.request.get('testkey')
testEntity.testvalue = self.request.get('testvalue')
testEntity.put()
self.redirect('/')
app = webapp2.WSGIApplication([
('/', TestRefreshProblem),
('/pst', TestRefreshProblemPost)
], debug=True)
Run Code Online (Sandbox Code Playgroud)
和index.html是:
<html>
<body> …Run Code Online (Sandbox Code Playgroud) python google-app-engine refresh ancestor google-cloud-datastore
正如问题所述,我试图弄清楚如何.tar.gz从 Google Colab 笔记本中提取存储在 GCS Bucket 中的文件。
我可以通过以下方式连接到我的存储桶:
auth.authenticate_user()
project_id = 'my-project'
!gcloud config set project {project_id}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试运行以下命令时:
!gsutil tar xvzf my-bucket/compressed-files.tar.gz
Run Code Online (Sandbox Code Playgroud)
我收到一个错误。我知道这gsutil可能功能有限,并且可能不适合我想做的事情,那么有其他方法可以做到这一点吗?
谢谢!
python-3.x google-cloud-storage google-cloud-platform google-colaboratory
ancestor ×1
api ×1
django ×1
gae-search ×1
maps ×1
python ×1
python-2.7 ×1
python-3.x ×1
refresh ×1