diff --git a/remotecv_aws/bucket.py b/remotecv_aws/bucket.py index f669957..e670458 100644 --- a/remotecv_aws/bucket.py +++ b/remotecv_aws/bucket.py @@ -4,34 +4,42 @@ # Use of this source code is governed by the MIT license that can be # found in the LICENSE file. -import botocore.session +from boto3.session import Session class Bucket(object): """ This handles all communication with AWS API """ _bucket = None - _region = None _local_cache = dict() - def __init__(self, bucket, region): + def __init__(self, bucket, region, accessKeyId, secretAccessKey): """ Constructor :param string bucket: The bucket name :param string region: The AWS API region to use - :return: The created bucket + :param string accessKeyId: The AWS access key ID for accessing the bucket + :param string secretAccessKey: The AWS secret access key for accessing the bucket + :return: The created AWS client for the bucket """ self._bucket = bucket - self._region = region - session = None or botocore.session.get_session() - self._client = session.create_client('s3', region_name=self._region, endpoint_url=None) + + session = Session( + aws_access_key_id=accessKeyId, + aws_secret_access_key=secretAccessKey, + region_name=region + ) + + self._client = session.resource('s3') def get(self, path): """ Returns object at given path :param string path: Path or 'key' to retrieve AWS object """ - file_path = self._client.get_object( Bucket=self._bucket, Key=path) + + file_path = self._client.Bucket(self._bucket).Object(path).get() + return file_path['Body'].read() diff --git a/remotecv_aws/loader.py b/remotecv_aws/loader.py old mode 100644 new mode 100755 index 99ed0e1..e9c2798 --- a/remotecv_aws/loader.py +++ b/remotecv_aws/loader.py @@ -14,6 +14,8 @@ def load_sync(path): """ bucket = os.environ.get('AWS_LOADER_BUCKET') region = os.environ.get('AWS_REGION', 'eu-west-1') - bucket_loader = Bucket(bucket, region) + accessKeyId = os.environ.get('AWS_ACCESS_KEY_ID') + secretAccessKey = os.environ.get('AWS_SECRET_KEY_ID') + bucket_loader = Bucket(bucket, region, accessKeyId, secretAccessKey) return bucket_loader.get(path) \ No newline at end of file diff --git a/setup.py b/setup.py index ca19a45..3f24950 100644 --- a/setup.py +++ b/setup.py @@ -4,7 +4,7 @@ setup( name='remotecv_aws', - version='0.1', + version='0.2', description='Remotecv AWS loader', author='Edu Heraiz @ APSL', author_email='gshark@gmail.com', @@ -12,7 +12,7 @@ include_package_data=True, packages=find_packages(), install_requires=[ - 'botocore>=1.2.0', + 'boto3', ], extras_require={ },