def init_mqtt_subscriber()

in src/pubsub/mqtt_pubsub.py [0:0]


    def init_mqtt_subscriber(self):
        '''
            Initialise subscription to requested MQTT IoT Core topics.
        '''
        
        handler = MqttPubSub.MqttSubscriber(self.message_callback)

        for subscribe_topic in self.mqtt_subscribe_topics:

            try:
                log.info('MQTT subscribing to topic: {}'.format(subscribe_topic))
                request = SubscribeToIoTCoreRequest()
                request.topic_name = subscribe_topic
                request.qos = self.mqtt_qos
                operation = self.mqtt_subscribe_client.new_subscribe_to_iot_core(handler)
                future = operation.activate(request)
                # call the result to ensure the future has completed before iterating
                future.result(self.mqtt_timeout)
                log.info('Complete MQTT subscribing to topic: {}'.format(subscribe_topic))

            except concurrent.futures.TimeoutError as e: # pragma: no cover
                log.exception('TIMEOUT_ERROR: Timeout occurred while subscribing to IPC MQTT topic. ERROR MESSAGE: {} - TOPIC {}'.format(e, subscribe_topic))

            except UnauthorizedError as e: # pragma: no cover
                log.exception('UNATHORIZED_ERROR: Unauthorized error while subscribing to IPC MQTT topic. ERROR MESSAGE: {} - TOPIC: {}'.format(e, subscribe_topic))

            except Exception as e: # pragma: no cover
                log.exception('EXCEPTION: Exception while subscribing to IPC MQTT topic. ERROR MESSAGE: {} - TOPIC: {}'.format(e, subscribe_topic))