Kiến Thức Cơ Bản
IAM
IAM (Identity and Access Management) giúp quản lý các tài khoản người dùng phụ trong tài khoản AWS. Người dùng này có thể được phân loại vào các nhóm và cấp quyền tương ứng.
S3
S3 (Simple Storage Service) là dịch vụ lưu trữ trực tuyến, cho phép tạo các bucket (tương tự như phân vùng ổ cứng) và tải lên các tệp tin vào đó. Mỗi đối tượng (tệp tin) đều có địa chỉ URL riêng.
RDS
RDS (Relational Database Service) cung cấp cơ sở dữ liệu quan hệ trên đám mây.
CloudWatch
CloudWatch dùng để giám sát và xem các bản ghi log trực tuyến.
Lambda
Lambda cho phép tạo các hàm Lambda, tương tự như các API tùy chỉnh. Hàm Lambda có thể được viết bằng nhiều ngôn ngữ lập trình khác nhau.
Phát triển Lambda Function bằng Visual Studio
Cài Đặt Plugin
Để phát triển Lambda Function, cần cài đặt AWS Toolkit for Visual Studio 2017 và 2019 từ Visual Studio Marketplace.
Tạo Mới Lambda Function
Tạo một dự án mới, chọn Visual C# -> AWS Lambda -> AWS Lambda Project (.NET Core - C#). Tiếp theo, trong hộp thoại New AWS Lambda C# Project, chọn Empty Function và nhấn Finish để tạo hàm Lambda rỗng.
using Amazon.Lambda.Core;
[assembly: LambdaSerializer(typeof(Amazon.Lambda.Serialization.Json.JsonSerializer))]
namespace MyLambdaApp
{
public class Handler
{
public string ProcessInput(string input, ILambdaContext context)
{
return input.ToUpper();
}
}
}
Hàm Xử Lý
Hàm ProcessInput là phần chính của Lambda Function, mặc định nhận và trả về chuỗi. Loại đầu vào và đầu ra có thể được thay đổi. Thông tin được ghi bằng Console.WriteLine sẽ được lưu trong CloudWatch Logs.
public void ProcessInput()
public async Task<string> ProcessInput(S3Event s3Event)
{
await ...;
return "...";
}
Quyền Hạn Phát Triển
Để tải lên Lambda Function, cần có quyền hạn phù hợp. Cần tạo một IAM User có quyền truy cập vào tài nguyên. Sau khi tạo thành công, sẽ có thể tải xuống file CSV chứa thông tin khóa truy cập.
Phát Triển Lambda Function
Nhấn chuột phải vào dự án và chọn Publish to AWS Lambda.... Mở hộp thoại Upload Lambda Function. Lần đầu tiên cần chỉ định Profile và Region. Cấu hình Profile bao gồm:
- Profile Name: Tên tùy chọn, lần đầu tiên có thể đặt là default
- Access Key ID: Khóa truy cập ID, có thể nhập từ file CSV
- Secret Access Key: Khóa bí mật truy cập, có thể nhập từ file CSV
- Account Number: Số tài khoản
Cuối cùng, nhấn Finish để tải lên.
Thực Thi Lambda Function
Sau khi tải lên, mở cửa sổ thực thi hàm Lambda. Có thể chỉ định đầu vào dưới dạng chuỗi JSON hoặc chọn từ các yêu cầu mẫu. Cuối cùng, nhấn nút Invoke để chạy hàm.
Gỡ Lỗi Lambda Function
Chưa cần tải lên, vẫn có thể gỡ lỗi Lambda Function. Nhấn F5 để mở Mock Lambda Test Tool tại địa chỉ http://localhost:5050/ để thực thi và gỡ lỗi hàm.