with ApiFlash and Kafka?
The ApiFlash API lets you capture website screenshots programmatically. It's a Chrome-based screenshot API for developers, ideal for automating the process of taking snapshots of web pages for archiving, performance monitoring, or visual verification. With Pipedream, you can harness this functionality to create event-driven workflows, tapping into vast integration possibilities.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
apiflash: {
type: "app",
app: "apiflash",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.apiflash.com/v1/urltoimage`,
params: {
access_key: `${this.apiflash.$auth.access_key}`,
url: `https://google.com`,
},
})
},
})
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 };
},
})