with Kafka and Tinybird?
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 };
},
})
Tinybird is a real-time analytics API platform that allows developers to ingest, transform, and consume large amounts of data with low latency. By leveraging SQL and data streaming, Tinybird helps in building data-intensive applications or augmenting existing ones with real-time analytics features. On Pipedream, you can automate data ingestion, transformation, and delivery to unlock insights and drive actions in real time, transforming how you respond to user behavior and operational events.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
tinybird: {
type: "app",
app: "tinybird",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.tinybird.co/v0/tokens`,
headers: {
Authorization: `Bearer ${this.tinybird.$auth.token}`,
},
})
},
})