Sử dụng CDK, Build CRUD API với API Gateway, Lambda and DynamoDB
Phong Nguyen
2024.04.09
Bài lab này sẽ hướng dẫn bạn sử dụng source code aws-cdk-examples, build CRUD API với các thành phần API gateway, Lambda, DynamoDB sử dụng CDK (AWS Cloud Development Kit).
Lab Details
- Duration: 15 minutes
- AWS Region: US East (N. Virginia) us-east-1
Architecture Diagram
Task Details
- Create development environment.
- Build app
- Deploy
- Test
- Clean up
1. Chuẩn bị môi trường
Chúng ta có thể thực thi CDK ở một trong 2 môi trường sau
- Sử dụng AWS Cloud9 development environment, cách thực hiện xem tại đây
- Môi trường local. Yêu cầu cài đặt:
- VS Code or git bash
- NodeJS
- Cài đặt cdk:
npm install -g aws-cdk
2. Build app
Clone source code Sample aws-cdk-examples
git clone https://github.com/aws-samples/aws-cdk-examples.git
Di chuyển vào thư mục project
cd aws-cdk-examples/typescript/api-cors-lambda-crud-dynamodb/
Thực hiện build project
npm install npm run build
3. Deploy
- Đầu tiên chúng ta sẽ run lệnh
cdk bootstrap
để deploys the CDK Toolkit staging stack, tham khảo bootstrapping. Lệnh này chúng ta chỉ chạy một lần duy nhất. - Run
cdk deploy
. This will deploy / redeploy your Stack to your AWS Account. - Sau khi deploy hoàn thành, kiểm tra các resource được tạo
Cloudformation Stack
API Gateway
Lambda
DynamoDB
4. Test hoạt động
Lấy thông tin API URL ở giao diện API gateway như trên hình
- Create Item
curl -X POST '<API Gateway URL>/items/' -H 'Content-Type:application/json' -d '{"id": "002","name": "Cloud Mentor Pro"}'
- getting all items
curl -X GET '<API Gateway URL>/items/' -H 'Content-Type:application/json'
- getting an item
curl -X GET '<API Gateway URL>/items/<itemId>' -H 'Content-Type:application/json'
- updating an item
curl -X PATCH '<API Gateway URL>/items/<itemId>' -H 'Content-Type:application/json' -d '{"id": "Phong Mentor"}'
- deleting an item
curl -X DELETE '<API Gateway URL>/items/<itemId>' -H 'Content-Type:application/json'
5. Clean up
cdk destroy