def put(self, mention: Mention): if self._producer is None: try: self._producer = KinesisProducer(stream_name="sentinel-stream") except Exception as e: raise SinkNotAvailableError from e self._producer.put(mention.to_json())
def test_producer(mocker): mocked_async_producer = mocker.patch('kinesis.producer.AsyncProducer') producer = KinesisProducer('testing') mocked_async_producer.assert_called_with('testing', 0.5, producer.queue, max_count=None, max_size=None, boto3_session=None) mocked_queue = mocker.patch.object(producer, 'queue') producer.put('foo', explicit_hash_key='hash', partition_key='partition') mocked_queue.put.assert_called_with(('foo', 'hash', 'partition'))
def start_producing(args): producer = KinesisProducer(stream_name=args.stream) if not os.path.isfile(args.file): print("File not found: '%s'" % args.file) exit(1) with open(args.file, "r") as file_read: file_loaded = file_read.read() start_time = time.time() for _ in range(int(args.repeat)): producer.put_record(file_loaded) print("Time Elapsed: %f seconds" % (time.time() - start_time))
import logging from kinesis.producer import KinesisProducer logging.basicConfig( level=logging.DEBUG, format= '%(created)f %(levelname)s %(process)d %(name)s:%(lineno)d %(message)s') logging.getLogger('botocore').level = logging.INFO logging.getLogger( 'botocore.vendored.requests.packages.urllib3').level = logging.WARN producer = KinesisProducer('borgstrom-test') for idx in xrange(1): producer.put(str(idx))
def producer(self): return KinesisProducer(self.stream_name, boto3_session=self.boto3_session)
def create_producer(stream_name, session): producer = KinesisProducer(stream_name=stream_name, boto3_session=session) return producer