Send a message to RabbitMQ based on the routing key (topic).

        Parameters
        ----------
        topic : str
            The routing key (topic) where the message should be sent to.
        message : FranzEvent
            The message to be sent.

        Raises
        ------
        franz.InvalidMessage

def _send_message_to_topic(self, topic, message, correlation_id=None):
        """
        Send a message to RabbitMQ based on the routing key (topic).

        Parameters
        ----------
        topic : str
            The routing key (topic) where the message should be sent to.
        message : FranzEvent
            The message to be sent.

        Raises
        ------
        franz.InvalidMessage
        """
        exchange = self.get_exchange_name(topic)
        self._channel.exchange_declare(
            exchange=exchange,
            exchange_type='topic',
            durable=True,
        )
        self._channel.basic_publish(
            exchange,
            topic,
            self.serialize_message(message),
            properties=self.get_properties(correlation_id=correlation_id),
        )