Google Cloud Pub / Sub:无法从GAE端点URL获取请求PUSH

时间:2017-01-05 09:53:32

标签: node.js google-app-engine google-cloud-pubsub

我已将myapp部署到Google App Engine,并设置了

runtime: nodejs
env: flex

我的应用域名

  

https://myapp.appspot.com

但它会自动重定向到

  

https://myapp.appspot-preview.com

我还创建了Google Pub / Sub主题并添加了订阅,将Push endpoint url设置为

  

https://myapp.appspot-preview.com/_ah/push-handlers/sample

使用postman测试了这个endpoint_url并且它确实运行良好,但是当我向Pub / Sub发布消息但没有任何效果时。

MyApp(Node.js)端点处理程序:

var cors = require('cors');
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var http = require('http').Server(app);
var io = require('socket.io')(http);

app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.use(cors());

app.post('/_ah/push-handlers/sample', function (req, res){
        console.log('PUBSUB_____',req.body); //this should be printed out
        res.status(200).send();
});

//Listener
io.on('connection', function (socket){
        // do something 
});

var server = http.listen(8080, function(){
      console.log('App listening on port %s', server.address().port);
});

这是GAE的日志,似乎pub / sub确实向我的端点发送请求但没有转到我的处理程序 GAE request log

GAE console log

我感谢任何帮助:)

1 个答案:

答案 0 :(得分:1)

我发现了类似的问题"无法在后面的灵活环境中接收推送消息"

  

它对我们不起作用。我创建了对https:// {project-id}的推送订阅.appspot-preview.com / push / db / istock ant在此主题上发布了一条消息。之后我可以在GAE App日志中看到很多nginx / push / db / istock POST请求,所有这些都是307代码。没有改变。没有请求传递给GAE应用

https://code.google.com/p/cloud-pubsub/issues/detail?id=49

开发团队的最新答案是

  

我们有一个修复程序,将在接下来的几周内推出。作为ETA,这可能会有所变化,可以延长,但应在1月21日之前推出