Рубрики
Uncategorized

Полное руководство по отладеванию веб-качников

Введение Если разработка программного обеспечения существовала без ошибок, разработчики будут … помечены DevOps, отладки, веб-капусты, Showdev.

Введение

Если разработка программного обеспечения существует без ошибок, разработчики будут самыми счастливыми людьми в мире. Не было бы ни стучать рук на клавиатуре в разочаровании, или просыпаться в середине ночи, только потому, что вы вдруг получите мозговой гуд, говорящий вам «Как исправить эту ошибку». К сожалению, эта роскошь не так, как разработка программного обеспечения является процессом итеративно удаления ошибок из письменного кода до тех пор, пока нет (почти) нет.

При разработке объекта программного обеспечения огромный процент времени расходуется тестирование и отладка кода для удаления ошибок, а также развитие с помощью веб-капусов не является исключением. В этой статье мы рассмотрим в отладку веб-капонов. Мы идем над тем, что приводит к ошибкам в процессе разработки с веб-кавками, как решать эти ошибки и инструменты, которые могут помочь процессу отладки.

Почему мои друзья не работают?

Итак, почему мои друзья не работают?

Это утверждение очень похоже на другой популярный вопрос, Почему мой код не работает?

Разработчики просят это много, потому что есть 90% шанс, который ваш код не будет работать в первый раз, и одинаково с веб-кавками. Это препятствие почти определенно произойдет и не по своей сути не имеет большого значения, однако очень важно знать, где посмотреть, когда ваши веб-капли не работают, как ожидалось.

Получая ваши окна

Первое, что вы хотите быть уверены в том, что вы получаете свои окна. Поскольку WebHooks являются регулярными HTTP-запросами, возникающими из исходного приложения к вашему API, они могут молча сработать, если нет возможности проследить запрос.

Одна вещь, которую вы хотите сделать, прежде чем работать с WebHooks, правильно прочитает документацию поставщика WebHook (не всю вещь, просто раздел на веб-кавказках) и посмотрите на пример код на своем веб-сайте, чтобы освоить, как потреблять веб -ookook.

Некоторые другие шаги, которые вы можете взять:

  • Сделать Проверка здоровья В вашем источнике WebHook: Иногда (редко), система вашего провайдера WebHook снижается и не отправляет окна. Хорошее количество провайдеров веб -ook имеет страницу состояния системы, которая указывает, когда система работает и работает или вниз.
  • Проверьте, указывает ли веб -ook на правильное направление: Иногда у вас может быть ошибка в предоставленном URL-адресе WebHook, и ваши веб-капли отправляются на неправильную конечную точку. Вы хотите проверить, что вы зарегистрировали правильный URL-адрес веб -ook.
  • Убедитесь, что ваш сервер назначения работает: Вы будете удивлены тем, сколько раз вы думаете, что у вас есть ваш API, когда это не так. Кроме того, если запрос WebHook сталкивается с ошибкой при ударе вашей конечной точки (код бросает исключение), ваша система может работать или не пройти отказаться от молча, что делает его, как будто WebHook не прибыл.

Требования к веб-капусту

Еще одна общая причина, по которой ваши веб-капли не могли работать, — это то, что вы не выполняете общие требования для их потребления. У меня когда-то был опыт, где я получал веб-капоны, но тело запроса было пустым. Оказалось, что мой сервер должен был разобрать поток запроса на сырье. Это одна из причин, по которой вы хотите, чтобы вы правильно проходили документацию разработчика. Как пойти о навигационной документации WebHook объясняется глубиной в Эта статья Отказ

Однако некоторые общие требования к веб-кавкам являются:

  • Событие подписки: Запрос WebHook срабатывает событие, происходящее в исходной системе, поэтому, прежде чем вы сможете иметь веб-капли, вы должны быть подписаны на событие.
  • УРЛ WebHook: Триггеры события отправляются как HTTP-запрос на заданную конечную точку; Убедитесь, что конечная точка вашего назначения была снабжена правильно.
  • Безопасный HTTP (HTTPS): Если ваш сервер назначения не установлен SSL, вам необходимо установить один или использовать прокси-сервер для завершения SSL.

Что отладить

Другим аспектом путаницы в процессе отладки является знать, что для отладки. Как и любой процесс отладки, отладки веб-кавказков начинается с отслеживания источника ошибок, чтение любых сообщений об ошибках и интерпретация сообщений для достижения и исправления корневой причины. Позвольте мне поделиться несколькими советами от моего опыта отладки веб-капонов.

  • Получил был получен веб-капуль? Как объяснено ранее, первое, что вы хотите быть уверены в том, что запрос достиг вашей конечной точки. Вы можете предпринять простой подход к проверке объекта запроса на ваших контроллерах, печатая его или используйте программное обеспечение, как Zipkin для просьбы отслеживания.
  • Это происходит от ожидаемого источника? Вы не хотите получать запросы WebHook от неправильного источника, поэтому проверки должны быть помещены для этого.
  • Содержит ли это информацию, ожидаемую? Большинство запросов на веб -ook поставляются с информацией в полезной нагрузке, которая имеет решающее значение для работы, которую вы хотите сделать на вашем сервере. Убедитесь, что эта информация доступна в веб-кавказках, которые вы получаете.
  • Вы проверяете необходимую информацию? У меня когда-то был сценарий, когда логическое значение было отправлено в строковом формате. Мой код пытался использовать эту переменную как логическое значение, а также созданные ошибки. Итак, вы хотите убедиться, что вы проверяете типы данных данных, которые вы получаете, и преобразуете их там, где это необходимо.
  • Является ли WebHook для ожидаемого события? Это еще одна человеческая ошибка, которая может легко ползать в вашу настройку. Например, вы думали, что вы отправили конечную точку для Учетная запись обновлена Событие между тем, по одной причине или другому, вы отправили его для Учетная запись создана событие. Эта простая ошибка может привести к часам безнадежного устранения неполадок. Убедитесь, что вы выполняете правильные чеки; Некоторые провайдеры даже достаточно любезны, чтобы добавить тип события в заголовок или тело запроса.
  • Ваша API ответила соответствующим образом? Это зависит от того, как каждое приложение отвечает на веб -ook, на который он подписан. Вы хотите убедиться, что вы обрабатываете веб-поката и возвращая правильный код состояния.
  • Является ли обработка idempotent? IDEMPotency — это большая сделка с веб-кавками, как вы хотите избежать дублирующей обработки при пожаре WebHooks более чем один раз. Чтобы узнать больше о идемпотентности с веб-кавками, проверить Эта статья Отказ
  • Требуется ли аутентификация? Иногда ваши веб-пояс будут отскочить, потому что вы не выполняете их требования к аутентификации. Вы хотите убедиться, что вы заботитесь об этом соответствующим образом. Информация о том, как аутентифицироваться в веб-кавказках можно найти на сайте провайдера.

Почему отладки веб-качников могут быть сложными

Давайте столкнемся в этом, отладка может быть довольно сложной. Отладка веб-кадров еще более сложнее, поскольку она включает в себя как сеть (HTTP-запросы WebHook) и нанесение (ваш код). Давайте пройдемся по некоторым из причин, почему отладки веб-капонов могут быстро разочаровать.

Ошибка воспроизведения в локальной среде

Когда возникает ошибка, первый шаг — воссоздать его, чтобы осмотреть его в изолированной среде. Делая это с веб-кавками довольно сложно, так как вам нужно имитировать как условия из провайдера WebHook (E.g. полоса , Машины и т. Д.), И условия на вашей конечной точке, под которым был получен веб -ook. Например, при попытке отладить свои покупки WebHooks в производстве, мне нужно создать новый магазин Shopifier для разработки и воссоздать сценарий, вызванный ошибкой в производстве. Представьте, что пытается повторить этот же сценарий на пробной учетной записи для магазина, который имеет производственные данные. Беспронезна, бесплатная пробная версия Shopify истекает через 14 дней, поэтому вы должны заплатить, чтобы поддерживать хранилище разработки, либо создать новую снова. Имейте в виду, что ваша настройка отладки также должна быть выполнена в вашей локальной среде, чтобы ее изолированный, что делает его еще сложнее, чтобы воссоздать ошибку.

Работа над localhost

При навесете свою ошибку локально, вы можете включать только местные серверные среды на localhost. Эти серверы не являются общедоступными, и поэтому ваш провайдер веб -ook не может их достичь. Это представляет дополнительную настройку в процессе отладки, чтобы обойти брандмауэры и NAT s Чтобы сделать локальный сервер публично доступным. Имейте в виду, что вы должны предоставить доступ к вашему серверу через HTTPS.

Idempotency. при отправке данных издевательства

Данные издевания в основном используются для отладки, а один атрибут данных издевательства состоит в том, что он всегда будет создавать тот же результат. Представьте себе, что ваш тест создает новый уникальный пользователь в базе данных; Это означает, что в любое время вы запускаете тест, вам нужно очистить пользователя из базы данных, прежде чем запустить другой тест. Это может расстраивать, если не автоматизировано. Иногда разработчики должны прокомментировать логику, которая делает обработку IdEmpotent, просто чтобы иметь возможность запускать несколько тестов. Это плохая практика, поскольку ошибки могут быть введены в процессе, или вы можете забыть вотворить код, тем самым укомплектовав целостность вашего приложения.

Что вам нужно для отладки веб-качников

Надеюсь, эта статья не напугала вас, думая, что отладки веб-капонов — невозможная задача. Не паникуйте, есть инструменты для достижения всего, что упомянуто выше, но прежде чем мы попадаем в это, давайте посмотрим на пару вещей, вам нужно будет начать отладки веб-капучков.

  • УРЛ WebHook: Вы должны быть в состоянии создать общедоступные URL WebHook для конечной точки приложения через HTTPS.
  • Тест веб -ook: Вам необходимо настроить свой сервер локально и запустить его с соответствующим кодом для отладки процесса.
  • Инспекционные инструменты: Ваша настройка отладки должна иметь инструменты для проверки вашего запроса на веб -ook. Это может быть сделано с помощью инструментов отладки в вашей IDE (установленные перерывы строки для проверки запроса) или с помощью специализированных инструментов с помощью панель мониторинга для визуализации объекта запроса.

Инструменты отладки WebHook

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

Hookdeck CLI.

Это первый инструмент, на котором мы рассмотрим, так как он построен специально для работы с веб-кавками. Hookdeck CLI сочетает в себе возможность генерировать общедоступный и постоянный URL-адрес веб -ook на вашу конечную точку с помощью приборной панели проверки для чтения деталей запросов вашего веб -ook.

Это может быть Установлен и настроен На всех операционных системах, и это бесплатно.

Нроок

NGROK — это инструмент с открытым исходным кодом, который обнажает локальные серверы, скрытые за NATS и брандмауэры для публичного Интернета над безопасными туннелями. NGROK позволяет легко генерировать безопасный URL, который будет использоваться в качестве URL-адреса WebHook. Он также включает в себя простую приборную панель для мониторинга запросов, ударяющих вашу конечную точку.

Вы можете узнать больше о NGROK и как настроить его на их Сайт Отказ Вы также можете проверить наше руководство по Отладка с использованием Ngrok Отказ

Охватывание

Hoodbin — это бесплатный сервис, который позволяет вам захватить, анализировать и осматривать HTTP-запросы. С помощью Hoodbin вы можете раскрутить общедоступный URL-адрес нажатием кнопки и укажите его запросы WebHook непосредственно к нему.

Когда запрос попадает в вашу конечную точку, Hookbin дает вам ясность в объект запроса для проверки. Hoodbin также предлагает частные конечные точки и файловые загрузки. Вы можете узнать больше о Hoodbin на их Официальный сайт Отказ

Вывод

Отладка может быть очень утомительным процессом, но зная, что отлаживать и иметь правильные инструменты, делает его намного проще. Эта цель этого руководства заключается в том, чтобы сделать ваш процесс отладки в веб-кавказках меньше боли — однако эта статья не может охватить все О отладке веб-качников, так что придерживайтесь для последующих статей в этой серии на эту тему. Кроме того, если вы хотите узнать больше о веб-кавказках, ознакомьтесь с нашими сериями веб-капонов, нажав здесь Отказ

Счастливое кодирование!

Оригинал: «https://dev.to/hookdeck/complete-guide-to-debugging-webhooks-5h45»