오늘의 인기 글
최근 글
최근 댓글
Today
Total
05-08 00:00
관리 메뉴

우노

[AWS Lambda] S3 파일 다운로드 본문

AWS/Lambda

[AWS Lambda] S3 파일 다운로드

운호(Noah) 2021. 5. 18. 16:19

S3 접근 역할 생성

  • Lambda에서 S3에 접근하기 위해선 AmazonS3FullAcess 역할이 필요함.
    • IAM → 역할 → 역할 만들기 → 사용 사례 : Lambda → AmazonS3FullAccess 할당 → 역할명 입력 → 역할 생성

Lambda 생성

  • Lambda → 함수 생성 → 함수 이름 입력 → 런타임 python 3.8
  • 기본 실행 역할 변경 → 기존 역할 사용 → 생성한 S3 접근 역할 선택 → 함수 생성

Lambda 함수 작성

  • S3 파일 다운로드

      import boto3
    
      # 버킷명
      BUCKET_NAME = 'unho-spmm'  
      # 객체명
      OBJECT_NAME = 'model/sp_smdm_xgb.model' 
      # 파일을 저장할 위치, AWS Lambda에서는 오직 /tmp 에만 파일을 작성할 수 있다.
      FILE_NAME = '/tmp/sp_smdm_xgb.model' 
    
      s3 = boto3.client('s3')
      s3.download_file(BUCKET_NAME, OBJECT_NAME, FILE_NAME)
  • 다운로드 확인

      import os
    
      def lambda_handler(event, context):
    
              # 디렉토리 확인
          print(os.listdir("/tmp"))
    
          return {
              'statusCode': 200,
              'body': json.dumps('Hello from Lambda!')
          }
Comments