我已将myapp部署到Google App Engine,并设置了
runtime: nodejs
env: flex
我的应用域名
但它会自动重定向到
我还创建了Google Pub / Sub主题并添加了订阅,将Push endpoint url设置为
使用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确实向我的端点发送请求但没有转到我的处理程序
我感谢任何帮助:)
答案 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日之前推出。