1

我在 appengine 柔性环境(Java/Spring Boot)中创建了一个 POST 端点。它与 PubSub 订阅在同一个 Google 项目中。我检查了一下,这个 POST 端点可以从外部访问。我可以使用本地 PC 上的 Postman 将数据发布到此端点。但是我的控制器没有收到推送订阅的请求。

我尝试了像 /push 这样的简单端点 URL 以及像 /_ah/push-handlers/push 这样的推荐 URL,但结果是一样的。

我可以在 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"   
     }
 }

这是我的 app.yaml

# [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]

有什么问题?

4

2 回答 2

1

有一个错误,但是...

截至今日,该问题已得到解决。感谢您的耐心等待。

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

于 2017-01-26T06:19:08.580 回答
1

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

于 2017-01-03T14:21:48.703 回答