Введение
Что такое API?
Проще говоря, API — это мессенджер; давайте разберемся с этим на некоторых примерах. Допустим, вы проголодались и вам нужно что-то приготовить дома. Если вы хотите приготовить лапшу, вы просто берете ингредиенты из шкафа, топите плиту и готовите сами. Это программа, которая делает что-то самостоятельно со своими собственными ресурсами. Но скажем, вы хотите пиццу — у вас нет ингредиентов, а ваша домашняя духовка не совсем подходит для приготовления красивой хрустящей корочки. Вместо этого вы идете в пиццерию. Но в отличие от дома, вы не можете просто пойти на кухню и начать использовать ингредиенты для приготовления пиццы. Они не хотят, чтобы твои грязные руки рылись в их вещах! Так что ты будешь делать? Вы должны подойти к стойке и сделать заказ — там будет меню, в котором перечислены пиццы, которые вы можете заказать, и какие начинки или другие варианты вы можете выбрать. Это API.
Интерфейс прикладного программирования (API) — это набор правил, определяющих, как должны взаимодействовать две программы.
API позволяет одной программе получать доступ к функциям другой программы. Например, если у вас есть программа, которой необходимо получать данные из Интернета, она может использовать API для запроса этих данных с сервера. Затем сервер ответит запрошенными данными, и программа сможет использовать их по мере необходимости.
API-интерфейсы используются, чтобы позволить различным программам взаимодействовать друг с другом и обмениваться данными и функциями. Они являются важной частью современной разработки программного обеспечения, поскольку позволяют различным системам работать вместе и позволяют создавать более сложные и мощные программные приложения.
HTTP API
HTTP API — это тип API, который использует протокол HTTP для отправки и получения данных. Это позволяет программам отправлять и получать данные с помощью HTTP-запросов и ответов. Эти запросы и ответы могут быть в различных форматах, таких как обычный текст, JSON или XML. Они обычно используются в широком спектре приложений, включая веб-приложения, мобильные приложения и микросервисы. Эти API-интерфейсы относительно дешевле, чем API-интерфейсы REST, и имеют меньше функций, чем более поздние.
API REST
REST API — это тип API, который следует набору архитектурных принципов, называемых REST (передача репрезентативного состояния). REST — это стиль архитектуры программного обеспечения, который определяет набор ограничений для создания веб-API.
API с отслеживанием состояния
API с отслеживанием состояния — это API, который хранит информацию о каждом клиентском запросе и использует эту информацию для обработки последующих запросов. Это означает, что API сохраняет данные о каждом запросе, такие как параметры запроса, в сеансе на стороне сервера. Затем эти данные используются для обработки последующих запросов от того же клиента.
API без сохранения состояния
API без сохранения состояния, с другой стороны, не хранит информацию о клиентских запросах. Он обрабатывает каждый запрос независимо, не сохраняя никаких данных о предыдущих запросах. Это означает, что API не поддерживает сеанс на стороне сервера и не использует данные из предыдущих запросов для обработки последующих запросов.
Ключевые различия между API с сохранением состояния и API без сохранения состояния
Ниже приведены некоторые ключевые различия между API с отслеживанием состояния и без него:
STATEFUL API |
API без сохранения состояния |
1. Требовать сеанс на стороне сервера для хранения данных о клиентских запросах | 1. Не требовать сеанса на стороне сервера для хранения данных о клиентских запросах |
2. Иногда они могут быть медленнее, чем API без сохранения состояния, потому что они требуют и сохраняют данные, что требует времени. | 2. API без сохранения состояния работают быстрее, поскольку они не требуют и не хранят данные о запросах. |
3. Stateful API нелегко масштабировать | 3. Легче масштабировать, поскольку им не нужно хранить данные о предыдущих запросах. |
4. Обычно считается менее безопасным, чем API без сохранения состояния. | 4. Обычно они считаются более безопасными. |
Что такое Amazon API Gateway?
Amazon API Gateway — это сервис AWS, который используется для создания, обслуживания и мониторинга API с сохранением состояния (веб-сокет) и API без сохранения состояния (HTTP и REST). Мы можем использовать эти API для доступа:
- Любой сервис AWS
- Данные, хранящиеся в облаке AWS (например, в корзине S3).
- Любые другие веб-сервисы.
Если вы являетесь разработчиком API, вы также можете легко сделать свои API сторонним разработчикам.
В основном существует два типа пользователей AWS API Gateway.
- i) Разработчики API, создающие и развертывающие API для включения необходимых функций в API Gateway.
- ii) Разработчики приложений, являющиеся клиентами разработчика API.
Архитектура шлюза API Amazon
Эта архитектура показывает, как можно создавать бессерверные приложения с единообразным и интегрированным опытом разработчиков. От конечных пользователей до центров обработки данных API Gateway выполняет все необходимые задачи, такие как прием и обработка тысяч одновременных вызовов, управление трафиком, авторизация, мониторинг, контроль доступа и т. д.
Возможности Amazon API Gateway
- Он поддерживает API как с сохранением состояния, так и без него. (Примеры: веб-сокет, HTTP и REST).
- Мощные механизмы аутентификации включают AWS Identity, политики управления доступом и авторизатор Lambda.
- Портал разработчиков, где разработчики API могут публиковать свои API.
- Ведение журнала выполнения и доступа для CloudWatch, включая возможность установки сигналов тревоги.
- Интеграция с другими сервисами AWS, такими как AWS Lambda и AWS Kinesis.
- Интеграция с AWS WAF используется для защиты от веб-эксплойтов, а AWS X-Ray используется для понимания и выделения задержек производительности.
Начало работы с Amazon API Gateway
Теперь мы собираемся создать бессерверный API. В бессерверном API мы можем сосредоточиться на наших приложениях, а не тратить время на управление серверами. Это работает следующим образом:
- API вызывается клиентом
- API отправляет запрос на лямбду
- Lambda выполняет лямбда-функцию и отправляет результат обратно в API.
- Получив результат от лямбды, API отвечает клиенту
Шаг 1 — Создайте лямбда-функцию
Функция Lambda используется для серверной части нашего API. Lambda запускает код только тогда, когда это необходимо. Он также автоматически масштабируется от нескольких запросов в день до тысячи запросов в секунду.
Создание лямбда-функции:
1) Перейдите в лямбда-консоль по адресу https://console.aws.amazon.com/lambda.
2) Нажмите на функцию «Создать».
3) Введите «my-function» в качестве имени функции.
4) Выберите Python 3.9 в качестве среды выполнения.
5) Для этой функции нам не нужно ничего менять на вкладке «Разрешения и дополнительные настройки», так как разрешений по умолчанию достаточно для этой демонстрации.
4) Нажмите на функцию «Создать».
ШАГ 2 – Создание HTTP API
HTTP API предоставляет конечную точку HTTP для вашей функции Lambda. Это работает следующим образом:
- Клиент отправляет запрос в HTTP API
- API запускает лямбда-выражение, которое затем выполняет лямбда-функцию.
- Lambda отправляет результат в API
- API отвечает клиенту полученным ответом
Шаги для создания HTTP API
1) Посетите консоль шлюза API по адресу https://console.aws.amazon.com/apigateway.
2) Нажмите «Создать», чтобы создать свой первый HTTP API.
3) Нажмите Добавить интеграцию для интеграции
4) Выберите Лямбда.
5) Введите свою лямбда-функцию my-function.
6) В качестве имени API введите my-http-api.
7) Нажмите Далее.
8) Просмотрите созданный для вас маршрут и нажмите Далее.
9) Просмотрите созданный для вас этап и нажмите Далее.
10) Нажмите "Создать".
ШАГ 3 Протестируйте свой API –
Далее нам нужно протестировать наш API, чтобы убедиться, что он работает. Для этого мы будем использовать веб-браузер для вызова нашего API.
Чтобы протестировать наш API
- Перейдите в консоль шлюза API по адресу https://console.aws.amazon.com/apigateway.
- Выберите свой API.
- Запишите URL-адрес вызова вашего API. (см. изображение выше)
- Скопируйте URL-адрес вызова API и вставьте его в веб-браузер. Присоедините URL-адрес вызова и имя вашей лямбда-функции, чтобы вызвать вашу лямбда-функцию. Консоль API Gateway создает маршрут, используя по умолчанию имя вашей функции Lambda «my-function».
Полный URL-адрес должен выглядеть следующим образом: https://abcdef123.execute-api.us-east-2.amazonaws.com/my-function. Когда вы загружаете этот URL-адрес, ваш браузер отправляет запрос GET в API.
- Вы должны увидеть текст «Привет от Lambda!» в вашем браузере. Следовательно, ответ вашего API проверен.
Заключение
Мы создали наш первый HTTP API с помощью Amazon API Gateway и AWS Lambda. Кроме того, мы можем исследовать различные варианты использования одного и того же, и аналогичным образом мы также можем создать REST API, который предоставляет больше функций.
Тебе понравилась эта статья? Расскажите нам свои мысли в комментарии ниже. Кроме того, не забудьте упомянуть, какую статью вы хотели бы прочитать следующей.
Похожие страницы:
- SEO-контент и PR-распределение. Получите усиление сегодня.
- Платоблокчейн. Интеллект метавселенной Web3. Расширение знаний. Доступ здесь.
- Источник: https://www.analyticsvidhya.com/blog/2023/01/introduction-to-amazon-api-gateway-using-aws-lambda/
- 1
- 9
- a
- О нас
- выше
- доступ
- управление доступом
- продвинутый
- против
- Все
- позволяет
- Amazon
- Шлюз API Amazon
- и
- Другой
- API
- API
- приложение
- Применение
- Приложения
- Программы
- архитектурный
- архитектура
- гайд
- Аутентификация
- разрешение
- автоматически
- AWS
- AWS Lambda
- назад
- Backend
- , так как:
- ниже
- между
- браузер
- строить
- построенный
- призывают
- под названием
- Объявления
- случаев
- Центры
- изменение
- более дешевый
- Выберите
- клиент
- облако
- код
- комментарий
- обычно
- общаться
- комплекс
- параллельный
- считается
- последовательный
- Консоли
- ограничения
- контроль
- счетчик
- Создайте
- создали
- создает
- Создающий
- создание
- Клиенты
- данным
- центров обработки данных
- день
- По умолчанию
- Определяет
- развертывание
- Застройщик
- застройщиков
- Разработка
- Различия
- различный
- дело
- Dont
- вниз
- каждый
- легче
- легко
- подчеркивать
- включить
- Конечная точка
- Enter
- и т.д
- Эфир (ETH)
- пример
- Примеры
- Выполняет
- выполнение
- опыт
- использует
- Больше
- быстрее
- несколько
- Для пожарных
- First
- Фокус
- следующим образом
- от
- полный
- функция
- функциональные возможности
- функциональность
- далее
- шлюз
- в общем
- получить
- Go
- будет
- Ручки
- Руки
- Главная
- Как
- HTTPS
- Голодный
- Личность
- изображение
- важную
- in
- включают
- В том числе
- самостоятельно
- информация
- вместо
- интегрированный
- интеграции.
- взаимодействовать
- Интерфейс
- Интернет
- Введение
- вовлеченный
- IT
- присоединиться
- JSON
- Основные
- листинг
- загрузка
- посмотреть
- выглядит как
- поддерживать
- поддерживает
- сделать
- Создание
- управление
- управления
- макс-ширина
- означает
- Меню
- Messenger
- microservices
- Мобильный телефон
- мобильные приложения-
- Модерн
- монитор
- Мониторинг
- БОЛЕЕ
- имя
- Необходимость
- необходимый
- потребности
- следующий
- ONE
- Опция
- Опции
- заказ
- Другие контрактные услуги
- собственный
- параметры
- часть
- производительность
- выбирать
- пицца
- Часть
- одноцветный
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- сборах
- Портал
- мощный
- предыдущий
- Принципы
- процесс
- Процессы
- обработка
- FitPartner™
- Программирование
- Программы
- защиту
- протокол
- приводит
- публиковать
- Питон
- ассортимент
- Читать
- Получать
- получила
- получение
- относительно
- запросить
- Запросы
- требовать
- обязательный
- Полезные ресурсы
- Реагируйте
- ответ
- ОТДЫХ
- результат
- обзоре
- дорога
- условиями,
- то же
- Шкала
- Весы
- Во-вторых
- безопасный
- отправка
- Serverless
- обслуживание
- Услуги
- Сессия
- набор
- настройки
- Поделиться
- должен
- Аналогичным образом
- просто
- So
- Software
- разработка программного обеспечения
- некоторые
- удалось
- Расходы
- Этап
- Начало
- и политические лидеры
- Область
- магазин
- хранить
- магазины
- стиль
- последующее
- такие
- достаточный
- Поддержка
- системы
- взять
- принимает
- задачи
- terms
- тестXNUMX
- Ассоциация
- их
- сторонние
- тысячи
- время
- в
- вместе
- слишком
- трафик
- перевод
- Типы
- понимать
- URL
- us
- использование
- пользователей
- различный
- проверено
- Web
- веб-приложений
- веб-браузер
- веб-сервисы
- веб-сокет
- Что
- который
- КТО
- широкий
- Широкий диапазон
- будете
- без
- Работа
- работать вместе
- работает
- работает
- рентгеновский
- XML
- ВАШЕ
- себя
- зефирнет