2016-07-29 19 views
6

Versuchen Sie herauszufinden, die beste Methode PubSub Push-Endpunkte lokal testen. Wir haben es mit ngrok.io versucht, aber Sie müssen die Domäne besitzen, um eine Whitelist zu erhalten (das Werkzeug dafür ist ebenfalls kaputt ... was zu einer unendlichen Umleitungsschleife führt). Wir haben auch versucht, PubSub lokal zu emulieren. Ich kann veröffentlichen und ziehen, aber die Push-Abonnements funktionieren nicht. Wir sind mit einem lokalen Flask Webserver wie folgt:Testen von Google Cloud PubSub Push-Endpunkte lokal

@app.route('/_ah/push-handlers/events', methods=['POST']) 
def handle_message(): 
    print request.json 
    return jsonify({'ok': 1}), 200 

Nachfolgend erzeugt kein Ergebnis:

client = pubsub.Client() 
topic = client('events') 
topic.create() 
subscription = topic.subscription('test_push', push_endpoint='http://localhost:5000/_ah/push-handlers/events') 
subscription.create() 
topic.publish('{"test": 123}') 

Es befindet sich auf uns nicht schreien, wenn wir ein Abonnement für einen HTTP-Endpunkt zu erstellen versuchen, (während Live-PubSub wird, wenn Sie nicht HTTPS verwenden). Vielleicht ist das von Entwurf? Pull funktioniert prima ... Gibt es Ideen, PubSub Push-Endpunkte am besten lokal zu entwickeln?

+0

Wir stehen vor einem ähnlichen Problem mit dem Ruby-Client ... Haben Sie das gelöst? Ich kann hinzufügen, ohne Problem, nur nichts gesendet. – simonmorley

+1

Eigentlich für jeden anderen, der Probleme mit diesem und dem Ruby-Client hat. Aktualisieren Sie gcloud und führen Sie ein Bundle-Update durch. Die Dinge sind besser. – simonmorley

+0

Wissen Sie, wie kann ich Pubsub-Client mit PSQ verwenden? Ich erhalte Anmeldedatenfehler –

Antwort

0

Dies könnte ein bekannter Bug (Update) im Emulator sein, bei dem Push-Endpoints, die mit dem Abonnement erstellt wurden, nicht funktionieren. Der Fehler betrifft nur die anfängliche Push-Konfiguration. Das Ändern der Push-Konfiguration für ein bestehendes Abonnement sollte funktionieren. Kannst du das versuchen?