繁体   English   中英

将数据从 AWS S3 加载到 Aurora Postgres

[英]Load data from AWS S3 to Aurora Postgres

我正在尝试将数据从AWS S3加载到Aurora Postgres 我已经关注了这个链接https://aws.amazon.com/blogs/database/stream-data-into-an-aurora-postgresql-database-using-aws-dms-and-amazon-kinesis-data-firehose/但是没有任何成功。 有没有人加载它或知道一些链接,我可以在其中找到实现它的步骤。

虽然这是一个旧帖子,但我希望它会对前来寻找的人有所帮助。 其中大部分来自官方 AWS 文档 我正在添加一些注释来帮助。

这是演习:

连接到 RDS Postgres 实例。

在 psql 提示符下运行此命令以创建从 s3 导入数据所需的扩展:

CREATE EXTENSION aws_s3 CASCADE;

创建数据库:

CREATE DATABASE students;

创建表(假设如下三列):

CREATE TABLE t1 (col1 varchar(80), col2 varchar(80), col3 varchar(80));

请注意,您在 S3 存储桶中的 csv 文件应该具有相同数量的列,除非您想跳过一些列(这超出了本文的 scope)。

要使用控制台为 PostgreSQL 数据库集群添加 IAM 角色:

  1. 登录 AWS 管理控制台并在https://console.aws.amazon.com/rds/打开 Amazon RDS 控制台。
  2. 选择 PostgreSQL 数据库集群名称以显示其详细信息。
  3. 在连接和安全选项卡的管理 IAM 角色部分中,在将 IAM 角色添加到此实例下选择要添加的角色。
  4. 在功能下,选择 s3Import。
  5. 选择添加角色。

    SELECT aws_commons.create_s3_uri('your_bucket_name', 'full/path/to/file.csv','aws_region' ) AS s3_uri \gset
    SELECT aws_s3.table_import_from_s3('t1', '', '(格式 csv)', :'s3_uri' );

不要将存储桶名称添加到完整/路径/到/file.csv。 使用正确的 aws_region(如 us-east-1)并且不要在此处添加任何可用区。

你应该得到类似的东西:

1000 rows imported into relation "t1" from file ...

使用示例查询进行测试:

SELECT * FROM t1 LIMIT 5;

HTH。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM