with Tinybird and SFTP (password-based auth)?
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
Tinybird is a real-time analytics API platform that allows developers to ingest, transform, and consume large amounts of data with low latency. By leveraging SQL and data streaming, Tinybird helps in building data-intensive applications or augmenting existing ones with real-time analytics features. On Pipedream, you can automate data ingestion, transformation, and delivery to unlock insights and drive actions in real time, transforming how you respond to user behavior and operational events.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
tinybird: {
type: "app",
app: "tinybird",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.tinybird.co/v0/tokens`,
headers: {
Authorization: `Bearer ${this.tinybird.$auth.token}`,
},
})
},
})
SFTP on Pipedream enables secure file management on remote servers directly from your workflows. Utilize this app to automate file uploads, downloads, and synchronization tasks between your systems and SFTP servers. Implement robust data pipelines or deploy content to web servers without manual intervention, all while maintaining a high level of security with password-based authentication.
module.exports = defineComponent({
props: {
sftp_password_based_auth: {
type: "app",
app: "sftp_password_based_auth",
}
},
async run({steps, $}) {
const Client = require('ssh2-sftp-client');
const {
host,
username,
password,
} = this.sftp_password_based_auth.$auth
const config = {
host,
username,
password,
}
const sftp = new Client()
await sftp.connect(config)
this.cwd = await sftp.cwd();
return await sftp.end();
},
})