Вступ
Що таке API?
Простіше кажучи, API — це месенджер; давайте зрозуміємо це на деяких прикладах. Припустимо, ви голодні і вам потрібно щось приготувати вдома. Якщо ви хочете приготувати локшину, ви просто дістаєте інгредієнти з шафи, розпалюєте піч і робите її самостійно. Це програма, яка робить щось самостійно за допомогою власних ресурсів. Але скажімо, ви хочете піцу – у вас немає інгредієнтів, а ваша домашня духовка не дуже підходить для приготування приємної хрусткої скоринки. Тому ви замість цього йдете в піцерію. Але на відміну від дома, ви не можете просто піти на кухню та почати використовувати їхні інгредієнти для приготування піци. Вони не хочуть, щоб ваші грязні руки були на їхніх речах! Так що ти будеш робити? Вам потрібно підійти до стійки та зробити замовлення – там буде меню з переліком того, яку піцу ви можете замовити, які начинки чи інші варіанти ви можете вибрати. Це API.
Програмний інтерфейс прикладної програми (API) — це набір правил, які визначають, як мають взаємодіяти дві програми.
API дозволяє одній програмі отримати доступ до функцій іншої програми. Наприклад, якщо у вас є програмне забезпечення, якому потрібно отримати дані з Інтернету, воно може використовувати API для запиту цих даних із сервера. Тоді сервер відповість запитуваними даними, і програмне забезпечення зможе використовувати їх за потреби.
Інтерфейси програмного інтерфейсу (API) використовуються для того, щоб різні програми могли спілкуватися одна з одною та обмінюватися даними та функціями. Вони є важливою частиною сучасної розробки програмного забезпечення, оскільки дозволяють різним системам працювати разом і дозволяють створювати більш складні та потужні програмні додатки.
HTTP API
HTTP API — це тип API, який використовує протокол HTTP для надсилання та отримання даних. Це дозволяє програмам надсилати й отримувати дані за допомогою HTTP-запитів і відповідей. Ці запити та відповіді можуть бути в різних форматах, наприклад простий текст, JSON або XML. Вони зазвичай використовуються в широкому діапазоні програм, включаючи веб-програми, мобільні програми та мікросервіси. Ці API відносно дешевші, ніж REST API, і мають менше функцій, ніж останні.
REST API
REST API — це тип API, який відповідає набору архітектурних принципів, які називаються REST (Representational State Transfer). REST — це стиль архітектури програмного забезпечення, який визначає набір обмежень для створення веб-API.
API із збереженням стану
API із збереженням стану — це API, який зберігає інформацію про кожен запит клієнта та використовує цю інформацію для обробки наступних запитів. Це означає, що API зберігає дані про кожен запит, наприклад параметри запиту, у сеансі на стороні сервера. Потім ці дані використовуються для обробки наступних запитів від того самого клієнта.
API без стану
З іншого боку, API без стану не зберігає інформацію про запити клієнтів. Він обробляє кожен запит незалежно, не зберігаючи жодних даних про попередні запити. Це означає, що API не підтримує сеанс на стороні сервера та не використовує дані з попередніх запитів для обробки наступних запитів.
Ключові відмінності між Stateful і Stateless API
Нижче наведено деякі ключові відмінності між API із збереженням стану та без нього:
STATEFUL API |
API без громадянства |
1. Вимагайте сеансу на стороні сервера для зберігання даних про запити клієнтів | 1. Не вимагайте сеансу на стороні сервера для зберігання даних про запити клієнтів |
2. Іноді вони можуть працювати повільніше, ніж API без збереження даних, оскільки вони вимагають і зберігають дані, що потребує часу. | 2. API без збереження стану є швидшими, оскільки вони не вимагають і не зберігають дані про запити. |
3. API із збереженням стану непросто масштабувати | 3. Легше масштабувати, оскільки їм не потрібно зберігати дані про попередні запити. |
4. Зазвичай вважаються менш безпечними, ніж API без збереження стану | 4. Зазвичай вони вважаються більш безпечними. |
Що таке Amazon API Gateway?
Amazon API Gateway — це служба AWS, яка використовується для створення, підтримки та моніторингу 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 із збереженням стану, так і без нього. (Приклади: Websocket, HTTP і REST).
- Потужні механізми автентифікації включають AWS Identity, політики керування доступом і лямбда-авторизер.
- Портал розробників, де розробники API можуть публікувати свої API.
- Журнал виконання та доступ до CloudWatch, включаючи опцію налаштування будильників.
- Інтеграція з іншими службами AWS, такими як AWS Lambda і AWS Kinesis.
- Інтеграція з AWS WAF використовується для захисту від веб-експлойтів, а AWS X-Ray використовується для розуміння та підкреслення затримок продуктивності.
Початок роботи з Amazon API Gateway
Тепер ми збираємося створити безсерверний API. У безсерверному API ми можемо зосередитися на наших програмах замість того, щоб витрачати час на керування серверами. Це працює так:
- API викликається клієнтом
- API надсилає запит до лямбда
- Лямбда виконує лямбда-функцію та надсилає результат назад до API
- Після отримання результату від лямбда API відповідає клієнту
Крок 1 – Створіть лямбда-функцію
Функція Lambda використовується для серверної частини нашого API. Lambda запускає код лише тоді, коли це необхідно. Він також автоматично масштабується від кількох запитів на день до тисячі запитів щосекунди.
Створення лямбда-функції:
1) Перейдіть до лямбда-консолі за адресою https://console.aws.amazon.com/lambda
2) Натисніть «Створити функцію».
3) Введіть «моя функція» як назву функції.
4) Виберіть Python 3.9 як середовище виконання.
5) Для цієї функції нам не потрібно буде нічого змінювати на вкладці «Дозволи та додаткові налаштування», оскільки для цієї демонстрації достатньо дозволів за замовчуванням.
4) Натисніть «Створити функцію».
КРОК 2 – Створення HTTP API
HTTP API надає кінцеву точку HTTP для вашої функції Lambda. Це працює так:
- Клієнт надсилає запит до HTTP API
- API запускає лямбда-функцію, яка потім виконує лямбда-функцію
- Lambda надсилає результат до API
- API відповідає клієнту отриманою відповіддю
Кроки для створення HTTP API
1) Відвідайте консоль API Gateway за адресою 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 Gateway за адресою https://console.aws.amazon.com/apigateway
- Виберіть свій API.
- Занотуйте URL-адресу виклику вашого API. (див. зображення вище)
- Скопіюйте URL-адресу виклику API та вставте її у веб-браузер. З’єднайте URL-адресу виклику та назву вашої лямбда-функції, щоб викликати вашу лямбда-функцію. Консоль API Gateway створює маршрут, використовуючи назву вашої лямбда-функції «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, який надає більше функцій.
Вам сподобалася ця стаття? Розкажіть нам про свої думки в коментарях нижче. Також не забудьте вказати, яку статтю ви б хотіли прочитати наступною.
споріднений
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- Платоблокчейн. Web3 Metaverse Intelligence. Розширені знання. Доступ тут.
- джерело: https://www.analyticsvidhya.com/blog/2023/01/introduction-to-amazon-api-gateway-using-aws-lambda/
- 1
- 9
- a
- МЕНЮ
- вище
- доступ
- управління доступом
- просунутий
- проти
- ВСІ
- дозволяє
- Amazon
- API -шлюз Amazon
- та
- Інший
- API
- Інтерфейси
- додаток
- додаток
- застосування
- додатка
- архітектурний
- архітектура
- стаття
- Authentication
- авторизації
- автоматично
- AWS
- AWS Lambda
- назад
- Backend
- оскільки
- нижче
- між
- браузер
- будувати
- побудований
- call
- званий
- Виклики
- випадків
- Центри
- зміна
- більш дешевий
- Вибирати
- клієнт
- хмара
- код
- коментар
- зазвичай
- спілкуватися
- комплекс
- одночасно
- вважається
- послідовний
- Консоль
- обмеження
- контроль
- Counter
- створювати
- створений
- створює
- створення
- створення
- Клієнти
- дані
- центрів обробки даних
- день
- дефолт
- Визначає
- розгортання
- Розробник
- розробників
- розробка
- Відмінності
- різний
- справи
- Не знаю
- вниз
- кожен
- легше
- легко
- підкреслити
- включіть
- Кінцева точка
- Що натомість? Створіть віртуальну версію себе у
- і т.д.
- Ефір (ETH)
- приклад
- Приклади
- Виконує
- виконання
- досвід
- подвигів
- дослідити
- швидше
- кілька
- Пожежа
- Перший
- Сфокусувати
- слідує
- від
- Повний
- функція
- функціональні можливості
- функціональність
- далі
- шлюз
- в цілому
- отримати
- Go
- буде
- Ручки
- Руки
- Головна
- Як
- HTTPS
- Голодний
- Особистість
- зображення
- важливо
- in
- включати
- У тому числі
- самостійно
- інформація
- замість
- інтегрований
- інтеграція
- взаємодіяти
- інтерфейс
- інтернет
- Вступ
- залучений
- IT
- приєднатися
- json
- ключ
- список
- загрузка
- подивитися
- виглядає як
- підтримувати
- підтримує
- зробити
- Робить
- управління
- управління
- макс-ширина
- засоби
- Меню
- Messenger
- мікросервіс
- Mobile
- мобільні Програми-
- сучасний
- монітор
- моніторинг
- більше
- ім'я
- Необхідність
- необхідний
- потреби
- наступний
- ONE
- варіант
- Опції
- порядок
- Інше
- власний
- параметри
- частина
- продуктивність
- вибирати
- Піца
- місце
- одноколірний
- plato
- Інформація про дані Платона
- PlatoData
- Політика
- Портал
- потужний
- попередній
- Принципи
- процес
- процеси
- обробка
- програма
- Програмування
- програми
- захист
- протокол
- забезпечує
- публікувати
- Python
- діапазон
- Читати
- отримати
- отримано
- отримання
- щодо
- запросити
- запитів
- вимагати
- вимагається
- ресурси
- Реагувати
- відповідь
- REST
- результат
- огляд
- Маршрут
- Правила
- то ж
- шкала
- ваги
- другий
- безпечний
- відправка
- Без сервера
- обслуговування
- Послуги
- Сесія
- комплект
- налаштування
- Поділитись
- Повинен
- Аналогічно
- простий
- So
- Софтвер
- розробка програмного забезпечення
- деякі
- що в сім'ї щось
- Витрати
- Стажування
- старт
- почалася
- стан
- зберігати
- зберігати
- магазинів
- стиль
- наступні
- такі
- достатній
- Опори
- Systems
- Приймати
- приймає
- завдання
- terms
- тест
- Команда
- їх
- третя сторона
- тисячі
- час
- до
- разом
- занадто
- трафік
- переклад
- Типи
- розуміти
- URL
- us
- використання
- користувачі
- різний
- перевірено
- Web
- веб-додатки
- веб-браузер
- веб-сервіси
- веб-сайт
- Що
- який
- ВООЗ
- широкий
- Широкий діапазон
- волі
- без
- Work
- працювати разом
- робочий
- працює
- рентгенівський
- XML
- вашу
- себе
- зефірнет