Google app engine 无法在appengine灵活环境中接收PubSub推送消息

Google app engine 无法在appengine灵活环境中接收PubSub推送消息,google-app-engine,nginx,publish-subscribe,google-cloud-pubsub,app-engine-flexible,Google App Engine,Nginx,Publish Subscribe,Google Cloud Pubsub,App Engine Flexible,我在appengine灵活环境(Java/Spring引导)中创建了一个POST端点。它与PubSub订阅位于同一个Google项目中。 我检查过了,这个POST端点可以从外部世界访问。我可以使用本地PC上的邮递员将数据发送到此端点。 但是我的控制器没有从推送订阅获取请求 我尝试了简单的端点URL,比如/push,也尝试了推荐的URL,比如/_ah/push handlers/push,但是结果是一样的 我可以在Stackdriver日志中看到很多消息: { metadata: {

我在appengine灵活环境(Java/Spring引导)中创建了一个POST端点。它与PubSub订阅位于同一个Google项目中。 我检查过了,这个POST端点可以从外部世界访问。我可以使用本地PC上的邮递员将数据发送到此端点。 但是我的控制器没有从推送订阅获取请求

我尝试了简单的端点URL,比如/push,也尝试了推荐的URL,比如/_ah/push handlers/push,但是结果是一样的

我可以在Stackdriver日志中看到很多消息:

{
 metadata: {
      projectId: "myproject"   
      serviceName: "appengine.googleapis.com"   
      zone: "us-central1-b"   
      labels: {…}   
      timestamp: "2016-12-06T19:17:51.922Z"   
 }
     insertId: "1u1o1hqf77guah"  
     log: "appengine.googleapis.com/nginx.request"  
     structPayload: {
          method: "POST"   
          latencySeconds: "0.000"   
          referer: "-"   
          host: "-"   
          user: "-"   
          code: "307"   
          remote: "130.211.3.227"   
          agent: "-"   
          path: "/push"   
          size: "180"
     } 
}
但我的推送控制器从未被调用

当我从Postman发布到这个URL时,我得到类似的307重定向(代理中唯一的区别),然后在我的控制器响应后,我可以看到200响应:

{
     metadata: {
          projectId: "myproject"   
          serviceName: "appengine.googleapis.com"   
          zone: "us-central1-b"   
          labels: {…}   
          timestamp: "2016-12-06T19:10:14.226Z"   
     }
         insertId: "1acos4zf74fb5r"  
         log: "appengine.googleapis.com/nginx.request"  
         structPayload: {
          method: "POST"   
          latencySeconds: "0.035"   
          referer: "-"   
          host: "-"   
          user: "-"   
          code: "200"   
          remote: "130.211.0.196"   
          agent: "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"   
          path: "/push"   
          size: "727"   
     }
 }
这是我的应用程序

# [START appyaml]
runtime: java
env: flex

runtime_config:
   jdk: openjdk8

manual_scaling:
  instances: 1

handlers:
- url: /.*
  script: this field is required, but ignored
  secure: optional

# [END appyaml]

有什么问题吗?

我也遇到过同样的问题。 我在GAE flex上有一个scala-akka http应用程序。 我认为这是flex的一个bug,因为我在GAE标准(golang)上编辑推送端点时获得了成功。

有一个bug,但是

到今天为止,这个问题已经解决了。谢谢你的耐心

资料来源: