• 프로필사진
    Home
  • Portfolio
  • github [#ffffff] Created with Sketch.
    Github
  • linkedin
    Linkedin
  • Setting
  • Posting
    • 분류 전체보기 (105)
      • Aws (96)
      • Backend (3)
      • Extension (1)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • ApiGW & Lambda에서 브라우저 분류하기
        2024년 12월 24일
        • wngnl05
        • 작성자
        • 2024.12.24.:07

        Lambda Function URL Code

        더보기
        import json
        
        def lambda_handler(event, context):
            print(event)
            try:
                userAgent = event['headers']['user-agent'].lower()
        
                if 'edg' in userAgent:
                    browser = 'This is Edge'
                elif 'trident' in userAgent or 'msie' in userAgent:
                    browser = 'This is Internet Explorer'
                elif 'whale' in userAgent:
                    browser = 'This is Whale'
                elif 'firefox' in userAgent:
                    browser = 'This is Firefox'
                elif 'chrome' in userAgent:
                    browser = 'This is Chrome'
                else:
                    browser = 'Other Browser'
        
                return {
                    'statusCode': 200,
                    'body': json.dumps({'browser': browser})
                }
                
            except KeyError:
                return {
                    'statusCode': 400,
                    'body': json.dumps('User-Agent header is missing')
                }

        ApiGW Code

        더보기

        ApiGateway - "통합 요청 설정" - "Lambda 프록시 통합"을 True로 변경 후

        스테이지를 배포해주세요.

        import json
        
        def lambda_handler(event, context):
            print(event)
            try:
                # 이벤트에서 사용자 에이전트 헤더를 가져옴
                userAgent = event['headers']['User-Agent'].lower()
        
                # 사용자 에이전트를 기반으로 브라우저 식별
                if 'edg' in userAgent:
                    browser = 'This is Edge'
                elif 'trident' in userAgent or 'msie' in userAgent:
                    browser = 'This is Internet Explorer'
                elif 'whale' in userAgent:
                    browser = 'This is Whale'
                elif 'firefox' in userAgent:
                    browser = 'This is Firefox'
                elif 'chrome' in userAgent:
                    browser = 'This is Chrome'
                else:
                    browser = 'Other Browser'
        
                # 응답 반환
                return {
                    'statusCode': 200,
                    'body': json.dumps({'browser': browser})
                }
                
            except KeyError:
                # 사용자 에이전트 헤더가 없을 경우 에러 응답 반환
                return {
                    'statusCode': 400,
                    'body': json.dumps('User-Agent header is missing')
                }
        저작자표시 비영리 변경금지 (새창열림)

        'Aws' 카테고리의 다른 글

        CloudWatch LogGroup 로그 Lambda에서 읽기  (0) 2024.12.27
        Lambda에서 Lambda 호출  (0) 2024.12.27
        EC2 접속 시 CloudWatch LogGroup에 USER 로그 작성하기  (0) 2024.12.24
        EKS Fluent-Bit to OpenSearch  (0) 2024.12.24
        EKS Fluent-Bit to CloudWatch 로그 그룹  (0) 2024.12.24
        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바