code: def get_work(self, function_arn):
          
          url = self._get_work_url(function_arn)
          runtime_logger.info('Getting work for function [{}] from {}'.format(function_arn, url))
  
          request = Request(url)
          request.add_header(HEADER_AUTH_TOKEN, self.auth_token)
  
          response = urlopen(request)
  
          invocation_id = response.info().get(HEADER_INVOCATION_ID)
          client_context = response.info().get(HEADER_CLIENT_CONTEXT)
  
          runtime_logger.info('Got work item with invocation id [{}]'.format(invocation_id))
          return WorkItem(
              invocation_id=invocation_id,
              payload=response.read(),
              client_context=client_context)
docs: 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