问题标签 [google-appengine-node]

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 投票
2 回答
2153 浏览

google-app-engine - 如何将私有、自托管的 NPM 包与 Google App Engine 节点、标准环境一起使用

我有一个托管在私有 Bitbucket git repo 上的 NPM 包(不在官方 NPM 注册表中)。

我的 package.json 中有这个,在“依赖项”键下:

当我npm install使用我的 SSH 密钥在本地运行时,它可以工作。

但是当我gcloud app deploy用来部署到节点的应用引擎标准环境时,我Host key verification failed从 Google Cloud Build 中得到了一个。

我努力了:

向 Cloud Build 添加自定义 SSH 密钥。

https://cloud.google.com/cloud-build/docs/access-private-github-repos

问题:无法访问cloudbuild.yamlGAE 标准;无法告诉 git 使用 SSH 密钥。

将我的私人 git 存储库添加到 Google Sources。

问题:无法访问cloudbuild.yamlGAE 标准;无法告诉 git 使用 SSH 密钥。

npm pack; npm install

问题:不保留回购历史/ URL。

真的有可能吗?

0 投票
1 回答
52 浏览

google-app-engine - Angular 7 应用程序在 GAE Flex 环境中工作,但不在标准环境中

在我部署了我的 Angular 7 应用程序并尝试在浏览器上打开它后,我收到错误 500。检查日志我发现:

问题是,如果你用谷歌搜索FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory,修复应该将 package.json 起始行更改为 this "start": "node --max_old_space_size=4096 dist/server",。这样,日志中的错误就消失了,但页面仍然给出错误 500,现在日志仅显示以下内容:

也许我需要在 app.yaml 文件中写入更多内容或更改它,现在它看起来像这样:

我的 Angular 应用程序也是服务器端渲染的,不使用 firebase。

0 投票
2 回答
1242 浏览

node.js - 如何使用私有 IP 在两个项目之间共享一个 Google Cloud SQL 实例?

我在 GCP 中有两个项目,都使用 Node.js 运行 App Engine Flexible 环境。其中一个项目附加了一个使用私有 IP 运行的 Cloud SQL 实例。我希望另一个项目中的 App Engine 也能够使用这个 Cloud SQL 实例 (PostgreSQL),但它没有建立连接。

  • 所有实例都在同一区域中运行
  • 我已经查看了两个 VPC
  • 两个项目中都激活了服务网络 API
  • 需要连接的项目的服务账号对创建SQL实例的项目拥有“Cloud SQL Client”权限

据我了解,Cloud SQL 实例位于其自己的 VPC 中,该 VPC 通过自动创建的对等连接和路由到创建它的项目进行对等。但是似乎没有办法为另一个 VPC 创建这些路由和对等点以连接它,对吧?

或者是否有另一种可能将两个项目连接到同一个 Cloud SQL?

0 投票
1 回答
824 浏览

node.js - GCP App Engine:静态资产(css /图像)的随机待处理请求

我有一个 next.js 应用程序在节点标准环境中的 gcp 应用程序引擎上运行了几个月。最后一次部署是在大约 2 周前完成的,直到本周网站加载都很好。

以下是检测到的异常情况:

  1. css 文件随机卡在“待处理”请求中
  2. png 文件随机卡在“待处理”请求中

在此处输入图像描述

可以在不同选项卡中的同一 Chrome 实例下观察到上述随机性。

你可以在这里查看: https ://clanhallroyale.com/

令人惊讶的是,这种行为在构建时不会发生 https://seventh-sensor-226609.appspot.com/

这是应用程序的 app.yaml。

似乎没有明确的线索表明可能是什么问题。我该如何解决这个问题?

0 投票
1 回答
423 浏览

google-app-engine - 在 App Engine gcp-build npm 脚本中访问 Cloud Build 变量

是否可以访问Google Cloud Build 变量,例如作为Google App Engine 标准 Node.js 自定义构建步骤中脚本的PROJECT_ID一部分?gcp-build

在我的测试中,gcp-build 脚本能够获取应用程序默认凭据,据我回忆,auth 库有多种不同的方法可以回退以获取凭据(例如环境变量、知名文件、元数据服务等)。

我通过检查了环境变量process.env,没有看到任何与问题相关的变量。我跳过了众所周知的文件方法并尝试了元数据服务,并且能够从元数据服务中获取项目 ID,但我很好奇推荐的方法是什么,或者是否有更好的方法来访问项目 ID 等变量.

0 投票
1 回答
296 浏览

google-app-engine - Google App Engine 上的传出 HTTP 请求位置

我有一个使用 NodeJS(NodeJS v10 + Express v4.16 + Node-Fetch v2.3)制作的 API,并且在这个 API 中,我有一个端点需要通过 HTTP 请求(POST )

问题是:这个第三方 API只接受来自巴西的请求

过去,我的 API 托管在 Digital Ocean 上,但根据此规则,我已迁移到 GCP(因为 DO 在巴西没有主机)并在southamerica-east1(圣保罗/巴西)下创建了我的 App Engine 应用程序文件)

是的......它适用于我的机器¯|_(ツ)_/¯

发生了什么:有时请求运行正常,工作正常,但在一些版本更新后(我使用 CI/CD 进行部署)请求下降。

问题:是否存在一种方法来控制我的应用程序仅使用托管区域来发出传出请求?

PS* 我没有使用 flex env,目的是为了防止自动缩放(和成本提升)。(我不知道我是否正确,因为我是 GCP 的新手)

0 投票
1 回答
749 浏览

google-app-engine - 使用 Google App Engine Node.js 应用配置基本 HTTP 身份验证

我正在运行 GAE 标准环境。节点/快速应用程序。

如何配置基本 HTTP 身份验证?

是否可以配置它app.yaml

我已经阅读了文档,并进行了大量搜索,到目前为止,我似乎必须使用我的 Express 服务器来处理它。这看起来很奇怪,因为它要求我有一台服务器。

如果我想提供静态 HTML 页面怎么办?然后快速解决方案分崩离析。

nginx我可以这样做:

app.yaml在 GAE 中是否有等价物?

感谢您的帮助 =)

0 投票
2 回答
143 浏览

google-app-engine - Google App Engine Node 应用程序:防止缩减为 0 个实例

我在 Google App Engine(标准环境)上部署了一个 Node.js 应用程序。

我注意到在 10 分钟不活动后,应用程序被取消部署,实例数变为 0。

所以我提出的第一个请求需要 4-5 秒才能回复。

这是我的 app.yaml

我还添加了 min_idle_instances,但问题似乎没有解决:

在此处输入图像描述

0 投票
1 回答
478 浏览

google-app-engine - 我无法从应用引擎中托管的 nodejs 应用连接到 gcloud sql

我在谷歌云上有一个托管节点应用程序和 mysql。我尝试了所有可能的方法来从节点连接 mysql,但每次它都会抛出这个错误。

错误:

0 投票
1 回答
48 浏览

google-app-engine - 托管 google 应用引擎中的一个应用程序,用于在特定时间工作

我想在谷歌引擎中托管一个应用程序,我的应用程序的目的是每天一次从不同的服务器获取数据。所以我不希望我的应用程序在一天中全职工作(因为它更昂贵)。我只想在一天内运行一个小时的应用程序并仅在此基础上付费。有可能这样做吗?