def select_key(self, key, bucket_name=None,<EOL>expression='<STR_LIT>',<EOL>expression_type='<STR_LIT>',<EOL>input_serialization=None,<EOL>output_serialization=None):
if input_serialization is None:<EOL><INDENT>input_serialization = {'<STR_LIT>': {}}<EOL><DEDENT>if output_serialization is None:<EOL><INDENT>output_serialization = {'<STR_LIT>': {}}<EOL><DEDENT>if not bucket_name:<EOL><INDENT>(bucket_name, key) = self.parse_s3_url(key)<EOL><DEDENT>response = self.get_conn().select_object_content(<EOL>Bucket=bucket_name,<EOL>Key=key,<EOL>Expression=expression,<EOL>ExpressionType=expression_type,<EOL>InputSerialization=input_serialization,<EOL>OutputSerialization=output_serialization)<EOL>return '<STR_LIT>'.join(event['<STR_LIT>']['<STR_LIT>'].decode('<STR_LIT:utf-8>')<EOL>for event in response['<STR_LIT>']<EOL>if '<STR_LIT>' in event)<EOL>
Reads a key with S3 Select.

:param key: S3 key that will point to the file
:type key: str
:param bucket_name: Name of the bucket in which the file is stored
:type bucket_name: str
:param expression: S3 Select expression
:type expression: str
:param expression_type: S3 Select expression type
:type expression_type: str
:param input_serialization: S3 Select input data serialization format
:type input_serialization: dict
:param output_serialization: S3 Select output data serialization format
:type output_serialization: dict
:return: retrieved subset of original data by S3 Select
:rtype: str

.. seealso::
    For more details about S3 Select parameters:
    http://boto3.readthedocs.io/en/latest/reference/services/s3.html#S3.Client.select_object_content