brunch

트라블슈팅-오브젝트 스토리지에 파일 올리기-오류 해결

by Master Seo

# Python용 AWS SDK (Boto3) 사용법 알아보자.



1

현황

S3 버킷은 잘 만들어진다.

문제점 = 가이드 대로 했으나 파일 업로드가 안된다.


https://guide.ncloud-docs.com/docs/storage-storage-8-2



2

문제점

버킷은 만들어지나 파일이 안올라 간다.


Boto3 버전 호환성 문제.

Boto3 예전 버전으로 사용해야 한다.


[root@target1 ~]# python3 upload.py

Traceback (most recent call last):

File "upload.py", line 19, in <module>

s3.put_object(Bucket=bucket_name, Key=object_name)

File "/usr/local/lib/python3.8/site-packages/botocore/client.py", line 570, in _api_call

return self._make_api_call(operation_name, kwargs)

File "/usr/local/lib/python3.8/site-packages/botocore/context.py", line 124, in wrapper

return func(*args, **kwargs)

File "/usr/local/lib/python3.8/site-packages/botocore/client.py", line 1031, in _make_api_call

raise error_class(parsed_response, operation_name)

botocore.exceptions.ClientError: An error occurred (AccessDenied) when calling the PutObject operation: Access Denied




3

개선 방향

Boto 예전 버전으로 재설치


pip install boto3==1.6.19




4

정리

Boto3 버전과 호환성 문제

Boto3 버전만 맞추면 된다.

pip install boto3==1.6.19



yum install pip



python3 upload.py

FileNotFoundError: [Errno 2] No such file or directory: '/tmp/test.txt'


[root@book1 ~]# cd /tmp

[root@book1 tmp]# touch test.txt


[root@book1 tmp]# cd

[root@book1 ~]# python3 up.py




잘 되는 버전


[root@was2 ~]# python3 --version

Python 3.6.8



[root@was2 ~]# pip3 show boto3

Name: boto3

Version: 1.6.19

Summary: The AWS SDK for Python

Home-page: https://github.com/boto/boto3

Author: Amazon Web Services

Author-email: UNKNOWN

License: Apache License 2.0

Location: /usr/local/lib/python3.6/site-packages

Requires: botocore, s3transfer, jmespath

[root@was2 ~]#

[root@was2 ~]#





keyword
매거진의 이전글네이버 클라우드에서 개발 환경 네트워크 구축법-2025