eto*_*tov 5 postgresql node.js amazon-redshift
使用node.js将数据插入Amazon Redshift有哪些方法?
这应该是非常简单的,但我无法找到有效加载的任何具体示例.
eto*_*tov 16
这样做的一种方法是先装载使用数据到S3 AWS的node.js SDK(有一个例子的文档中),然后使用节点-PG到COPY数据到红移:
var pg = require('pg');
var conString = "postgres://user:password@db-endpoint:port/schema";
var client = new pg.Client(conString);
client.connect(function(err) {
if(err) {
return console.error('could not connect to postgres', err);
}
//assuming credentials are exported as enviornment variables,
//both CLI- and S3cmd-style are supported here.
//Also, you may want to specify the file's format (e.g. CSV),
//max errors, etc.
var copyCmd = 'copy my_redshift_table from \'s3://your_bucket/your_file\' credentials \'aws_access_key_id='
+ (process.env.AWS_ACCESS_KEY || process.env.AWS_ACCESS_KEY_ID)
+ ';aws_secret_access_key='
+ (process.env.AWS_SECRET_KEY || process.env.AWS_SECRET_ACCESS_KEY)
+ '\'';
client.query(copyCmd, function(err, result) {
if(err) {
return console.error('error running query', err);
}
logger.info("redhshift load: no errors, seem to be successful!");
client.end();
});
});
Run Code Online (Sandbox Code Playgroud)
请注意,您无需运行任何特殊驱动程序.