Làm cách nào để triển khai API Serverless Node.js bằng Cổng API AWS?

Lam Cach Nao De Trien Khai Api Serverless Node Js Bang Cong Api Aws



AWS là nền tảng điện toán đám mây với danh mục dịch vụ đa dạng. Từ lưu trữ dữ liệu đến thao tác dữ liệu và phân tích dữ liệu, các dịch vụ này bao gồm các khía cạnh khác nhau của Ngành CNTT. Hiện nay, AWS cũng đang hỗ trợ một số ngôn ngữ phát triển và môi trường thời gian chạy. Một trong những ví dụ phổ biến nhất về các dịch vụ như vậy là AWS Lambda

AWS Lambda là dịch vụ điện toán theo hướng sự kiện của AWS cho phép người dùng thực thi mã của họ mà không cần cung cấp hay quản lý máy chủ. Lambda xử lý hiệu quả tất cả cơ sở hạ tầng điện toán và quản trị tài nguyên. Có nhiều ngôn ngữ phát triển được dịch vụ Lambda hỗ trợ, ví dụ: Go, Ruby, Python, v.v. Lambda cũng được coi là một dịch vụ tiết kiệm chi phí vì nó chỉ phát sinh phí cho thời gian tính toán mà người dùng sử dụng. Bạn không phải trả thêm phí khi mã được cung cấp cho hàm Lambda không ở trạng thái thực thi.

Đọc thêm : Bắt đầu với AWS Lambda







Phác thảo nhanh



Bài viết này minh họa các khía cạnh sau:



Khung máy chủ không có máy chủ là gì?

Thuật ngữ “Không có máy chủ” đề cập đến thuật ngữ trong đó việc cung cấp và bảo trì máy chủ được quản lý bởi phần mềm bên thứ ba hoặc nhà cung cấp đám mây. Các khung như vậy cho phép người dùng tập trung vào logic nghiệp vụ cốt lõi thay vì bảo trì máy chủ. Ngày nay, Serverless Framework đã thu hút sự chú ý của những gã khổng lồ công nghệ và đang mang lại những lợi ích to lớn.





Hơn nữa, đây còn là giải pháp tiết kiệm chi phí vì máy chủ được cung cấp và quản lý bởi nhà cung cấp dịch vụ. Trong AWS, Lambda được coi là dịch vụ Serverless vì nó chỉ yêu cầu mã từ người dùng để hoạt động. Với AWS Lambda, người dùng có thể dễ dàng xây dựng và mở rộng quy mô ứng dụng trong các môi trường thời gian chạy khác nhau theo cách tiết kiệm chi phí.

API là gì?

API là từ viết tắt của “Giao diện lập trình ứng dụng”. Phần giới thiệu chính thức của API bao gồm việc nó là một tập hợp các định nghĩa và giao thức cho phép hai thành phần của phần mềm hoặc ứng dụng trao đổi thông tin hữu ích để liên lạc.



Ứng dụng API thời gian thực là sử dụng trình duyệt web. Bất cứ khi nào người dùng tìm kiếm một trang web, yêu cầu sẽ được gửi đến máy chủ nơi trang web đó cư trú. Giao tiếp giữa máy chủ và trình duyệt này xảy ra thông qua API.

Cổng API là gì?

API Gateway là dịch vụ được quản lý hoàn toàn của AWS, tương tự như một công cụ Quản lý API. Bằng cách sử dụng cổng API, nhà phát triển có thể dễ dàng tạo, quản lý, xuất bản và mở rộng quy mô các API khác nhau. Tương tự, cổng API cho phép người dùng giao tiếp với các vi dịch vụ khác đang chạy ở phía máy chủ. Nó lấy đầu vào từ người dùng, xử lý nó và sau đó chuyển nó đến các vi dịch vụ thích hợp. Sau đó, các vi dịch vụ này sẽ xử lý đầu vào này để tạo đầu ra.

Các loại API khác nhau trong API Gateway là gì?

Cổng API cung cấp dịch vụ quản lý cho ba loại API khác nhau như được đề cập bên dưới:

API HTTP: API này được sử dụng rộng rãi trong phát triển web, chỉ giới hạn ở phía máy khách. Các API như vậy có thể được phân loại là riêng tư hoặc công khai.

API nghỉ ngơi: Thuật ngữ REST là viết tắt của “API chuyển trạng thái đại diện”. Đây là một trong những cách tiếp cận được sử dụng phổ biến nhất để tách biệt frontend và backend của ứng dụng. API REST có bản chất không trạng thái và linh hoạt trong việc phát triển và triển khai.

API WebSocket: Các API như vậy được sử dụng khi có liên quan đến giao tiếp ổ cắm. API WebSocket cho phép người dùng tạo các ổ cắm để liên lạc song công hoàn toàn hai chiều trong phát triển Web. Các API này được viết bằng JavaScript.

Làm cách nào để triển khai API Serverless Node.js bằng API Gateway?

Để triển khai API Serverless Node.js với Cổng API, chúng tôi sẽ sử dụng nhóm S3, Hàm Lambda và cổng API. Nhóm S3 sẽ chứa mã của ứng dụng. URI duy nhất của vùng lưu trữ sẽ được cung cấp cho Hàm Lambda dưới dạng trình xử lý. Cổng API sẽ được thêm làm trình kích hoạt cho Hàm Lambda. Cổng này sẽ xử lý dữ liệu đầu vào của người dùng và cung cấp đầu ra thích hợp.

Dưới đây là các bước để triển khai API Serverless Node.js bằng cổng API:

Bước 1: Tạo hàm Lambda

Để tạo Hàm Lambda, hãy truy cập vào “Lambda” dịch vụ từ Bảng điều khiển quản lý AWS :

Tìm hiểu thêm: “Cách tạo hàm Lambda với Python Runtime” .

Trên giao diện Hàm Lambda, nhấp vào “Tạo chức năng” cái nút:

Từ giao diện Tạo hàm, chọn “Tác giả từ đầu” lựa chọn:

Tiếp theo là 'Thông tin cơ bản' phần. Trong phần này, hãy cung cấp tên cho hàm Lambda trong 'Tên chức năng' :

Bấm vào “Tạo chức năng” nút nằm ở dưới cùng của giao diện:

Ở đây, chức năng đã được tạo thành công :

Bước 2: Tạo Cổng API

Bước tiếp theo là tạo Cổng API. Với mục đích này, hãy truy cập vào “Cổng API” dịch vụ từ Bảng điều khiển quản lý AWS :

Cuộn xuống giao diện API Gateway và nhấp vào 'Xây dựng' tùy chọn từ API REST khối:

trên “Tạo API” giao diện, lựa chọn những điều sau đây tùy chọn được đánh dấu . Khi chúng tôi đang xây dựng một API nghỉ ngơi từ đầu, chúng tôi đã chọn các tùy chọn sau:

bên trong Cài đặt trên cùng một giao diện, hãy cung cấp tên cho API trong phần “Tên API” trương Văn bản:

Bấm vào “Tạo API” cái nút:

Sau khi tạo API thành công, nhấp vào “Hành động” và chọn các tùy chọn được đánh dấu sau để định cấu hình tài nguyên và phương thức của API:

Tiếp theo, cung cấp tên của API trong 'Tên tài nguyên' trương Văn bản. bên trong Đường dẫn tài nguyên, người dùng có thể chỉ định đường dẫn của tài nguyên. Đường dẫn được chỉ định này sau đó sẽ được kết hợp với các phương thức ban đầu để xử lý các yêu cầu. Nhấn vào “Tạo tài nguyên” cái nút:

Sau khi tạo Tài nguyên, nhấp vào “Hành động” tab một lần nữa và chọn “Tạo tài nguyên” phương thức để xác định các phương thức và tài nguyên bên trong API:

Cung cấp tên của 'Tên tài nguyên' trường và nhấp vào “Tạo tài nguyên” cái nút:

Sau khi định cấu hình các tài nguyên lồng nhau, hãy nhấn vào “Hành động” nút và bấm vào “Tạo phương pháp” nút từ trình đơn thả xuống :

Chúng tôi muốn kiểm tra hoạt động của API bằng cách sử dụng NHẬN yêu cầu trong Node.js. Vì vậy, trong giao diện Methods chúng ta sẽ chọn 'LẤY' lời yêu cầu:

Sau khi chọn NHẬN yêu cầu , bấm vào 'kiểm tra' nút để xác nhận thay đổi:

trên 'LẤY' giao diện phương thức, cung cấp tên cho hàm Lambda mà chúng ta đã tạo trước đó và thực hiện các cấu hình sau. Sau đó nhấn 'Cứu' nút để xác nhận thay đổi:

Sau khi nhấp vào 'Cứu' nút, hộp thoại sau sẽ xuất hiện. Nhấn vào 'ĐƯỢC RỒI' cái nút:

Tương tự, tạo thêm một phương thức bằng cách làm theo các bước tương tự như chúng ta đã làm với phương thức đầu tiên. Người dùng có thể tạo nhiều phương thức trong API dựa trên yêu cầu của họ. Sau khi định cấu hình tất cả các Phương thức, hãy nhấp vào “Hành động” tab và chọn “Triển khai API” lựa chọn:

Điều này sẽ hiển thị hộp thoại sau. bên trong “Giai đoạn triển khai” cung cấp các chi tiết. Tiếp theo là 'Tên giai đoạn' trường để chỉ định tên Giai đoạn. Bấm vào 'Triển khai' cái nút:

Các API đã được đã tạo thành công :

Cuộn xuống giao diện và nhấp chuột vào 'Lưu thay đổi' cái nút:

Bước 3: Tạo nhóm S3

Trong bước này, chúng ta sẽ tạo một thùng để lưu trữ mã. Mã này sẽ được liên kết với hàm Lambda và API sẽ được sử dụng để truy xuất các thuộc tính được định cấu hình bên trong mã.

Để tạo nhóm S3, hãy tìm kiếm 'S3' dịch vụ trong thanh tìm kiếm của Bảng điều khiển quản lý AWS. Nhấn vào tên dịch vụ từ kết quả được hiển thị:

Trên bảng điều khiển S3, nhấp vào “Tạo thùng” tùy chọn để bắt đầu quá trình:

bên trong Cấu hình chung phần, hãy cung cấp mã định danh duy nhất trên toàn cầu cho nhóm trong trường văn bản được đánh dấu :

Bằng cách giữ cài đặt BẰNG mặc định , bấm vào “Tạo thùng” nút ở cuối giao diện:

Điều này sẽ tạo ra thùng. Bây giờ, để tải mã lên vùng lưu trữ S3, chúng tôi đã cung cấp một mã Node JS đơn giản TRONG GitHub kho. Tải mã xuống trong định dạng zip :

Sau khi tải xuống Tệp nén , đi đến Trang tổng quan S3 và chọn thùng. Trên giao diện tiếp theo nhấn vào 'Tải lên' nút và tải lên các Tệp nén vào xô:

Tìm hiểu thêm: Làm cách nào để tải lên các đối tượng trong Amazon Simple Storage Service?

Chạm vào 'Thêm các tập tin' nút nằm ở bên phải giao diện, gần với nút 'Thêm thư mục' cái nút. Sau khi thêm Tệp nén vào xô, đánh 'Tải lên' nút ở cuối giao diện:

Các tài liệu đã được Đã tải lên thành công :

Sau đó đang tải lên tập tin vào nhóm, hãy nhấp vào Sự vật để xem thuộc tính:

Bấm vào “Sao chép URI S3” cái nút. Điều này sẽ được thêm vào hàm Lambda:

đi đến Bảng điều khiển Lambda và chọn hàm Lambda:

Cuộn xuống 'Mã số' phần và chạm vào “Tải lên từ” cái nút. Từ trình đơn thả xuống, bấm vào “Vị trí Amazon S3” lựa chọn:

Dán “URI S3” trong hộp thoại hiển thị và nhấp vào 'Cứu' cái nút:

trên Giao diện hàm Lambda , cuộn xuống “Cài đặt thời gian chạy” và bấm vào 'Biên tập' cái nút:

bên trong “Người xử lý” trường, hãy chỉnh sửa các cấu hình sau. Các “nodeapi” là tên thư mục được tải lên nhóm S3 và index.js là điểm vào. Sau đó bấm vào 'Cứu' cái nút:

Bước 4: Xác minh

đi đến Cổng API bảng điều khiển dịch vụ và nhấp vào “API” tên:

Sau khi chọn API, nhấp vào “Giai đoạn” từ thanh bên rồi nhấp vào giai đoạn triển khai, ví dụ: giai đoạn đầu:

Sao chép URL và khởi động Người phát thơ công cụ trên máy cục bộ:

Tạo một NHẬN yêu cầu bên trong Người phát thơ và dán URL vào đó. Sau khi nhấp vào 'Gửi' nút, chúng tôi thu được kết quả sau:

Đó là tất cả từ hướng dẫn này.

Phần kết luận

Để triển khai API Node.js bằng cổng API, hãy tải mã lên bộ chứa S3, thêm mã đó làm trình xử lý và cổng API làm trình kích hoạt cho Hàm Lambda. Yêu cầu được bắt đầu bằng Người đưa thư sẽ được gửi đến Hàm Lambda thông qua API. Để tạo API, hãy sử dụng dịch vụ cổng API của AWS. Vùng lưu trữ S3 đã được thêm làm trình xử lý cho Hàm Lambda sẽ cung cấp mã để xử lý yêu cầu. Đầu ra sẽ được hiển thị trên bảng điều khiển của Người đưa thư. Bài viết này là hướng dẫn từng bước để triển khai API Node.js bằng cổng API AWS.