with Kafka and Mixpanel?
import { Kafka } from "kafkajs"
export default defineComponent({
props: {
kafka: {
type: "app",
app: "kafka",
}
},
async run({steps, $}) {
const kafka = new Kafka({
brokers: [`${this.kafka.$auth.host}:${this.kafka.$auth.port}`],
});
const consumer = kafka.consumer({ groupId: 'TestGroup' });
await consumer.connect()
await consumer.subscribe({ topic: 'SampleTopic', fromBeginning: true });
let consumedMessage = "";
const eachMessage = async function({ topic, partition, message }){
consumedMessage = message.value.toString();
return consumedMessage;
};
await consumer.run({
eachMessage,
});
const producer = kafka.producer();
await producer.connect()
await producer.send({
topic: 'SampleTopic',
messages: [
{ value: 'Welcome KafkaJS + Pipedream users! '+ new Date().toISOString() },
],
});
await producer.disconnect();
const data = await consumer.describeGroup();
return { consumedMessage, groupDescription: data };
},
})
Mixpanel's API allows you to track user interactions with your web and mobile applications, providing insights through data analysis. You can capture events, update user profiles, and segment data based on user actions. Integrating Mixpanel with Pipedream enables you to automate responses to these events, sync data across services, and trigger workflows that can enhance user engagement and improve retention.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
mixpanel: {
type: "app",
app: "mixpanel",
}
},
async run({steps, $}) {
const data = `data={
"event": "Pipedream test event",
"properties": {
"token": "${this.mixpanel.$auth.token}"
}
}`
return await axios($, {
method: "post",
url: `https://api.mixpanel.com/track#live-event`,
headers: {
"Content-Type": `application/x-www-form-urlencoded`,
},
data,
})
},
})