with SFTP (key-based auth) and Directus?
Emit new events when files get created, changed or deleted from a remote directory. See the docs
Uploads a file or string in UTF-8 format to the SFTP server. See the documentation
The SFTP (key-based auth) app on Pipedream allows you to securely transfer and manage files over a network. It uses SSH for data transfer and provides the same level of security as SSH, without requiring password authentication, making automation workflows more secure and less prone to human error. You can automate file uploads, downloads, synchronization tasks, and efficiently manage your remote files in a serverless environment. Integrating this with other Pipedream-supported apps enables you to craft powerful and secure data flow systems.
module.exports = defineComponent({
props: {
sftp: {
type: "app",
app: "sftp",
}
},
async run({steps, $}) {
const Client = require('ssh2-sftp-client');
const {
host,
username,
privateKey,
} = this.sftp.$auth
const config = {
host,
username,
privateKey,
}
const sftp = new Client()
await sftp.connect(config)
this.cwd = await sftp.cwd();
return await sftp.end();
},
})
Directus is an open-source headless CMS with a rich API that lets you manage content dynamically and distribute it across various channels. Harness Directus API on Pipedream to automate content operations, streamline workflows, and integrate with countless other apps. With real-time capabilities, you can trigger actions on content changes, automate publishing, sync with external databases, and more. Pipedream's serverless platform provides a powerful, flexible way to build custom automations using Directus, without writing complex infrastructural code.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
directus: {
type: "app",
app: "directus",
}
},
async run({steps, $}) {
return await axios($, {
url: `${this.directus.$auth.api_host}/users/me`,
headers: {
Authorization: `Bearer ${this.directus.$auth.access_token}`,
},
})
},
})