파이썬에서 AWS S3 객체 읽어오기 (엑셀파일)

KangMyungJoe·2023년 10월 3일
0

tips

목록 보기
4/4
post-thumbnail

AWS S3에 존재하는 엑셀 파일을 로컬 환경 python 코드에서 읽어오기

AWS S3 Bucket 권한 설정

AWS S3 Bucket의 경우 Public 접근이 가능하지 않도록하는 설정이 기본 값으로 사용된다.

이를 해제하기 위해 버킷 설정에서 퍼블릭 액세스 차단 편집(버킷 설정) 부분의 모든 퍼블릭 액세스 차단을 해제한다.

이후, 버킷 정책 부분에서 아래의 json 내용을 복사해서 붙여넣는다.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "PublicRead",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::bucketname/*"
        }
    ]
}

위 내용은 bucketname에 해당하는 모든 파일에 대해 읽기 작업을 모두에게 허락함을 의미한다.

bucketname 부분에 본인의 bucket 이름을 넣으면 된다.


Python 코드

import pandas as pd

try:
    df = pd.read_excel('file 주소')
    print(df)

except Exception as e:
    print(f"Error occurred while reading file from S3: {e}")

코드는 매우 간단하다.

위의 권한 설정이 완료된 경우, pandas 라이브러리를 불러온 후, read_excel() 함수를 이용해 객체를 불러올 수 있다.

profile
소통을 잘하는 개발자가 되고 싶습니다.

0개의 댓글