728x90
AWS S3 사용법과 python code로 업로드하는 방법을 알아보도록 하겠다.
s3 버킷을 새로 만든다.
그 다음 다음과 같이 코드를 작성한다. pip install
import boto3
from botocore.exceptions import NoCredentialsError
ACCESS_KEY = 'xxxxxxxxxxxxxxxxxxxx'
SECRET_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
def upload_to_aws(local_file, bucket, s3_file):
s3 = boto3.client('s3', aws_access_key_id=ACCESS_KEY, aws_secret_access_key=SECRET_KEY)
try:
print(s3.upload_file(local_file, bucket, s3_file))
return True
except FileNotFoundError:
return False
except NoCredentialsError:
return False
uploaded = upload_to_aws('file_name', 'bucket_name', 's3_file_name')
access_key와 secret_key는 IAM의 액세스 키 발급을 통해 받을 수 있다.
코드를 실행시키면 upload는 되지만 public 액세스가 안된다. 즉 파일을 올렸는데 다른 사람이 그 파일에 접근 할 수 없다.
따라서 upload 시 자동 public 액세스가 되도록 설정을 해주면 좋다.
설정하는 방법은 간단하다. s3에 들어가서 권한 -> 버킷정책에 들어간다. 그 다음 다음과 같이 입력 후 저장을 한다.
{
"Version": "2020-09-09",
"Statement": [
{
"Sid": "AddPerm",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::bucket-name/*"
}
]
}
저장을 하면 자동적으로 업로드가 될 시, 퍼블릭 액세스가 가능해진다.
이번 글에서는 #AWS S3생성 및 사용법과 #Python으로 S3 upload하는 방법에 대해 알아보았다.
728x90
'Python' 카테고리의 다른 글
[Python] Selnium 화면 캡쳐하기 (0) | 2021.02.15 |
---|---|
쿠팡 Wing Login with python requests (0) | 2020.07.23 |