问题标签 [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 回答
147 浏览

http - 在 App Engine 的柔性环境中发出 HTTP 获取请求

我在应用引擎中使用灵活环境我想在我的代码中发送 HTTP Get 请求。

当我运行应用程序时,出现以下错误: https://www.google.com/ : not an App Engine context

上面的代码在标准环境中工作,但在灵活环境中不工作。

0 投票
0 回答
82 浏览

http - 在 App Engine 灵活环境中发送 HTTP 获取请求时出现 Nginx 错误

我在我的应用程序中发送 HTTP GET 请求

当我使用http.Get(URL)以下代码发送请求时,我得到 200 作为 HTTP 状态代码:

但是,如果我使用http.NewRequest()并且http.Client就像下面的代码一样,我会收到502 Bad Gateway nginx错误

我检查了 Stackdriver 日志,nginx.error发现以下错误

我是 App Engine 的新手,对 Nginx 的了解也有限。

0 投票
2 回答
747 浏览

google-app-engine - App Engine Go:如何杀死正在运行的 goroutine

我想在 App Engine 中并行运行 2 个 goroutine,这样当第一个 goroutine 完成其工作时,处理程序不需要等待第二个 goroutine - 它停止第二个 goroutine 并将结果返回给客户端。这可能吗?我用 context.WithCancel() 尝试过,但没有用(我使用 go1.6)。

这是我的代码:

有任何想法吗?谢谢!

0 投票
2 回答
532 浏览

google-app-engine - 在 App Engine 标准环境中将运行时从 Python 更改为 Go

我在 AppEngine 上有一个 99% 静态的网站。它在 Python 2.7 运行时上运行。现在是时候改进这个 web 应用了,因为我几乎没有 Python 代码,所以我更喜欢用 Go 来编写它。

我可以将运行时从 Python 2.7 更改为 Go,同时保持项目完整吗?具体来说,我想保留相同的应用 ID、附加的相同自定义域、相同的 SSL 证书等等。

我必须做什么才能做到这一点?我肯定要runtimeapp.yaml. 还有别的事吗?

额外的问题:这种变化会在没有停机的情况下发生吗?

我将不胜感激任何指向确切文档的链接(在实时应用程序上交换运行时)。我找不到任何东西。

0 投票
2 回答
548 浏览

google-app-engine - 应用引擎推送任务在测试中总是返回 404

我在 Go App Engine 应用程序中有一个推送任务队列。当我们出于任何原因尝试将任务排入测试队列时,任务总是返回 404。

我们的 app.yaml:

实际的任务调用:

一个仍然不完整的处理程序,但它存在!

最后,证明我们实际上添加了路由器的路径:

当我们实际运行测试时,我们总是得到以下日志输出:

请注意,/worker当我尝试通过 Paw 等 API 客户端 ping 端点时,端点返回 302,因此路由似乎已正确配置。404 仅在我尝试在测试中运行时出现。

为什么这会返回 404?我已经尝试在他们的文档中围绕示例推送队列运行测试,在那里遇到了同样的问题 - 是否有某种丢失的配置标志我无法传递给goapp

我在这里推送了一个带有最小可复制示例的 GitHub 存储库

0 投票
2 回答
126 浏览

google-app-engine - 如何将 Google App Engine 配置为不构建某些 Go 文件?

我正在尝试将一组 Google Talk 幻灯片部署到 Google App Engine。我的一些示例文件故意存在构建错误,但我无法将它们部署到 Google App Engine,因为它抱怨它们没有构建。

假设我应该能够nobuild_files: [some_regex]在我的 app.yaml 中进行设置,但它不起作用。由于文件夹的另一个问题,我确实不得不切换到goapp部署工具vendor,所以这可能是相关的,IDK。

我尝试将// +build !appengine问题添加到我的 Go 文件的顶部,但它似乎没有做任何事情。

0 投票
1 回答
387 浏览

google-app-engine - 应用引擎去部署失败

昨天下午还好好的,现在不行了。我goapp deploy MY_DIR/app.yaml用来部署,这是部署的消息

我也试过:
1/更新sdk到最新版本
2/更新go版本(我试过go1.6和go1.8)
3/使用appcfg.py
但我得到同样的错误
有人可以帮忙吗?

0 投票
2 回答
108 浏览

google-app-engine - 生产环境中 App Engine 标准环境和柔性环境项目之间的路由

我在 Go 中有两个 App Engine 项目,它们包含一个面向用户的应用程序。一个项目是标准环境项目,具有大部分功能,还为 React 前端静态包提供服务。第二个项目是一个灵活的环境项目,其特定目的是与第三方 API 通信并将大文件传输到第三方 API(这是一个灵活的环境项目 b/c,我们使用 urlfetch 遇到了大小限制)。

现在我正在部署应用程序,我遇到了来自前端的 api 请求的问题。在开发中,我们的前端节点服务器会将请求(例如 /api/project 和 /api/user)代理到在不同端口上运行的相应 App Engine 服务,但在生产中,我的标准环境项目位于https://my- project-std.appspot.com,而灵活的 env 项目位于https://my-project-flex.appspot.com之类的地方。

我使用带有 std env 项目的 dispatch.yaml 文件将 api 请求(例如 /api/project 和 /api/user)路由到适当的服务,但我不确定将请求路由到柔性环境的最佳方式服务(例如 /api/model)。我应该通过 std env 项目路由它们并重定向吗?设置反向代理?其他一些方法?

谢谢!

0 投票
1 回答
1350 浏览

google-app-engine - 如何更改 Google App Engine Flex 应用程序的环境变量并重新启动它,而无需重新部署

我有一个部署到 Google App Engine Flex 的 Golang 应用程序,它有很多环境变量。有时,我需要更改其中几个环境变量来测试我的应用程序。但是,我在 GAE Flex 控制台中找不到可以更改变量并重新启动应用程序的方法。每次我需要更改一个变量时,我都必须在 app.yaml 中执行此操作并重新部署应用程序,这很麻烦,而且会浪费很多时间。

有没有办法在 GAE Flex 控制台中更改应用程序的环境变量,而无需重新部署它?我在 Pivotal Cloud Foundry 中使用过类似的东西,非常简洁。毕竟,这就是为什么任何人都在应用程序中保留环境变量的原因,可以在需要时将其设置为不同的值。

非常感谢任何帮助或指示。

更新: GCP 文档或 SO 中没有关于所询问主题的具体信息。SO中的以下问题说不可能: Google App Engine Flexible - environment variables

0 投票
1 回答
201 浏览

google-app-engine - 谷歌云Appengine标准环境部署使用Admin API:“Cant find import”错误

我正在尝试在 Appengine 标准 - Go 环境中部署一个简单的“hello world”应用程序。有一个源文件 hello.go 和一个 import "google.golang.org/appengine"

我按照此处的文档使用 Admin API 进行部署。但是当我检查部署状态时出现“找不到导入:google.golang.org/appengine”错误。

所以我将 google.golang.org 库文件夹上传到 Cloud Storage,但文档似乎只显示了如何将单个文件与 GCS 存储桶分开包含,这对于大型导入库来说是不可行的。

我知道这一切都适用于“gcloud app deploy”,但我必须使用 Admin API 和标准环境。

  • 有没有办法告诉 Appengine“去获取”导入的库?
  • 有没有办法在部署配置文件中包含来自 GCS 存储桶的文件夹(不是单个文件)?