@wrap_urllib_exceptions<EOL><INDENT>def post_work(self, function_arn, input_bytes, client_context, invocation_type="<STR_LIT>"):<DEDENT>
url = self._get_url(function_arn)<EOL>runtime_logger.info('<STR_LIT>'.format(function_arn, url))<EOL>request = Request(url, input_bytes or b'<STR_LIT>')<EOL>request.add_header(HEADER_CLIENT_CONTEXT, client_context)<EOL>request.add_header(HEADER_AUTH_TOKEN, self.auth_token)<EOL>request.add_header(HEADER_INVOCATION_TYPE, invocation_type)<EOL>response = urlopen(request)<EOL>invocation_id = response.info().get(HEADER_INVOCATION_ID)<EOL>runtime_logger.info('<STR_LIT>'.format(invocation_id))<EOL>return invocation_id<EOL>
Send work item to specified :code:`function_arn`.

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

:param input_bytes: The data making up the work being posted.
:type input_bytes: bytes

:param client_context: The base64 encoded client context byte string that will be provided to the Lambda
function being invoked.
:type client_context: bytes

:returns: Invocation ID for obtaining result of the work.
:type returns: str