Articles of 谷歌云平台

更改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时收到这个错误; 按照请求的图像;

HTTP引擎上的HTTPSredirect

我已经遵循了这个答案: 谷歌云redirect从http到https,但它似乎不再是目前的准确。 被引用的定位点( https://cloud.google.com/appengine/docs/flexible/nodejs/configuring-your-app-with-app-yaml#security )似乎已被删除,但没有备注。 作为参考,我通过Google App(flex)引擎提供NodeJS服务。 根据我在app.yaml得到的答案: handlers: – url: /.* script: IGNORED secure: always 由于HTTPS在击中我的Express引擎之前明显终止(并且在那里redirect将是无用的)。 目前如何正确实施? 可能有帮助的是,我通过控制台中的“自定义域”选项卡附加了一个外部域,并确实configuration了SSL证书(因此,如果用户手动访问https://.com,则一切正常)

为什么我的解决scheme如此之慢以及如何提高查询的性能?

目前我能够优化性能相当多,但它仍然有点慢:/ 最新编辑: 我目前的解决scheme(最快的ATM(但仍然缓慢),并保持秩序): 服务器 router.post('/images', function(req, res, next) { var image = bucket.file(req.body.image); image.download(function(err, contents) { if (err) { console.log(err); } else { var resultImage = base64_encode(contents); var index = req.body.index; var returnObject = { image: resultImage, index: index } res.send(returnObject); } }); }); 客户端查询 $scope.getDataset = function() { fb.orderByChild('id').startAt(_start).limitToFirst(_n).once("value", function(dataSnapshot) { dataSnapshot.forEach(function(childDataSnapshot) { _start […]

如何将socket.io部署到Google App Engine?

我使用socket.io创build了我的第一个node.js应用程序。 具体来说,我实现了由socket.io发布的聊天示例 。 它在当地是完美的。 然后我尝试将其部署到Google App Engine(使一些代码调整为节点工作)。 一切都显示出来,表明节点部分工作正常。 然而,聊天不起作用,表明socket.io部分不起作用。 您可以在这里看到已部署的应用程序(和页面源代码)。 我需要额外做些什么吗? 在YAML或JSON文件中的东西? yaml含量: runtime: nodejs vm: true skip_files: – ^(.*/)?.*/node_modules/.*$ json内容: { "name": "Chaty", "description": "chatrooms app", "version": "0.0.1", "private": true, "license": "Apache Version 2.0", "author": "McChatface", "engines": { "node": "~4.2" }, "scripts": { "start": "node app.js", "monitor": "nodemon app.js", "deploy": "gcloud preview app deploy" […]

计算引擎:“无法访问此网站”

情况: 我正在学习这个教程。 当我到达创build实例的部分并执行必要的命令时,我会看到以下内容: To see the application running, go to http://[YOUR_INSTANCE_IP]:8080, where [YOUR_INSTANCE_IP] is the external IP address of your instance. 问题: 该页面不加载。 我收到以下错误信息: This site can't be reached 题: 可能出了什么问题? 以前的所有步骤都可以完美运行,我可以在本地访问我的网站。 我等待Compute Engine实例准备就绪,方法是: gcloud compute instances get-serial-port-output my-app-instance –zone us-central1-f 虽然我重复了所有的步骤两次,我仍然遇到了错误信息。 一些东西必须丢失。 编辑: 我的防火墙规则:

Google App Engine运行状况检查垃圾邮件应用程序

我已经使用以下app.yamlconfiguration部署了在Google App Engine Flex运行时上运行的nodejs应用程序: runtime: nodejs env: flex health_check: enable_health_check: True check_interval_sec: 20 timeout_sec: 4 unhealthy_threshold: 2 healthy_threshold: 2 根据健康检查文档 ,健康检查应该每20秒钟/_ah/health一次/_ah/health终结点。 但是我注意到,即使应用程序响应200状态码,我的应用程序每秒都会多次使用这些运行状况检查进行垃圾邮件: 任何想法为什么发生这种情况?