귀하의 질문을 이해할 수 있는지 확실하지 않지만 여기에 귀하의 질문을 어떻게 해석했는지에 대한 답변이 하나 있습니다. (내가 확실 해요 있지만, 너무 아마와 BOTO)만큼 당신이 당신의 버킷 이름 및 객체/키 이름을 알고, 당신은 boto3로 다음을 수행 할 수
#! /usr/bin/env python3
#
import boto3
from botocore.exceptions import ClientError
s3_bucket = 'myBucketName'
s3_key = 'myFileName' # Can be a nested key/file.
aws_profile = 'IAM-User-with-read-access-to-bucket-and-key'
aws_region = 'us-east-1'
aws_session = boto3.Session(profile_name = aws_profile)
s3_resource = aws_session.resource('s3', aws_region)
s3_object = s3_resource.Bucket(s3_bucket).Object(s3_key)
# In case nested key/file, get the leaf-name and use that as our local file name.
basename = s3_key.split('/')[-1].strip()
tmp_file = '/tmp/' + basename
try:
s3_object.download_file(tmp_file) # Not .download_fileobj()
except ClientError as e:
print("Received error: %s", e, exc_info=True)
print("e.response['Error']['Code']: %s", e.response['Error']['Code'])
으로 그런데 PUBLIC URL에서 파이썬 문을 추가하여 버킷 이름과 키/객체 이름을 파싱 할 수있다.
이 정보가 도움이되기를 바랍니다.