본문 바로가기

서버/aws

이게 왜 됨?

라즈베리파이에서 소켓통신을 사용하지 않고, 바로 S3에 연결이 가능하다.

 

됐어!!!!!!!!!

빨간 표시한 것이 라즈베리파이에서 S3로 바로 이미지 업로드한 것이다.

 

 

S3에 올린 데이터 리스트 터미널로 확인해보기.

수정 전 list.py
import boto3

aws_access_key_id={엑세스 키 ID}
aws_secret_access_key={비밀 엑세스 키}

bucket_name="detectpath"
region_name="ap-northeast-2"
prefix=""

s3=boto3.client('s3', aws_access_key_id, aws_secret_access_key)

response=s3.list_buckets()

obj_list=s3.list_objects(bucket_name,  Prefix=prefix)
contens_list=obj_list['Contents']

for content in contens_list:
print(content)

위의 코드를 사용하면 boto3가 서비스 모델을 로드하는 데 문제가 발생한다고 에러 발생. 이유는 정확히 알 수 없지만 매개 변수를 사용하여 전하는 방식 수정하면 S3에 있는 객체들이 나열된다.

 

수정 후 list.py
import boto3

ACCESS_KEY={엑세스 키 ID}
SCRET_KEY= {비밀 엑세스 키}

bucket_name = "detectpath"
region_name = "ap-northeast-2"
prefix = ""

s3 = boto3.client('s3', 
                  aws_access_key_id=ACCESS_KEY, 
                  aws_secret_access_key=SCRET_KEY)


response = s3.list_buckets()


obj_list = s3.list_objects(Bucket=bucket_name, Prefix=prefix)
contents_list = obj_list['Contents']


for content in contents_list:
    print(content)

수정 후 코드의 결과 화면은 아래와 같다.

 

 

참고 링크

python으로 AWS S3파일 읽고 쓰기

'서버 > aws' 카테고리의 다른 글

명예 버지니아인 된 썰 푼다.  (0) 2024.04.20
AWS 알고 사용하기  (0) 2024.04.20