with Contentstack and RabbitMQ?
Emit new event when a new asset is created in ContentStack.
Emit new event when a new entry is created in ContentStack.
Emit new event when an entry is published in ContentStack.
Publishes a specific entry using its UID. See the documentation
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
contentstack: {
type: "app",
app: "contentstack",
}
},
async run({steps, $}) {
return await axios($, {
url: `${this.contentstack.$auth.region}api.contentstack.io/v3/content_types`,
headers: {
"api_key": `${this.contentstack.$auth.stack_api_key}`,
"authorization": `${this.contentstack.$auth.management_token}`,
"content-type": `application/json`,
},
})
},
})
import amqp from "amqplib";
export default defineComponent({
props: {
rabbitmq: {
type: "app",
app: "rabbitmq",
}
},
async run({ steps, $ }) {
const url = `amqp://${this.rabbitmq.$auth.username}:${this.rabbitmq.$auth.password}@${this.rabbitmq.$auth.host}:${this.rabbitmq.$auth.port}`;
const connection = await amqp.connect(url);
const channel = await connection.createChannel();
const queue = 'Sample Queue';
await channel.assertQueue(queue, { durable: true });
const message = 'Welcome RabbitMQ + Pipedream users! ' + new Date().toISOString()
channel.sendToQueue(queue, Buffer.from(message), { persistent: true });
console.log(`Sent: ${message}`);
const queueInfo = await channel.checkQueue(queue);
return queueInfo;
},
})