code: def get_event_consumer(config, success_channel, error_channel, metrics,
                         **kwargs):
      
      builder = event_consumer.GPSEventConsumerBuilder(
          config, success_channel, error_channel, metrics, **kwargs)
      return builder.build_event_consumer()
docs: Get a GPSEventConsumer client.
  
      A factory function that validates configuration, creates schema
      validator and parser clients, creates an auth and a pubsub client,
      and returns an event consumer (:interface:`gordon.interfaces.
      IRunnable` and :interface:`gordon.interfaces.IMessageHandler`)
      provider.
  
      Args:
          config (dict): Google Cloud Pub/Sub-related configuration.
          success_channel (asyncio.Queue): Queue to place a successfully
              consumed message to be further handled by the ``gordon``
              core system.
          error_channel (asyncio.Queue): Queue to place a message met
              with errors to be further handled by the ``gordon`` core
              system.
          metrics (obj): :interface:`IMetricRelay` implementation.
          kwargs (dict): Additional keyword arguments to pass to the
              event consumer.
      Returns:
          A :class:`GPSEventConsumer` instance.