我正在开发的产品运行在谷歌应用程序引擎之上。
它包含与以下类似的代码:
result = urlfetch.fetch(url, **parms)
log('%s' %result.final_url)
这总是不返回任何值。在文档中,它说它将返回正确的URL。但这似乎是个问题。我不能使用给定的url,因为在这两者之间有很多302发生
有人知道如何解决同样的问题吗?测试表明,如果遵循重定向,则填写最终url,如果没有,则保留为空:
>>> from google
如果我们能够在servlet引擎上运行GAE应用程序而不进行任何代码更改,那将非常好,因为:
如果谷歌改变了他们的计费策略,我们可以直接跳到我们自己的服务器上,或者如果他们当前的策略不适合我们的应用程序需求
我们可以做GAE中不允许的事情,破坏1个JVM,1个DB
我们实际上并不需要一个分布式系统,但更需要一个实时系统,具有同步、真正的锁定机制、安装在服务器机器上的其他服务器/软件、套接字接口等
此类一揽子计划应至少包括:
TomCat(或同等产品)
DataNucleus访问平台
(任务
我有一个类别模型,我想在其中加载一些默认数据。我怎样才能做到呢?这是一个用于选择框的模型,可在以后扩展到不同的应用程序
这是我设计的模型,我试着验证选择
class Category(db.Model):
categorylist=db.StringListProperty()
请帮忙
谢谢选择盒子型号
Class Category (db.Model):
name = db.StringProperty()
现在,我以这种方式使用它(我使用的是Django框架)
有没有一种简单的方法可以在Google App Engine localhost上执行脚本?
例如,我几乎没有脚本来生成试点数据,一直将它们复制并粘贴到交互式控制台是非常痛苦的
目前,我正在使用一个简单的bash脚本来实现这一点,但我不确定这是否是最好的解决方案
curl--data urlencode“code=`cat src/gen\u pilot\u data.py`”
谢谢,
V在AppEngine上执行脚本没有什么特别的事情要做,但是如果您想使用AppEngine API,您必须在
我正在开发一个P2P应用程序,其中UserA知道UserB的IP地址并请求连接。这是不可能登录到任何谷歌谈话或类似的帐户,我们只能使用IP地址
然后,我真的不能使用XMPP API或libjingle吗?(看起来它需要一个“登录过程”)有没有API或Java库建议这样做?
谢谢如果您正在开发基于web的应用程序,浏览器安全性将阻止您在两个客户端之间建立直接的对等连接
您可以使用来处理两个客户端之间的实时通信;使用此功能,两个客户端都将连接到App Engine服务器以交换消息。如果您正在开发基于
有谁能告诉我,谷歌应用引擎频道api是否集成在django Norel中?我的整个应用程序都是在GAE上运行的django Nonl,但现在我需要使用通道api来实现服务器推送。
我认为channel api使用GAE webapp。这对django Norel有效吗
谢谢,
Sunil无论您使用的是哪种框架,您都可以使用提供的appengine api。我上一次检查的通道api没有“django特定抽象”,但它将与您创建的任何其他api一起愉快地工作。没有一个api关心您使用的是什么框架。
这是我为创建以下方案所做的最大努力
原始问题
如何对expando类进行自引用,以指明哪个用户是哪个类的“发起人”?“发起人”是邀请新用户的人,因此在创建时我们必须将其存储,并且将其存储为引用属性比存储字符串或字符串列表要整洁得多
我可以创建一个新用户,但我不知道如何创建一个引用,这样我就可以告诉一个用户,谁是另一个用户,谁是第一个用户的发起人,我假设一种建模方法是使用selfreferenceproperty,因为两个对象都是用户,但复杂的是它是一个expando模型,所以我不知道如何使用引
我正在尝试保存事件。但它不起作用。请你帮忙好吗?非常感谢
query = []
query = Identity.all().filter('name =', 'k').fetch(1)
if query:
for q in query:
event_id = q.key().id()
Event(description=description, identity=event_id)
事件模型
class Event(search.SearchableModel):
我已在app engine上托管了我的应用程序。我正在下载为我提供用户IP地址的日志文件
我运行了一个Python脚本来查找不同的IP地址
然而,我得到的数字比我预期的要高(在过去的24小时内大约有60000人——我预计接近30000人)
我想知道计算不同的IP地址是否能得到唯一用户的确切数量。否。同一IP地址后面可能有多个用户-例如,家庭路由器经常使用NAT,以允许使用多台具有ISP提供的相同单一IP地址的计算机
此外,拥有大量用户的大学和其他组织经常使用NAT和代理,这可能会将数百个用户置于
使用ndb和要在查询上使用筛选器的新查询类,您需要使用以下语法:
qry = MyModel.query(MyModel.title == 'title')
如何在不事先知道必须查询哪些属性的情况下查询模型
使用“旧”方式,我有一个字典,其中包含要查询的键和值,并循环查询键和值:
kwargs = {'title' : 'mytitle',
'age' : 34 }
q = MyModel.all()
for kw, vals in kwargs.items():
问题是关于谷歌应用引擎后端。
如何在代码中找到dev服务器上的后端url?我们在生产服务器上有简单的url格式化规则
但url在开发服务器上是随机的,它和一些随机端口有关
那么我如何在代码中找到这个开发url呢?您可以通过编程的方式。这也适用于开发服务器。这些API将帮助我们发现为请求提供服务的后端,但是我正在查找本地后端服务器运行的URL(尤其是端口)。这将帮助我识别在自动集成测试期间需要调用的后端URL。这并不是一个可以预测的问题。
在本地开发模式下,我可以使用以下代码(删除所有try/catch内容)将war/目录中的~7.4MB文件读入对象
FileInputStream-fis;
fis=新文件输入流(“myObject.dat”);
目的输入流ois;
ois=新的ObjectInputStream(fis);
myObject=(ArrayList)ois.readObject();/--!prod模式在这里卡住了!但是开发模式很好
在本地开发模式下,它工作得很好,可以在几秒钟内读取对象
部署到AppEngine
我发现使用webApp和-maven开关会生成一个与maven兼容的项目。现在,一旦我有了这个项目,我必须做以下步骤
1) 添加gae依赖项
2) 添加jdo依赖项
3) 添加应用程序引擎配置文件
4) 添加jdo配置文件
还有别的吗,我正在使用AppEngine1.6.6和GWT2.4。请概述确切的步骤和依赖关系。我在其他堆栈溢出问题中找到了关于gae maven插件的链接,这些链接似乎很旧,而且不太好用。这是我的pom.xml:我使用gae、GWT和JDO。希望有帮助:
<?xml v
我正在寻找将gwt与phonegap集成的方法,我从中获得了一个,但我找不到任何资源来实现phonegap与gwt,也就是说,我找不到如何将gwt对象(如按钮、文本区域、事件)与phone gap相关联的方法。我确实看过了,但参考资料只提供了有关phonegapevents、Locations、Timer等可用方法的详细信息。。。有人能给我举个例子吗Hello world如何集成gwt和phonegap,或者提供一个简单例子的任何资源 在该存储库中还有一个用于使用GWT和phonegap的附加项
我想从google地图解析源和目标之间的所有位置,如下所示:
谷歌地图API v3方向示例
<script type="text/javascript">
var directionsService = new google.maps.DirectionsService();
var directionsDisplay = new google.maps.DirectionsRenderer();
var map = new google.maps.Map(docum
目前,我的许多代码广泛使用祖先来放置和获取对象。不过,我想改变一些东西
我最初认为,如果您知道您正在寻找的实体的祖先是谁,那么祖先有助于加快查询速度。但我认为祖先在事务支持方面最有用。我不使用事务,所以我想知道祖先对系统的负担是否大于帮助
我拥有的是一个用户实体,还有很多其他实体,比如评论、标签、朋友。用户可以创建许多注释、标记和朋友,因此每当用户这样做时,我将所有这些新创建的对象的祖先设置为用户
因此,当我创建注释时,我将祖先设置为用户:
comment = Comment(aUser, ke
虽然我在本教程中做了所有类似的事情
有时,当我刷新/加载视图时,它会抛出异常,只有在本地运行时才会发生
WARNING: /javax.faces.resource/theme.css.jsf
java.lang.NumberFormatException: Wed, 12 Dec 2012 10:32:00 GMT
at org.mortbay.io.BufferUtil.toLong(BufferUtil.java:106)
at org.mortbay.jetty.Http
在本例中,我有一个main.html模板
<!DOCTYPE html>
<html>
<head>
<title>Backend</title>
<style>
html, body {height:100%}
</style>
</head>
<body>
<table border="1" width="100%" height="100%">
我以前一直想看看这个,但我找不到。所以我建议在这里问一下
我的目标是像log4j一样将日志定制到它的log4j.properties中
我在GAE上的logging.properties上有条目
.level = ALL
log4j.logger.com.winzter.ams.utils=INFO
因为,我的根日志设置为ALL,而com.winzter.ams.utils设置为INFO,我希望在我的utils包和类中只记录INFO,但事实并非如此。GAE仍然会记录所有日志,包括debug/
我的代码可以从GoogleAppengine服务器获取gzip内容,但它可以从localhost(appengine开发服务器)获取完整大小的内容。它使用jetty作为web服务器。可以强制localhost使用gzip吗?您的意思是在头中?接受编码?我是说服务器端。Chrome的网络工具显示gzip在远程gae服务器上工作,但在本地gae开发服务器上不工作很多东西在本地不工作。部署它,看看会发生什么。这是一个漫长的6年后,但你有没有弄明白这一点?
由于实验性搜索API的局限性,我决定使用ApacheLucene来满足我的全文搜索需求。我查看了Lucene的AppEngine端口,但它们不适合我的需要(使用RAMIndex的端口不支持我的索引大小,使用数据存储的端口在性能方面太慢),因此我使用本地文件系统测试了Lucene,发现它非常适合我
现在我的问题是如何让它在AppEngine上工作。我们不允许写入文件系统,但这很好,因为索引是在我的dev机器上创建的,在服务器上是只读的(我会定期更新索引,需要向上推新索引)。从文件系统读取是允许的,
在将PythondevAppServer更新为GoogleAppEngine1.7.6(使用Python2.7)之后,我在memcache查看器方面遇到了一些问题
我的memcache似乎未更新或不可读。我曾尝试使用app engine memcache viewer查看memcache,但当我输入memcache密钥时,出现错误
当我刷新缓存时,一切正常进行,直到需要再次读取memcache
命中率和memcache大小会正常增加,因此缓存中有一些内容。另外,当我回到AppEngine1.7.
我的本地环境和生产环境不再兼容。问题是,我正在为一个实体、区域使用ID和密钥,其中一些密钥是硬编码的,我还无法得到硬编码的内容
class City(db.Model):
region = db.ReferenceProperty()
name = db.StringProperty()
class Region(db.Model):
name = db.StringProperty()
countrycode = db.StringProperty()
vieworder
Javascript代码:
$http({
method: 'POST',
url: 'some/path',
headers: { 'Content-Type': false },
transformRequest: function (data) {
var formData = new FormData();
formData.append("file", data);
return formData;
},
我有一个候选模特
class Candidate(ndb.Model):
name = ndb.StringProperty()
phone = ndb.StringProperty()
location_name = ndb.StringProperty()
state = ndb.KeyProperty(kind=Setting)
称为提交状态的模型
class SubmissionState(ndb.Model):
name = ndb.Strin
当通过属性->谷歌->应用程序引擎将我的GWT应用程序部署到GAE时,我选择使用谷歌应用程序引擎
我在项目的构建路径上得到错误“appengine SDK'/Users/xxx/.m2/repository/com/google/appengine/appengine-api-1.7.6/appengine-api-1.0-SDK-1.7.6.jar”无效(SDK位置'/Users/xx/.m2/repository/com/google/appengine/appengine-api-1.0-
我已经在部署服务器上测试了TCP套接字,它可以正常工作。
我在开发服务器上测试UDP套接字,它可以工作,但在部署服务器上不能。
我在浏览器上查询它,很长时间后,它显示:
错误:服务器错误
服务器遇到错误,无法完成您的请求。
如果问题仍然存在,请报告您的问题,并说明此错误消息和导致此问题的查询
以下是我的代码:
InetAddress aaddr=InetAddress.getByName("220.152.188.241");
InetSocketAddress
我有一个谷歌应用引擎实体,有超过200万条条目,大约占2GB。
根据数据存储统计,内置索引为13GB(7500万个条目),复合索引为1GB(400万个条目)
我知道复合索引的大小与我在index.yaml文件中定义的索引数量有关
但是,为什么我的内置索引比数据本身大得多?我可以做些什么来减少内置索引?默认情况下,大多数模型属性都会被索引,请参阅此处:
默认情况下,picke、json、localstructured、blob和json属性不编制索引。这意味着,如果没有在任何其他属性上指定inde
我使用ndb在GAE中建模了一个数据结构,ndb是“递归的”,因为我希望它在其中存储同一结构化类型的实例。在概念上,
class Person(ndb.Model):
name = ndb.StringProperty()
friend = ndb.StructuredProperty(Person)
我得到以下错误:
Traceback (most recent call last):
File "C:\Program Files (x86)\Google\google_
我正在基于TodoMVC angularjs()编写一个示例项目,并使用带有googleappengine云端点的后端api,在从appengine数据存储中获取todos列表时,我得到了一些一致性结果
Todo对象使用objectify存储在App Engine数据存储中
Todo实体的编码如下所示:
@Entity
public class Todo {
@Id
private Long id;
private String title;
private b
所以我通过Objectify(Java)使用Google AppEngine的数据存储。我可以使用@Indexed注释(works)定义简单索引,也可以在datastore index.xml中定义复合索引
假设我有这样一门课
class X{
@Indexed public String a;
@Indexed public String b;
}
以及综合指数
<datastore-index kind="X" ancestor="false" source="manua
Google App Engine通过用户服务提供用户ID,这些ID仅承诺为:
唯一标识此用户对象所代表的用户的不透明字符串
根据:
这些字符串似乎总是长度为21个字符的数字。谷歌有没有任何保证,它们将永远是数字或任何其他承诺,比一个字符串更具体
我这样问是因为我们希望将它们与其他登录提供商(如Facebook)的用户ID一起存储,并希望确保只有Facebook ID具有前缀且Google用户ID保持不变时不会发生冲突。如果要保证来自多个不同提供商/API的ID之间不会发生冲突,您应该为这两种类
考虑以下情况:
我有两个AppEngine项目:A和B
我有一个具有以下ACL的云存储桶:
<?xml version="1.0" ?>
<AccessControlList>
<Owner>
<ID>id-of-the-user-who-created-the-bucket</ID>
</Owner>
<Entries>
<Entry>
如果属性具有以下默认值:
class myModel(db.Model):
myProperty = db.SomeProperty(default='Default')
是否有一种方法可以通过编程方式使其可以由用户交互触发并更改“默认”值
我能想到的最好的方法是对它进行更多的破解——让这个属性在默认情况下引用其他东西,然后我更改引用的值,然后为所有实体更改它
但是有更好的方法更直接地更改默认值吗?为什么不在创建/更新实体时以编程方式设置myProperty属性呢?如果这不起作用,您可
我有一个应用程序引擎应用程序,我为它启用了SSL(没有自己的证书),它适用于appspot url。现在我想使用我的自定义域,比如myDomain.com和SSL(例如)。如果没有像appspot域那样的自己的证书,这是可能的吗?我遵循了这个指南()并讨论了如何上传证书。这是可选步骤还是强制性步骤
因为如果我尝试访问我的域,我总是会遇到SSL错误如果您想对自定义域使用SSL,则必须上载证书。您可以在[1]中找到有关SSL握手的详细信息
[1] -您无法从谷歌获得证书。您可以从免费的证书颁发机构购
先生,我正在建立一个电子商务网站,我们想在.net中存储多个图像我在Sql server中存储图像位置,但在Google App Engine平台中如何实现这一点?如果您有一些静态图像,您能给出任何类型的示例或表单链接来阅读和理解此主题吗,您可以将它们添加到App Engine项目中的/war文件夹,并将项目部署到App Engine。您可以直接将图像添加到war中,或者如果您有许多图像,可以创建子文件夹/war/images
然后,在HTML中,您可以简单地引用图像,如下所示:
<img
我有两个GAE。GAE1有RESTAPI(没有实现oauth身份验证的Tastypie)。GAE2调用GAE1的RESTAPI
如果调用API:
data = urllib2.urlopen("http://___GAE1____.com/api_ws/api/v1/test/?format=json").read()
返回的结果是登录页面,而不是来自GAE1的JSON结果
如何执行GAE托管的身份验证?OAuth2还是API密钥
我读
但无法确定什么是客户端机密、作用域(我的REST API
不知什么原因,我在Google App Engine上的网站突然不再在多个设备和不同浏览器上加载。它给出了一个DNS探测完成域错误。我尝试重新启动DNS服务,将DNS更改为Google的,并重新启动设备。到目前为止没有任何帮助。所有其他网站加载没有问题。这可能是什么原因造成的?我的域提供商似乎存在一些问题。他们的网站也出现了同样的错误。我花了数周时间在两台不同的无关计算机上解决这个问题,甚至无法ping Yahoo.com,并且在网络浏览器中存在各种连接问题,包括“DNS探测完成的域名”和“错误
我更新了托管VM代码,并在当前部署中部署了它。然后我删除了旧的部署
我的新部署中有一个bug,但是因为我删除了旧部署,所以我无法返回到旧版本
我怎样才能在不重做所有工作的情况下恢复旧部署?我希望尽量减少停机时间。我强烈建议您始终至少运行一个以前的版本,以便在出现问题时可以立即切换回
但是,由于容器图像已保存,因此可以使用以下技巧回滚:
假设您的第一个部署版本为“v1”,第二个部署版本为“v2”
gcloud预览应用程序deploy app.yaml--升级--版本v1
进行一些代码更改
gclo
我的用户具有“应用程序引擎部署器”和“应用程序引擎管理”权限。当我尝试使用Eclipse部署应用程序时,我得到以下错误-
com.google.appengine.tools.admin.HttpIoException: Error posting to URL: https://appengine.google.com/api/datastore/index/add?app_id=xxxxxxxxxx&version=9&
403 Forbidden
You do not ha
我在appengine灵活环境(Java/Spring引导)中创建了一个POST端点。它与PubSub订阅位于同一个Google项目中。
我检查过了,这个POST端点可以从外部世界访问。我可以使用本地PC上的邮递员将数据发送到此端点。
但是我的控制器没有从推送订阅获取请求
我尝试了简单的端点URL,比如/push,也尝试了推荐的URL,比如/_ah/push handlers/push,但是结果是一样的
我可以在Stackdriver日志中看到很多消息:
{
metadata: {
我正在使用Sendgrid通过GAE上的应用程序发送电子邮件。它的工作很好,但我也希望能够发送PDF作为附件。
我的项目中没有使用Sendgrid.jar文件。我刚刚使用了Sendgrid.java。这个类没有我可以用来添加附件的方法。有人能帮我吗?我个人认为,直接按照中的描述构造JSON请求体比使用Sendgrid的库更容易。我只在自己构造JSON数据后使用Sendgrid库发送请求
构造JSON数据时,您需要至少指定一个文件名和内容(即PDF文件)。确保在将PDF文件添加到JASON数据之前
有限投票支持使用GBQ制作,因为这是最灵活、最快捷的方式。您只需按原样加载文件,然后使用BigQuery magic转换您的数据谢谢!你能澄清一下吗?什么魔法?我还没有找到一种在GBQ中运行转换/验证而不将这些数据拉到调用它的应用程序的方法。例如,API服务器(Kubernetes)负责文件上载。然后触发文件导入。那又怎么样?NodeJS SDK有CRUD操作,但它需要从GBQ中提取数据,这是非常低效的。有没有办法触发GBQ中的更改?现在,您正在询问如何在GBQ中进行转换(这是我在原始评论中提到
我正在尝试在Google App Engine上创建一个API,它可以被具有身份验证的.NET客户端调用
.NET客户端使用
UserCredential credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
new ClientSecrets
{
ClientId = "<client id>"
我使用SSH时出现超时错误。我想把它修好。你能帮帮我吗
Welcome to Cloud Shell! Type "help" to get started.
...
$ gcloud --project "xxx" app instances ssh "xxx" --service "xxx" --version "xxx"
ssh: connect to host xx.xx.xx.xx port 22: Connection timed out
ERROR: (gcloud.app.ins
我觉得奇怪的是,通常在远离Web服务器的地方托管DB,这对我来说没有什么意义
另外,将数据从DBaaS服务到paasweb服务,然后再从web服务服务服务到最终用户的成本意味着您要支付的费用是原来的两倍多
理想情况下,我希望PaaS能够很好地扩展,并且至少能够在同一地区托管我的数据库和web,同时最小化成本
我看到了很多关于如何通过AWS方式,通过VPC对等实现这一点的文章。虽然GCP也有VPC,但我还没有弄清楚如何让Google App Engine与GCP托管的MongoDB Atlas集群
我有一个appengineflex应用程序,它接受一些后台计算的请求,并将它们放入任务队列中进行处理。请求从另一个进程以相当恒定的速率发送。重新部署后,请求的处理速度相当快(毫秒),但随后延迟会迅速增加到秒,然后几分钟,然后完全阻塞。我注意到在云任务中,当队列中没有任务时,有任务正在运行。它们似乎正在耗尽实例资源,并停留数小时,远远超过任何超时时间。一旦我的实例被这些任务阻塞,我的另一个进程似乎无法在没有超时的情况下发出请求,即使超时很高。使用自动缩放,我认为应用程序引擎应该加速更多的任务来处理
我们有微服务,可以通过多个渠道(推送通知、电子邮件、短信)按时间线发送通知
因此,我们将每个计划通知持久化到数据库中,并每3小时运行一个CRON来查询计划在未来3小时内交付的通知。其中,我们将结果推送到推送队列(云任务)中,以便按时运行
这种解决方案工作得很好,但当任务数量增加时,例如:5k任务同时增加,则会延迟推送队列调度
尽管我试图调整推送队列的调度速率和并发性。HTTP处理程序不能立即扩展以处理此类级别的流量(GAE逐渐扩展)。因此,它会延迟发送通知
我们这样做的原因是为了支持
在计划任
如何为默认的Google App Engine(GAE)服务帐户指定其他角色:
具体来说,我想将“云SQL客户端”角色赋予默认的应用程序引擎服务帐户。当我尝试修改角色时,会收到以下消息:
正如@John Hanley在评论部分回答的那样,要向服务帐户添加角色,请转到IAM&Admin->IAM,在表中找到您的服务帐户,并对其进行编辑以授予必要的角色
此外,请查看文档部分:
授予对服务帐户的访问权限以访问资源类似
授予访问任何其他身份的权限。例如,如果您有
应用程序在计算引擎上运行,您希望应用程序
我注意到,根据此处的文档,此软件包已弃用:
通过简单的打印,登录Go 1.12+而不丢失日志级别的正确方法是什么?(调试/信息/警告/错误/关键等)您至少有两种解决方案:
使用
使用一个通用的日志框架(比如)和一个特殊的Stackdriver适配器,在Stackdriver日志中使用正确的格式和级别的日志
使用cloud.google.com/go/logging
我认为这是默认的解决方案:
导入“cloud.google.com/go/logging”
ctx:=context.Backgro
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 381 页