Giới thiệu về Amazon API Gateway sử dụng AWS Lambda

Giới thiệu về Amazon API Gateway sử dụng AWS Lambda

Nút nguồn: 1860150

Giới thiệu

API là gì?

Nói một cách đơn giản, API là một trình nhắn tin; hãy hiểu điều này với một số ví dụ. Giả sử bạn đang đói và cần nấu món gì đó ở nhà. Nếu muốn làm mì, bạn chỉ cần lấy nguyên liệu trong tủ ra, bật bếp và tự làm. Đây là một chương trình tự làm một việc gì đó bằng tài nguyên của chính nó. Nhưng giả sử bạn muốn bánh pizza – bạn không có nguyên liệu và lò nướng tại nhà của bạn không thực sự phù hợp để tạo ra lớp vỏ giòn đẹp mắt. Vì vậy, bạn đi đến một nơi pizza để thay thế. Nhưng không giống như ở nhà, bạn không thể vào bếp và bắt đầu sử dụng nguyên liệu của họ để làm bánh pizza. Họ không muốn bàn tay bẩn thỉu của bạn trên tất cả những thứ của họ! Vậy bạn sẽ làm gì? Bạn phải đến quầy và gọi món – sẽ có một menu liệt kê những loại pizza bạn có thể gọi và những loại toppings hoặc các tùy chọn khác mà bạn có thể chọn. Đây là một API.

Giao diện lập trình ứng dụng (API) là một bộ quy tắc chỉ định cách hai chương trình phần mềm tương tác với nhau.

API cho phép một chương trình phần mềm truy cập chức năng của một chương trình phần mềm khác. Ví dụ: nếu bạn có một chương trình phần mềm cần truy xuất dữ liệu từ internet, chương trình đó có thể sử dụng API để yêu cầu dữ liệu đó từ máy chủ. Sau đó, máy chủ sẽ phản hồi với dữ liệu được yêu cầu và chương trình phần mềm có thể sử dụng dữ liệu đó khi cần.

API được sử dụng để cho phép các chương trình phần mềm khác nhau giao tiếp với nhau và chia sẻ dữ liệu cũng như chức năng. Chúng là một phần quan trọng trong quá trình phát triển phần mềm hiện đại, vì chúng cho phép các hệ thống khác nhau hoạt động cùng nhau và cho phép tạo ra các ứng dụng phần mềm mạnh mẽ và phức tạp hơn.

API HTTP

HTTP API là một loại API sử dụng giao thức HTTP để gửi và nhận dữ liệu. Nó cho phép các chương trình phần mềm gửi và nhận dữ liệu bằng các yêu cầu và phản hồi HTTP. Các yêu cầu và phản hồi này có thể ở nhiều định dạng khác nhau, chẳng hạn như văn bản thuần túy, JSON hoặc XML. Chúng thường được sử dụng trong nhiều ứng dụng, bao gồm ứng dụng web, ứng dụng dành cho thiết bị di động và vi dịch vụ. Các API này tương đối rẻ hơn các API REST và có ít chức năng hơn các API sau này.

API REST

API REST là một loại API tuân theo một tập hợp các nguyên tắc kiến ​​trúc được gọi là REST (Chuyển giao trạng thái đại diện). REST là một kiểu kiến ​​trúc phần mềm xác định một tập hợp các ràng buộc để tạo API web.

API trạng thái

API trạng thái là API duy trì thông tin về từng yêu cầu của khách hàng và sử dụng thông tin này để xử lý các yêu cầu tiếp theo. Điều này có nghĩa là API lưu trữ dữ liệu về từng yêu cầu, chẳng hạn như các tham số yêu cầu, trong phiên phía máy chủ. Dữ liệu này sau đó được sử dụng để xử lý các yêu cầu tiếp theo từ cùng một máy khách.

API không trạng thái

Mặt khác, API không trạng thái không duy trì thông tin về các yêu cầu của khách hàng. Nó xử lý từng yêu cầu một cách độc lập mà không lưu trữ bất kỳ dữ liệu nào về các yêu cầu trước đó. Điều này có nghĩa là API không duy trì phiên phía máy chủ và không sử dụng dữ liệu từ các yêu cầu trước đó để xử lý các yêu cầu tiếp theo.

Sự khác biệt chính giữa API có trạng thái và không trạng thái

Dưới đây là một số điểm khác biệt chính giữa API trạng thái và không trạng thái:

API TRẠNG THÁI

API KHÔNG TUYỆT VỜI

1. Yêu cầu phiên phía máy chủ để lưu trữ dữ liệu về các yêu cầu của máy khách 1. Không yêu cầu phiên phía máy chủ lưu trữ dữ liệu về các yêu cầu của máy khách
2. Những API này đôi khi có thể chậm hơn API không trạng thái vì chúng yêu cầu và lưu trữ dữ liệu cần có thời gian. 2. API không trạng thái nhanh hơn vì chúng không yêu cầu và lưu trữ dữ liệu về các yêu cầu.
3. API trạng thái không dễ mở rộng quy mô  3. Dễ dàng mở rộng quy mô hơn vì họ không cần duy trì dữ liệu về các yêu cầu trước đó.
4. Thường được coi là kém an toàn hơn API không trạng thái 4. Chúng thường được coi là an toàn hơn.

Cổng API Amazon là gì?

Amazon API Gateway là một Dịch vụ AWS được dùng để tạo, duy trì và giám sát cả API có trạng thái (websocket) và không trạng thái (HTTP và REST). Chúng tôi có thể sử dụng các API này để truy cập:

  1. Bất kỳ dịch vụ AWS nào
  2. Dữ liệu được lưu trữ trong đám mây AWS (chẳng hạn như bộ chứa S3)
  3. Bất kỳ dịch vụ web nào khác.

Nếu bạn là nhà phát triển API, bạn cũng có thể dễ dàng tạo API của mình cho nhà phát triển bên thứ ba.

Chủ yếu có hai loại người dùng AWS API Gateway.

  1. i) Nhà phát triển API tạo và triển khai API để kích hoạt chức năng được yêu cầu trong Cổng API
  2. ii) Nhà phát triển ứng dụng là khách hàng của nhà phát triển API.

Kiến trúc cổng API của Amazon

kiến trúc

Kiến trúc này minh họa cách các ứng dụng serverless có thể được xây dựng với trải nghiệm nhất quán và tích hợp của nhà phát triển. Từ người dùng cuối đến trung tâm dữ liệu, API Gateway xử lý tất cả các tác vụ liên quan, chẳng hạn như chấp nhận và xử lý hàng nghìn cuộc gọi đồng thời, quản lý lưu lượng, ủy quyền, giám sát, kiểm soát truy cập, v.v.

Các tính năng của Cổng API Amazon

  1. Nó hỗ trợ cả API trạng thái và không trạng thái. (Ví dụ: Websocket, HTTP và REST).
  2. Các cơ chế xác thực mạnh mẽ bao gồm AWS Identity, Chính sách quản lý quyền truy cập và trình ủy quyền Lambda.
  3. Cổng thông tin dành cho nhà phát triển nơi các nhà phát triển API có thể xuất bản API của họ.
  4. Ghi nhật ký thực thi và truy cập cho CloudWatch, bao gồm tùy chọn đặt báo thức.
  5. Tích hợp với các Dịch vụ AWS khác như AWS Lambda và AWS Kinesis.
  6. Tích hợp với AWS WAF được sử dụng để bảo vệ chống lại các hoạt động khai thác web và AWS X-Ray được sử dụng để hiểu và nhấn mạnh độ trễ hiệu suất.

Bắt đầu với Amazon API Gateway

Bây giờ chúng ta sẽ tạo một API không có máy chủ. Trong API không có máy chủ, chúng tôi có thể tập trung vào các ứng dụng của mình thay vì dành thời gian quản lý máy chủ. Nó hoạt động như thế này:

  • API được gọi bởi khách hàng
  • API gửi yêu cầu tới lambda
  • Lambda thực thi hàm lambda và gửi kết quả trở lại API
  • Sau khi nhận được kết quả từ lambda, API phản hồi cho khách hàng

api http

Bước 1 – Tạo hàm lambda

Hàm Lambda được sử dụng cho phần phụ trợ của API của chúng tôi. Lambda chỉ chạy mã khi cần thiết. Nó cũng tự động thay đổi quy mô từ một vài yêu cầu mỗi ngày đến hàng nghìn yêu cầu mỗi giây.

tạo hàm lambada

Tạo một hàm lambda:

1) Truy cập bảng điều khiển lambda tại https://console.aws.amazon.com/lambda

2) Bấm vào Tạo chức năng.

3) Nhập “my-function” làm tên hàm.

4) Chọn Python 3.9 làm thời gian chạy.

5) Đối với chức năng này, chúng tôi sẽ không cần thay đổi bất kỳ điều gì trong tab Quyền và Cài đặt nâng cao vì các quyền mặc định là đủ cho phần trình diễn này.

4) Bấm vào Tạo chức năng.

BƯỚC 2 – Tạo API HTTP

API Amazon

API HTTP cung cấp điểm cuối HTTP cho hàm Lambda của bạn. Nó hoạt động như thế này:

  • Khách hàng gửi truy vấn tới API HTTP
  • API kích hoạt lambda, sau đó thực thi hàm lambda
  • Lambda gửi kết quả tới API
  • API phản hồi ứng dụng khách bằng phản hồi nhận được

Các bước để tạo API HTTP

1) Truy cập bảng điều khiển API Gateway tại https://console.aws.amazon.com/apigateway

2) Nhấp vào Build để tạo API HTTP đầu tiên của bạn

3) Nhấp vào Thêm tích hợp để tích hợp

4) Chọn Lambda.

5) Nhập hàm lambda my-function.

6) Đối với tên API, hãy nhập my-http-api.

7) Nhấp vào Tiếp theo.

8) Xem lại lộ trình đã tạo cho bạn, sau đó chọn Tiếp theo.

9) Xem lại giai đoạn đã tạo cho bạn, sau đó chọn Tiếp theo.

10) Nhấp vào Tạo.

BƯỚC 3 Kiểm tra API của bạn –

Tiếp theo, chúng tôi cần kiểm tra API của mình để đảm bảo rằng nó đang hoạt động. Đối với điều này, chúng tôi sẽ sử dụng trình duyệt web để gọi API của chúng tôi.

API Amazon

Để kiểm tra API của chúng tôi

  1. Truy cập bảng điều khiển Cổng API tại https://console.aws.amazon.com/apigateway
  2. Chọn API của bạn.
  3. Ghi lại URL gọi API của bạn. (xem hình trên)
  4. Sao chép URL gọi API của bạn và dán vào trình duyệt web. Nối URL gọi và tên của hàm lambda để gọi hàm Lambda của bạn. Theo mặc định, bảng điều khiển Cổng API tạo tuyến đường sử dụng tên hàm Lambda của bạn là “my-function”. 

    URL đầy đủ sẽ giống như https://abcdef123.execute-api.us-east-2.amazonaws.com/my-function. Khi bạn tải URL này, trình duyệt của bạn sẽ gửi một yêu cầu GET tới API

  1. Bạn sẽ thấy dòng chữ “Xin chào từ Lambda!” trong trình duyệt của bạn. Do đó, phản hồi API của bạn đã được xác minh.

API Amazon

Kết luận

Chúng tôi đã tạo API HTTP đầu tiên của mình bằng cách sử dụng Amazon API Gateway và AWS Lambda. Hơn nữa, chúng ta có thể khám phá các trường hợp sử dụng khác nhau giống nhau và tương tự, chúng ta cũng có thể tạo API REST, cung cấp nhiều chức năng hơn.

Bạn có thích bài viết này không? Hãy cho chúng tôi biết suy nghĩ của bạn trong bình luận bên dưới. Ngoài ra, đừng quên đề cập đến bài báo nào bạn muốn đọc tiếp theo.

Dấu thời gian:

Thêm từ Phân tích Vidhya