with Appwrite and RabbitMQ?
Appwrite is a secure backend server geared towards providing developers with a set of easy-to-use APIs to manage core backend needs such as user authentication, databases, file storage, and more. With Appwrite's API, you can streamline backend development processes, ensuring quick and secure application development. Integrating Appwrite with Pipedream allows for the automation of processes like user management, data manipulation, and real-time updates cross-platform.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
appwrite: {
type: "app",
app: "appwrite",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://cloud.appwrite.io/v1/users`,
headers: {
"X-Appwrite-Project": `${this.appwrite.$auth.project_id}`,
"X-Appwrite-Key": `${this.appwrite.$auth.api_key}`,
},
})
},
})
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;
},
})