问题标签 [google-app-engine-go]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
60 浏览

http2 - 我可以使用 HTTP/2 Server Push 发送资源吗?

我的 webapp 是用 Go 编写的,部署在 Google App Engine Standard 上,有处理程序来为每个页面生成 HTML(服务器端渲染)。如果我可以在某些情况下(谨慎地)使用HTTP/2 Server Push抢先发送 CSS 和 JS 资源以及 HTML 响应,那么性能会很好。

App Engine 的 Go 运行时是否可行?

(另一种说法:App Engine 中的 ResponseWriter 是否实现了http.Pusher接口?)

0 投票
1 回答
1529 浏览

google-app-engine - 如何让 golang gin 与谷歌应用引擎一起工作?

我的 GOPATH 是$HOME/go,我把我的项目的源代码放在$HOME/go/src/myproj

并且有两个文件:

应用程序.yaml:

你好.go

然后我跑dev_appserver.py .

有用,

然后我决定这样拆分hello.go:

新的hello.go

和一个api文件夹和api/api.go文件

然后我dev_appserver.py .再次运行但收到此错误:

错误 2018-09-28 05:17:47,653 instance_factory.py:229] 无法构建 Go 应用程序:(执行的命令:/Users/gaco/.google-cloud-sdk/platform/google_appengine/goroot-1.9/bin/go -app-builder -app_base /Users/gaco/go/src/myproj -api_version go1 -arch 6 -dynamic -goroot /Users/gaco/.google-cloud-sdk/platform/google_appengine/goroot-1.9 -nobuild_files ^^$ -incremental_rebuild -unsafe -print_extras_hash hello.go api/api.go)

2018/09/28 14:17:47 go-app-builder:解析输入失败:应用文件 api.go 与从 GOPATH 导入的相同文件冲突

警告 2018-09-28 05:17:47,654 instance.py:297] 无法获取实例的 PID 错误 2018-09-28 05:17:47,654 instance.py:300] '_GoBuildFailureRuntimeProxy' 对象没有属性 '_process'

问题是什么?我该如何解决?

0 投票
1 回答
322 浏览

go - 我可以在 app-engine 上部署 Golang 应用程序并在不修改代码的情况下读/写文件吗?

我在 Go 中创建了一个网络应用程序,我希望能够以最流畅的方式在服务器或应用程序引擎上运行它。

基本上我创建了一个 .exe(我正在 Windows 上开发)和一组带有静态文件的文件夹。另外还有一个文件夹,里面有 N 个配置文件。

这些配置文件包括设置数据库所需的所有配置、写入日志的文件夹/路径等。

在“时间 0”,当我双击本地计算机上的 .exe 时,安装过程开始。它查看配置文件(如果它们不存在,它们甚至会被创建)并根据我在控制台上给出的答案更新它们。此外,该应用程序在文件系统上生成日志文件。

我的问题:我可以“按原样”在应用引擎上“上传”我的 go 代码,并且只在 yaml 文件中包含一些特定于 appengine 的配置,还是我被迫修改我的 Go 代码,以便:1) main()必须在 app-engine 上的其他位置查找配置文件,并且 2)从 app-engine 上的特定路径读取/写入日志

换句话说,我想知道我是否可以实现我的网络应用程序的一种“一次编写并在任何地方运行/部署”版本。

这是我对社区的第一个问题,所以我希望我遵循所有指示。谢谢。

0 投票
0 回答
37 浏览

google-app-engine - App Engine go111 Beta 路由/处理程序通配符忽略顺序?

我刚刚尝试了 GO 1.11 App Engine Beta,路由器/处理程序似乎有所不同。我使用 RESTful-VueJS 方法并使用以下处理程序配置:

在第一代应用程序引擎中,处理程序的顺序很重要,第一个匹配模式的获胜。但这似乎不再像这样工作了。因此,即使我调用“/v1/xyz”,我总是会收到“index.html”

我想这与现在在应用程序引擎中所有流量都使用入口点命令提供服务的事实有关。据我了解,它会尝试匹配HandleFuncs()在 main() 或 init() 中设置的内容?如果您使用像我这样的任何 Web 框架,如果您没有指定路由,main()或者init()因为您想使用,该mux怎么办?

0 投票
2 回答
2200 浏览

google-app-engine - 在 App Engine Standard Build 上部署 go1.11 失败:您的应用不在您的 GOPATH 上

我试图将我的 Go 应用程序部署到 App Engine。我有以下构建错误:

我的 app.yaml 文件如下所示:

我在根目录下的 main.go 文件如下所示:

如果没有这些构建错误,我将无法成功构建。我试图完全按照 Go on App Engine 的文档进行操作,如果我的应用程序结构与建议的不同,我会感到困惑。关于如何解决此 GOPATH 错误的任何想法?

0 投票
3 回答
192 浏览

google-app-engine - 如何有效删除 Google App 引擎 Search API 索引

我在这里发现了一些类似的问题,但没有可靠的答案。

我看到一些谷歌用户建议

您可以通过首先使用 index.delete() 从索引中删除所有文档,然后使用 index.delete_schema() 从索引1中删除类型映射来有效地删除索引。

不幸的是,golang sdk 没有“index.delete_schema()”api。我只能通过从索引中获取 itemId 列表来一一删除文档。我们在仪表板中得到了一个令人惊讶的计费状态:

有人能告诉我如何有效地删除谷歌应用引擎搜索 API 索引而不花费这么多钱吗?

0 投票
2 回答
5030 浏览

google-app-engine - `go build -mod vendor` 无法使用 vendored 包

将我的 Go 服务部署到 Google AppEngine(标准)时,我收到一个错误,描述未找到模块版本,而一切编译正常。

这些模块位于私有 Github 实例上,并签出到vendor/.

Ago build -mod vendor -o /dev/null ./...适用于 cloud-build-local、本地和 Google Cloud Build。github.com/company/gosystem 上有一个名为“v1.1.0”的标签:

Agrep -RI 'gosystem@' *什么也没报告。

0 投票
1 回答
789 浏览

google-app-engine - 为什么 gcloud components update 命令总是显示重启命令

当我想将我的 Go 应用程序部署到 App Engine 时,我发现我必须安装 app-engine-go。它甚至说安装在一个新窗口上,没有弹出窗口。

https://github.com/ChihchengHsieh/ProblemsScreenShot/blob/master/image-2.png

当我运行命令gcloud components install app-engine-goandgcloud components update时,它显示:

https://github.com/ChihchengHsieh/ProblemsScreenShot/blob/master/image.png

我已经尝试重新安装谷歌云 SDK,但它是一样的。

我希望它可以显示一些安装过程。

0 投票
1 回答
251 浏览

google-app-engine - 如何使用结构数组实现 google datastore propertyloadsaver

当你有一个结构数组时,如何为谷歌数据存储实现 Load() 和 Save()?这显然是可能的,但如何?

首先,当您允许数据​​存储本身使用对象Person列表序列化 a 时Phone,您可以使用反射来查看它在内部创建的*datastore.Entity对象列表:

到目前为止,这是我的工作,这会保存名称字段,但会导致*datastore.Entity对象出错。这是我的尝试:

数据存储本身抱怨以下错误:

我想知道是否有人可以阐明我哪里出错了?如何以与数据存储本身相同的方式将结构数组保存在数据存储中?

上面的示例代码在 go playground: https: //play.golang.org/p/AP1oFnlo1jm

0 投票
1 回答
58 浏览

google-app-engine - 如何为 appengine Go 使用与 app.yaml 不同的文件夹中的主包?

我正在尝试将 Go 应用程序上传到 appegnine Go 1.12 运行时。我的主要 pkg 在一个cmd文件夹下,如图所示https://cloud.google.com/appengine/docs/standard/go112/config/appref#runtime_and_app_elements

但是,如果我尝试官方文档中概述的任何方法,我会收到以下错误:

问题似乎是我不允许在 app.yaml-的条目中使用。main这是为什么?这可以解决吗?

我在用