amazon web services - AWS S3 - Able to Upload File from Local but not from Deployed (Access Denied) -
my problem cannot upload file deployed project s3 bucket, though able upload local host. expect url, remains same (headers, body etc.) when calling method.
i using boto3 interact s3 , using created iam users' credentials. also, deployment, using aws elastic beanstalk.
below code using uploading;
def put(self, bytes, data, folder, file_name): self.ext = file_name.split(".")[-1] if self.__is_audio_ext(self.ext): if folder == self.__voice_record: self.__create_voice_record(data, folder, file_name) elif folder == self.__voice_message: self.__create_voice_message(data, folder, file_name) else: return "response cannot constructed." self.s3_client.put_object(body=bytes, bucket=self.bucket_name, key=folder + "/" + file_name) return "successfully created @ url " \ + self.bucket_url + self.bucket_name + "/" + folder + "/" + file_name else: return "invalid file type" also, below how setup boto3
def __init__(self): self.ext = "" self.env = { "aws_access_key_id": settings.aws_access_key_id, "aws_secret_access_key": settings.aws_secret_access_key, "region_name": 'eu-central-1' } self.bucket_name = "********" self.session = session.session(region_name='eu-central-1') self.s3_client = self.session.client('s3', config=boto3.session.config(signature_version='s3v4')) self.bucket_url = "http://s3-eu-central-1.amazonaws.com/" when make put request server, error got:
an error occurred (accessdenied) when calling putobject operation: access denied"
note created iam user , give full permission of using s3 , sure using right credentials. can understood can upload file local.
this why believe problem somewhere between file in request , deployment project. not seem still right me. anyway, not listen me, pretty confused here.
please not hesitate asking me not understand. may skip clearing points.
i working on hours , not come proper solutions, glad help!
thanks!
Comments
Post a Comment