Example #1
0
    def put(self, path, data, metadata={}, reduced_redundancy=False, encrypt_key=False, callback=None):
        """
        Stores data at given path
        :param string path: Path or 'key' for created/updated object
        :param bytes data: Data to write
        :param dict metadata: Metadata to store with this data
        :param bool reduced_redundancy: Whether to reduce storage redundancy or not?
        :param bool encrypt_key: Encrypt data?
        :param callable callback: Called function once done
        """
        storage_class = 'REDUCED_REDUNDANCY' if reduced_redundancy else 'STANDARD'

        args = dict(
            callback=callback,
            Bucket=self._bucket,
            Key=self._clean_key(path),
            Body=data,
            Metadata=metadata,
            StorageClass=storage_class,
        )

        if encrypt_key:
            args['ServerSideEncryption'] = 'AES256'

        my_session = session_handler.get_session(self._endpoint is not None)
        session = Botocore(service='s3', region_name=self._region,
                           operation='PutObject', session=my_session,
                           endpoint_url=self._endpoint)

        session.call(**args)
Example #2
0
    def put(self, path, data, metadata={}, reduced_redundancy=False, encrypt_key=False, callback=None):
        """
        Stores data at given path
        :param string path: Path or 'key' for created/updated object
        :param bytes data: Data to write
        :param dict metadata: Metadata to store with this data
        :param bool reduced_redundancy: Whether to reduce storage redundancy or not?
        :param bool encrypt_key: Encrypt data?
        :param callable callback: Called function once done
        """
        storage_class = 'REDUCED_REDUNDANCY' if reduced_redundancy else 'STANDARD'

        args = dict(
            callback=callback,
            Bucket=self._bucket,
            Key=self._clean_key(path),
            Body=data,
            Metadata=metadata,
            StorageClass=storage_class,
        )

        if encrypt_key:
            args['ServerSideEncryption'] = 'AES256'

        my_session = session_handler.get_session(self._endpoint is not None)
        session = Botocore(service='s3', region_name=self._region,
                           operation='PutObject', session=my_session,
                           endpoint_url=self._endpoint)

        session.call(**args)
Example #3
0
 def delete(self, path, callback=None):
     """
     Deletes key at given path
     :param string path: Path or 'key' to delete
     :param callable callback: Called function once done
     """
     my_session = session_handler.get_session()
     session = Botocore(service="s3", region_name=self._region, operation="DeleteObject", session=my_session)
     session.call(callback=callback, Bucket=self._bucket, Key=self._clean_key(path))
Example #4
0
 def get(self, path, callback=None):
     """
     Returns object at given path
     :param string path: Path or 'key' to retrieve AWS object
     :param callable callback: Callback function for once the retrieval is done
     """
     my_session = session_handler.get_session()
     session = Botocore(service="s3", region_name=self._region, operation="GetObject", session=my_session)
     session.call(callback=callback, Bucket=self._bucket, Key=self._clean_key(path))
Example #5
0
 def delete(self, path, callback=None):
     """
     Deletes key at given path
     :param string path: Path or 'key' to delete
     :param callable callback: Called function once done
     """
     my_session = session_handler.get_session(self._endpoint is not None)
     session = Botocore(service='s3', region_name=self._region,
                        operation='DeleteObject', session=my_session,
                        endpoint_url=self._endpoint)
     session.call(
         callback=callback,
         Bucket=self._bucket,
         Key=self._clean_key(path),
     )
Example #6
0
 def get(self, path, callback=None):
     """
     Returns object at given path
     :param string path: Path or 'key' to retrieve AWS object
     :param callable callback: Callback function for once the retrieval is done
     """
     my_session = session_handler.get_session(self._endpoint is not None)
     session = Botocore(service='s3', region_name=self._region,
                        operation='GetObject', session=my_session,
                        endpoint_url=self._endpoint)
     session.call(
         callback=callback,
         Bucket=self._bucket,
         Key=self._clean_key(path),
     )
Example #7
0
 def delete(self, path, callback=None):
     """
     Deletes key at given path
     :param string path: Path or 'key' to delete
     :param callable callback: Called function once done
     """
     my_session = session_handler.get_session(self._endpoint is not None)
     session = Botocore(service='s3', region_name=self._region,
                        operation='DeleteObject', session=my_session,
                        endpoint_url=self._endpoint)
     session.call(
         callback=callback,
         Bucket=self._bucket,
         Key=self._clean_key(path),
     )
Example #8
0
from tornado.ioloop import IOLoop
from tornado_botocore import Botocore


def on_response(response):
    http_response, response_data = response
    print response_data


if __name__ == '__main__':
    ec2 = Botocore(
        service='ec2', operation='DescribeInstances',
        region_name='us-east-1')
    ec2.call(callback=on_response)
    IOLoop.instance().start()
Example #9
0
from __future__ import print_function

from tornado.ioloop import IOLoop
from tornado_botocore import Botocore

ioloop = IOLoop.instance()


def on_response(response):
    for reservation in response['Reservations']:
        for instance in reservation['Instances']:
            print(instance['InstanceId'])
    # i-279e5123
    # ...
    ioloop.stop()


if __name__ == '__main__':
    ec2 = Botocore(service='ec2',
                   operation='DescribeInstances',
                   region_name='us-east-1')
    ec2.call(callback=on_response)
    ioloop.start()
Example #10
0
from tornado.ioloop import IOLoop
from tornado_botocore import Botocore


def on_response(response):
    print response
    # {u'Reservations': [], 'ResponseMetadata': {'RequestId': 'ad5d87c9-ec3c-4eab-86c4-851332d4c397'}}


if __name__ == '__main__':
    ec2 = Botocore(
        service='ec2', operation='DescribeInstances',
        region_name='us-east-1')
    # sync
    print ec2.call()
    # async
    ec2.call(callback=on_response)
    IOLoop.instance().start()