- Có thể nhanh chóng dựng môi trường tương thích cho phát triển cục bộ và kiểm thử CI/CD mà không cần AWS thực
- Có thể thiết lập môi trường kiểm thử gọn nhẹ bằng một binary duy nhất, và cũng có thể chạy dựa trên Docker
- Hoạt động không cần xác thực, giúp giảm gánh nặng chuẩn bị thông tin xác thực AWS trong các pipeline tự động hóa
- Hỗ trợ rộng rãi 76 dịch vụ AWS, có thể xử lý các mảng chính như S3, SQS, DynamoDB, Lambda, IAM, CloudWatch, ECS, RDS
- Mặc định chạy trên endpoint tương thích AWS cục bộ tại
localhost:4566
- Khi cấu hình
KUMO_DATA_DIR, có thể lưu trữ dữ liệu tùy chọn bằng các tệp JSON theo từng dịch vụ; nếu không cấu hình thì sẽ chạy với bộ nhớ trong sạch hoàn toàn
- Ghi lại mọi yêu cầu cùng với các trường log có cấu trúc
- INFO: phương thức HTTP, đường dẫn, mã trạng thái, độ trễ, request ID, thông tin mục tiêu API, v.v.
- DEBUG: Ghi cả toàn bộ nội dung request body, hữu ích cho việc gỡ lỗi khi cần xem chính payload của yêu cầu
- Cung cấp các endpoint bổ sung cho kiểm thử dưới
/kumo/
- Không phải là một phần của API chính thức của AWS, nhưng hữu ích để xác minh hành vi của ứng dụng trong quá trình kiểm thử
-
Xem email đã gửi của SES v2
- Có thể xem danh sách email được gửi qua API
SendEmail của SES v2 bằng GET /kumo/ses/v2/sent-emails
- Phản hồi bao gồm MessageId, địa chỉ người gửi, người nhận, tiêu đề, nội dung, thời gian gửi, v.v.
-
Xem tin nhắn đã gửi của Pinpoint SMS Voice v2
- Có thể xem danh sách SMS đã gửi qua API
SendTextMessage bằng GET /kumo/pinpointsmsvoicev2/sent-messages
- Phản hồi bao gồm MessageId, số điện thoại người nhận, định danh người gửi, nội dung tin nhắn, thời gian gửi, v.v.
- Đặc biệt hữu ích để xác minh kết quả khi kiểm thử chức năng gửi email và tin nhắn mà không phụ thuộc vào dịch vụ bên ngoài
- MIT License
Dịch vụ được hỗ trợ
- Hỗ trợ tổng cộng 76 dịch vụ AWS
-
Lưu trữ
- Hỗ trợ S3, S3 Control, S3 Tables, DynamoDB, ElastiCache, MemoryDB, Glacier, EBS
-
Tính toán
- Hỗ trợ Lambda, Batch, EC2, Elastic Beanstalk
-
Container
-
Cơ sở dữ liệu
- Hỗ trợ RDS, Neptune, Redshift
-
Nhắn tin và tích hợp
- Hỗ trợ SQS, SNS, EventBridge, Kinesis, Firehose, MQ, Pipes, MSK
-
Bảo mật và định danh
- Hỗ trợ IAM, KMS, Secrets Manager, ACM, Cognito, Security Lake, STS, Macie
-
Giám sát và ghi log
- Hỗ trợ CloudWatch, CloudWatch Logs, X-Ray, CloudTrail
-
Mạng và phân phối nội dung
- Hỗ trợ CloudFront, Global Accelerator, API Gateway, Route 53, Route 53 Resolver, ELBv2, App Mesh, Location
-
Tích hợp ứng dụng
- Hỗ trợ Step Functions, AppSync, SES v2, Pinpoint SMS Voice v2, Scheduler, Amplify
-
Quản lý và cấu hình
- Hỗ trợ SSM, Config, CloudFormation, Organizations, Service Quotas, CodeConnections, Backup
-
Phân tích và ML
- Hỗ trợ Athena, Glue, Comprehend, Rekognition, SageMaker, Forecast, Data Exchange, Entity Resolution
-
Công cụ cho nhà phát triển
- Hỗ trợ CodeGuru Profiler, CodeGuru Reviewer
-
Dịch vụ khác
- Hỗ trợ Cost Explorer, DLM, Directory Service, EMR Serverless, FinSpace, GameLift, Resilience Hub
Ví dụ sử dụng
-
S3
- Trong client S3, đặt
BaseEndpoint thành http://localhost:4566 và bật UsePathStyle để kết nối với trình giả lập cục bộ
- Có thể tái hiện kiểm thử lưu trữ đối tượng mà không cần AWS thực thông qua luồng từ tạo bucket đến tải lên object
-
SQS
- Client SQS cũng dùng cùng endpoint cục bộ, với luồng tạo queue rồi gửi và nhận message
- Phù hợp để kiểm chứng logic nhắn tin bất đồng bộ trong kiểm thử tích hợp cục bộ
-
DynamoDB
- Có thể tái hiện quy trình NoSQL thông qua việc tạo bảng, định nghĩa key schema và lưu item
- Dễ kiểm tra logic truy cập dữ liệu của ứng dụng mà không cần tài nguyên đám mây thực
-
Secrets Manager
- Bao gồm ví dụ tạo và truy vấn giá trị bí mật, nên cũng có thể kiểm thử tích hợp kho lưu trữ secret
- Hữu ích để kiểm chứng ứng dụng xử lý thông tin nhạy cảm ở dạng JSON trên môi trường cục bộ
Chưa có bình luận nào.