Tag: 谷歌云平台

在Google App Engine上禁用Node JS的默认域https:// .appspot.com

我已经将我的Node JS应用程序部署到Google Cloud App Engine上,并且可以成功地为我的应用程序添加自定义域。 假设我的自定义域是example.com 。 现在我可以通过example.com和www.example.com浏览我的应用程序,它按预期工作。 但是我发现我仍然可以通过默认域浏览我的应用程序。 https://开头[项目-ID] .appspot.com访问 我想要禁用默认域,是否有可能做到这一点?

从云端function获取随机维基页面

我试图通过Google Cloud Functions在他们的API上获得一个随机的Wikipedia页面。 维基百科API工作正常。 这是我的要求: https://de.wikipedia.org/w/api.php?action=query&format=json&generator=random 对于testing,您可以将格式更改为jsonfm,以查看浏览器中的结果。 点击这里 👍。 但是,即使在请求完全成功之前,我的函数似乎也被破坏了。 如果我想parsing数据(或者即使我想logging这些数据),我得到了一个 SyntaxError: Unexpected end of json 日志看起来像(例如)(不,我没有自己削减): DATA:ue ||“}”query“:{”pages“:{”2855038“:{”pageid“:2855038,”ns“:0,”title“:”Thomas Fischer 当然,这不是一个有效的JSON,不能被parsing。 不pipe这是我的function: exports.randomWikiPage = function getRandomWikiPage (req, res) { const httpsOptions = { host: "de.wikipedia.org", path: "/w/api.php?action=query&format=json&generator=random" }; const https = require('https'); https.request(httpsOptions, function(httpsRes) { console.log('STATUS: ' + httpsRes.statusCode) console.log('HEADERS: ' + JSON.stringify(httpsRes.headers)) httpsRes.setEncoding('utf8') httpsRes.on('data', […]

为什么谷歌appengine部署需要几分钟来更新服务

我正在使用这里logging的nodejs灵活的环境 没有什么奇特的configuration runtime: nodejs vm: true service: SimpleExpressService health_check: enable_health_check: False automatic_scaling: min_num_instances: 1 max_num_instances: 4 cool_down_period_sec: 120 cpu_utilization: target_utilization: 0.5 这是我的部署命令 gcloud app deploy -q –promote –version $VER 每当我部署一个新版本,几乎所有的东西都非常快。 但是,更新服务[SimpleExpressServer]步骤需要几分钟。 有没有优化这一步?

如何使用Node.js将base64编码图像(string)直接上传到Google Cloud Storage存储桶?

目前,我正在使用@ google-cloud / storage NPM软件包将文件直接上传到Google云端存储分区。 这需要一些诡计,因为我只有图像的base64编码的string。 我不得不: 解码string 将其另存为一个文件 将文件path发送到以下脚本以上传到Google云端存储 删除本地文件 我想避免将文件存储在文件系统中,因为我使用的是Google App Engine,如果删除操作无论如何都不起作用,我不想在那里重载文件系统/将垃圾文件放在那里。 这就是我的上传脚本现在看起来像: // Convert the base64 string back to an image to upload into the Google Cloud Storage bucket var base64Img = require('base64-img'); var filePath = base64Img.imgSync(req.body.base64Image, 'user-uploads', 'image-name'); // Instantiate the GCP Storage instance var gcs = require('@google-cloud/storage')(), bucket = gcs.bucket('google-cloud-storage-bucket-name'); […]

部署到App Engine会产生错误与吞咽?

我写在terminal上像往常一样部署: gcloud app deploy 我得到的错误: Application startup error: > meanjs@0.5.0 start /app > gulp sh: 1: gulp: not found npm ERR! Linux 3.16.0-4-amd64 npm ERR! argv "/nodejs/bin/node" "/nodejs/bin/npm" "start" npm ERR! node v6.9.5 npm ERR! npm v3.10.10 npm ERR! file sh npm ERR! code ELIFECYCLE npm ERR! errno ENOENT npm ERR! syscall spawn npm ERR! […]

使用Google Compute Engine加载nodejs上的testing瓶颈

我无法弄清楚这个网站瓶颈的原因是什么,一旦有大约400个用户达到了非常糟糕的响应时间。 该网站位于Google计算引擎上,使用实例组进行networking负载平衡。 我们用sailjs创build了这个项目。 我一直在使用kubernetes,使用Google容器引擎进行负载testing,运行locust.py脚本。 其中一项testing的主要结果是: RPS : 30 Spawn rate: 5 p/s TOTALS USERS: 1000 AVG(res time): 27500!! (27,5 seconds) 响应时间最初是很好的,低于一秒,但是当它开始达到大约400个用户时,响应时间开始大量跳跃。 我已经testing了可能影响响应时间的明显因素,结果如下: 计算引擎实例(2 x standard-n2,200 GB磁盘,RAM:每个实例7.5 GB): Only about 20% cpu utilization used Outgoing network bytes: 340k bytes/sec Incoming network bytes: 190k bytes/sec Disk operations: 1 op/sec Memory: below 10% MySQL的: Max_used_connections : 41 (below […]

更改Google容器引擎群集的权限

我已经能够在开发人员控制台中成功创build一个Google容器集群,并已经部署了我的应用程序。 这一切都开始良好,但是我发现我无法连接到云SQL,我得到; "Error: Handshake inactivity timeout" 经过一番挖掘,我没有任何问题从App Engine或我的本地机器连接到数据库,所以我觉得这有点奇怪。 那时我注意到了集群权限… 当我select我的集群时,我看到以下; Permissions User info Disabled Compute Read Write Storage Read Only Task queue Disabled BigQuery Disabled Cloud SQL Disabled Cloud Datastore Disabled Cloud Logging Write Only Cloud Platform Disabled 我真的希望在我的容器引擎节点中使用云存储和云SQL。 我已经允许在我的项目设置中访问这些API中的每一个,并且我的Cloud SQL实例正在接受来自任何IP的连接(我之前在App Engine上的Managed VM中运行过Node),所以我的想法是Google显式禁用这些API的。 所以我的两个问题是: 有没有什么办法可以修改这些权限? 有没有什么理由让这些API被禁用? (我假设必须有) 任何帮助非常感谢!

Google云部署如此缓慢

我正在使用谷歌云nodejs托pipe。 当我把应用程序部署到谷歌云时,我非常恳求。 每次部署都很慢。 这可能是第一次慢,但之后,当我改变一些JS或HTML文件,并重新部署,它仍然缓慢。 需要5〜10分钟才能完成一个小项目? 我怎么能加快速度?

使用适用于Firebase的Cloud Functions和@ google-cloud / storage删除图片时出现问题

我正在尝试在Fire的Cloud Functions中创build一个脚本,该脚本将对db事件作出反应,并删除其中一个参数(“fullPath”)中具有其path的图像。 这是我使用的代码: 'use strict'; const functions = require('firebase-functions'); const request = require('request-promise'); const admin = require('firebase-admin'); const gcs = require('@google-cloud/storage')({ projectId: 'XXXXXXX', credentials: { // removed actual credentials from here }}); admin.initializeApp(functions.config().firebase); // Deletes the user data in the Realtime Datastore when the accounts are deleted. exports.removeImageOnNodeRemoval = functions.database .ref("images/{imageId}") .onWrite(function (event) { // […]

在GAE上运行Websocket

我正在尝试使用websocket在GAE上运行我的应用程序,但是阅读Docs,我没有find解决这个问题的方法。 使用这样一个非常简单的应用程序: https : //github.com/marcosbergamo/gae-nodejs-websocket 这是我试用示例演示。 但是当我尝试连接到我的websocket时收到这个错误; 按照请求的图像;