Не удается получить push-сообщение PubSub в гибкой среде appengine

Я создал конечную точку POST в гибкой среде appengine (Java / Spring Boot). Он находится в том же проекте Google, что и подписки PubSub. Я проверил, доступна ли конечная точка POST из внешнего мира. Я могу отправлять данные на эту конечную точку с помощью Postman со своего локального ПК. Но мой контроллер не получает запросы от push-подписки.

Я пробовал простые 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"
     } 
}

Но мой push-контроллер никогда не вызывается.

Когда я отправляю сообщение на этот URL-адрес из Postman, я получаю аналогичное перенаправление 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]

Что может быть не так?


person Kostyantyn Grinchenko    schedule 07.12.2016    source источник


Ответы (2)


Я тоже столкнулся с такой же проблемой. У меня было приложение scala akka-http на GAE flex. Я думаю, что это ошибка гибкости, потому что я добился успеха, когда отредактировал конечную точку push в стандарте GAE (golang).

person mtoyoshi    schedule 03.01.2017

Была ошибка, но ...

На сегодняшний день вопрос решен. Спасибо за терпеливость.

Источник: https://code.google.com/p/cloud-pubsub/issues/detail?id=49#makechanges

person steve1337    schedule 26.01.2017