code: def post_work(self, function_arn, input_bytes, client_context, invocation_type="RequestResponse"):
          
          url = self._get_url(function_arn)
          runtime_logger.info('Posting work for function [{}] to {}'.format(function_arn, url))
  
          request = Request(url, input_bytes or b'')
          request.add_header(HEADER_CLIENT_CONTEXT, client_context)
          request.add_header(HEADER_AUTH_TOKEN, self.auth_token)
          request.add_header(HEADER_INVOCATION_TYPE, invocation_type)
  
          response = urlopen(request)
  
          invocation_id = response.info().get(HEADER_INVOCATION_ID)
          runtime_logger.info('Work posted with invocation id [{}]'.format(invocation_id))
          return invocation_id
docs: 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