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)
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))
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))
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), )
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), )
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()
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()
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()