@wrap_urllib_exceptions<EOL><INDENT>def get_work(self, function_arn):<DEDENT>
url = self._get_work_url(function_arn)<EOL>runtime_logger.info('<STR_LIT>'.format(function_arn, url))<EOL>request = Request(url)<EOL>request.add_header(HEADER_AUTH_TOKEN, self.auth_token)<EOL>response = urlopen(request)<EOL>invocation_id = response.info().get(HEADER_INVOCATION_ID)<EOL>client_context = response.info().get(HEADER_CLIENT_CONTEXT)<EOL>runtime_logger.info('<STR_LIT>'.format(invocation_id))<EOL>return WorkItem(<EOL>invocation_id=invocation_id,<EOL>payload=response.read(),<EOL>client_context=client_context)<EOL>
Retrieve the next work item for specified :code:`function_arn`.

:param function_arn: Arn of the Lambda function intended to receive the work for processing.
:type function_arn: string

:returns: Next work item to be processed by the function.
:type returns: WorkItem