Как узнать, как полезная нагрузка отправляется в конечную точку приложения Flask, размещенную на Google App Engine? - PullRequest
0 голосов
/ 26 марта 2020

У меня есть Flask API с конечной точкой /do_a_thing. При локальном размещении я могу отправить полезную нагрузку JSON с помощью пользовательского интерфейса или почтальона, и конечная точка получает и работает как положено. При развертывании в App Engine и отправке в PubSub, а затем в конечную точку /do_a_thing, он обрабатывает key_error при анализе полезной нагрузки.

Как проверить структуру полезных данных / тип данных в Google App Engine. Кажется, что нет консоли или журнала, который записывает / показывает полезную нагрузку. Мне интересно, трансформируется ли это на пути.

Я использую flask, поэтому анализ выполняется следующим образом:

payload_as_dictionary = request.json
value_i_want = payload_as_dictionary['key']

1 Ответ

1 голос
/ 26 марта 2020

Ваша конечная точка сейчас создает ошибку и, следовательно, вероятно, не отправляет ответ. Без доступа к консоли, чтобы увидеть, что происходит, вам нужно будет сделать что-то вроде этого:

from flask import jsonify

try:
    payload_as_dictionary = request.json
    value_i_want = payload_as_dictionary['key']
except Exception as e:
    return jsonify({
        'error': str(e),
        'payload': payload_as_dictionary 
    })

Обернуть все в попытке, кроме блока, чтобы каждая ошибка была обнаружена. Хотя обычно это не было бы идеально, это может быть хорошим временным решением, чтобы увидеть, что происходит.

Теперь, когда вы отправляете запрос по почте, вы получите полезную нагрузку, возвращенную вам со строковым представлением ошибка, которая была выдана (если есть) во время запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...