С чего начать
Если у вас новый проект
Если у вас уже есть проект, то пропускайпе этот подраздел.
Установите cookiecutter (opens in a new tab)
cookiecutter https://github.com/devision-io/devision-apis-skeleton.git (opens in a new tab) Укажите имя вашего нового API, его версию и сжатое емкое описание на английском языке в одно два предложения. Скрипт сам заменит нужные данные в скелете проекта и вы сможете начать.
В итоге вы получите директорию с примерно таким содержимым: https://github.com/devision-io/API-Example-GRPC-Python (opens in a new tab)
Ознакомьтесь с Design Guide
Прежде чам начать вам необходимо ознакомится с принципами дизайна, которыми мы руководствуемся при проектированиии и разработке API.
Запуск
Разработка с gRPC + HTTP Transcoding сопровождается некоторыми необходимыми процессами.
Если вы меняете proto файл, то вы должны выполнить make esp в корне проекта. Когда вы это сделаете в проекте автоматически создадуться файлы загрушек gRPC сервера, а так же настроки передадутся в Google Cloud.
После этого запустите или перезапустите команду make dev - она запускает прокси nginx, который превращает http запрос в ваше api в бинарный протокол gRPC, который непосредственно принимается кодом вашей вебслужбы. Кроме этого esp nginx декодирует и валидирует access_token, который передается query прараметром в api. Это позволяет не проверять авторизацию непосредственно в коде API.
Итог
В сухом остатке работа с gRPC сводится к: - проектированию proto-файла с интерфейсами вашего api. - запуске make esp - запуске make dev - расставления аннотаций проверки скоупов в коде - реализации бизнес логики