Gỡ lỗi với CloudWatch logs

  1. Sao chép giá trị của Distribution tại tab Outputs của stack và dán vào trình duyệt của bạn. Sau đó ấn Sign up

CreateRepository

  • Nhập thông tin của bạn để đăng ký tài khoản và ấn Sign up

CreateRepository

  1. Mở email mà bạn đã đăng ký để lấy mã xác minh.
    • Nhập mã xác minh vào ứng dụng.
    • Ấn Submit

CreateRepository

  1. Nhập thông tin tài khoản bạn đã đăng ký và ấn Sign in

CreateRepository

  1. Ấn Upload

CreateRepository

  1. Ấn Add files
    • Chọn các tệp mà bạn muốn tải lên
    • Nhập tag cho các tệp hoặc bỏ qua
    • Ấn Upload

CreateRepository

  • Bạn đã tải các tệp lên thành công:

CreateRepository

  1. Mở bảng điều khiển của AWS Lambda

  2. Chọn Funtions ở menu phía bên trái và chọn hàm upload_docs. CreateRepository

  3. Chọn tab Monitor và ấn View CloudWatch logs

CreateRepository

  1. Chọn log mới nhất

CreateRepository

  • Bạn sẽ thấy hàm chạy bình thường và không có bất kỳ lỗi nào. Tiếp theo chúng ta sẽ sửa code làm hàm chạy bị lỗi.

CreateRepository

  1. Sửa code như sau:
    try:
        table.put_item(Item = item)
    except Exception as e:
        print(e)

Chúng ta thêm try-except để bắt lỗi khi không kết nối tới DynamoDB được. Tiếp theo ấn Deploy.

CreateRepository

  • Chọn tab Configuration và chọn Environment variables ở menu phía bên trái
  • Ấn Edit

CreateRepository

  • Đổi tên bảng thành tên khác
  • Ấn Save

CreateRepository

  1. Mở bảng điều khiển của Amazon API Gateway
  2. Chọn Serverless - FCJ Document Management System
  3. Chọn method POST và ấn Test

CreateRepository

  1. Thêm đoạn json sau vào Request Body và ấn Test
{
    "user_id": "abcd1234",
    "file": "dynamoDB.json",
    "folder": "",
    "identityId": "123456cvbn",
    "modified": "13-03-2023",
    "size": 1024,
    "type": "json",
    "tag": "aws, serverless"
}

CreateRepository

  1. Kết quả trả về lỗi

CreateRepository

  1. Trở lại với bảng điều khiển của CloudWatch log để kiểm tra log
  2. Lỗi hiển thị là AccessDeniedException, khác với lỗi được trả về cho API Gateway

CreateRepository

  1. Nếu bạn muốn lỗi trả về giống với lỗi được ghi trong log thì bạn thêm đoạn code sau vào hàm upload_docs
        return {
            "statusCode": 400,
            "headers": {
                "Content-Type": "application/json",
                "Access-Control-Allow-Origin": "*",
                "Access-Control-Allow-Methods": "GET,PUT,POST,DELETE, OPTIONS",
                "Access-Control-Allow-Headers": "Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method,X-Access-Token,XKey,Authorization"
            },
            "body": str(e)
            }
  • Sau đó ấn Deploy

CreateRepository

  1. Quay lại với API Gateway, ấn Test. Bạn sẽ thấy lỗi được trả về.

CreateRepository