with RabbitMQ and Zip Archive API?
Compress files provided through URLs into a zip folder. See the documentation
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;
},
})
The Zip Archive API allows you to manage zip archives programmatically. You can create, extract, and modify zip files, making it ideal for automating routine file management tasks. Integrating this API with Pipedream enables you to automate workflows that involve file compression or decompression, combine it with triggers from other apps, and process large batches of files efficiently, saving time and reducing manual effort.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
zip_archive_api: {
type: "app",
app: "zip_archive_api",
}
},
async run({steps, $}) {
const data = {
"file": `https://www.learningcontainer.com/wp-content/uploads/2020/05/sample-zip-file.zip`,
}
return await axios($, {
method: "post",
url: `https://api.archiveapi.com/extract`,
headers: {
"Accept": `text/plain`,
},
params: {
secret: `${this.zip_archive_api.$auth.secret}`,
},
data,
})
},
})