使用 Golang API 将表从 Amazon RDS 导出到 csv 文件
Posted
技术标签:
【中文标题】使用 Golang API 将表从 Amazon RDS 导出到 csv 文件【英文标题】:Exporting table from Amazon RDS into a csv file using Golang API 【发布时间】:2020-04-23 08:41:58 【问题描述】:我正在寻找某种方法将 SQL 查询结果从 AWS lambda 直接导出到 CSV 文件。我发现了这个类似的问题 - Exporting table from Amazon RDS into a csv file。但它不适用于 AWS Golang API。
实际上,我想安排一个 lambda 函数,该函数将每天从 RDS(SQL Server)查询一些视图/表,并将其以 CSV 格式放入 S3 存储桶。所以,我想在lambda中直接下载CSV形式的查询结果,然后上传到S3。
我也找到了AWS的data pipeline服务,直接将RDS数据复制到S3,不知道这里能不能用。
如果有人能建议我正确的流程和实现它的参考,那将会很有帮助。
【问题讨论】:
你是在找这个query results to a CSV file in the local machine
还是I want to schedule a lambda function
(我假设你指的是AWS lambda)。在云端和本地机器上运行代码是两件不同的事情。
@DmitryHarnitski 很抱歉造成混乱。我想安排一个 lambda 函数。
【参考方案1】:
您可以在运行 Amazon RDS 的数据库实例之间传输文件 SQL Server 和 Amazon S3 存储桶。通过这样做,您可以使用亚马逊 S3 具有 SQL Server 功能,例如 BULK INSERT。例如,您可以 将 .csv、.xml、.txt 和其他文件从 Amazon S3 下载到数据库 实例主机并将数据从 D:\S3\ 导入数据库。全部 文件存储在数据库实例的 D:\S3\ 中
参考:
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/User.SQLServer.Options.S3-integration.html
【讨论】:
感谢您的回复。但我想从 RDS(SQL Server)而不是 Aurora 查询数据。 按照文档,我创建了 IAM 角色并将其设置到 RDS 实例中。但即使花了这么多时间,我也无法创建一个存储过程来将结果导出为 CSV。我收到此错误 - ***.com/questions/59602890/…以上是关于使用 Golang API 将表从 Amazon RDS 导出到 csv 文件的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 pandas 或 python 将具有数百万行的表从 PostgreSQL 复制到 Amazon Redshift
Sqoop - 使用 Avro 格式将表从 Oracle 导入 Hive 的最佳选择是啥?