実行する必要がある手順: 1. SFTP サーバーから CSV ファイルをフェッチする 2. 受信したファイルがフォーマットされていないため、fast-csv パーサーを使用してみましたが、達成できませんでした。3. データ全体を Postgres データベースに投稿します。
const Pool = require('pg').Pool
const Client = require('ssh2-sftp-client');
let sftp = new Client();
config = {
host: '0.0.0.0',
port: '22',
username: 'tester',
password: 'password',
}
function storeValues() {
console.log('calling');
sftp.connect(config).then(() => {
sftp.get('/Retail Transaction Data.csv').then((data) => {
console.log(""+data)
**//FORMAT THE DATA FOR THE DATABASE**
const pool = new Pool({
user: 'postgres',
host: 'localhost',
database: 'retailtransaction',
password: 'password',
port: 5433,
})
// open the connection
let query ="INSERT INTO rt_transactions (Trans_ID, Store_Name, Store_Type, Category, Brand, Product, Cust_ID, Quantity, Rate, Amount, Trand_Dt, Months) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12)";
pool.query(query, [data], (error, response) => {
while(error){
console.log(error.message)
}
console.log(response)
});
});
});
}
storeValues();