Interact with an SFTP (SSH File Transfer Protocol) Server using a private key for auth
Emit new events when files get created, changed or deleted from a remote directory. See the docs
Emit new event for every new row added in a table. See documentation here
Emit new event for every insert
, update
, or delete
operation in a table. This source requires user configuration using the Supabase website. More information in the README. Also see documentation here
Uploads a file or string in UTF-8 format to the SFTP server. See the documentation
Call a Postgres function in a database. See the docs here
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();
},
})
Supabase is a real-time backend-as-a-service that provides developers with a suite of tools to quickly build and scale their applications. It offers database storage, authentication, instant APIs, and real-time subscriptions. With the Supabase API, you can perform CRUD operations on your database, manage users, and listen to database changes in real time. When integrated with Pipedream, you can automate workflows that react to these database events, synchronize data across multiple services, or streamline user management processes.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
supabase: {
type: "app",
app: "supabase",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://${this.supabase.$auth.subdomain}.supabase.co/rest/v1/`,
headers: {
Authorization: `Bearer ${this.supabase.$auth.service_key}`,
"apikey": `${this.supabase.$auth.service_key}`,
},
})
},
})