Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将CSV从S3加载到AWS RDS Aurora MySQL Serverless_Csv_Amazon S3_Aws Lambda_Aws Aurora Serverless - Fatal编程技术网

将CSV从S3加载到AWS RDS Aurora MySQL Serverless

将CSV从S3加载到AWS RDS Aurora MySQL Serverless,csv,amazon-s3,aws-lambda,aws-aurora-serverless,Csv,Amazon S3,Aws Lambda,Aws Aurora Serverless,环顾四周之后,我发现了一些关于将CSV从S3读入AWS Aurora MySQL数据库表的文档,但这似乎不适用于无服务器实例。有人知道怎么做吗 这大致是处理非无服务器实例的方式: with conn.cursor() as cur: query = """ LOAD DATA FROM S3 'filepath' INTO TABLE table F

环顾四周之后,我发现了一些关于将CSV从S3读入AWS Aurora MySQL数据库表的文档,但这似乎不适用于无服务器实例。有人知道怎么做吗

这大致是处理非无服务器实例的方式:

with conn.cursor() as cur:
            query = """
                    LOAD DATA FROM S3 'filepath' 
                    INTO TABLE table 
                    FIELDS TERMINATED BY ','
                    LINES TERMINATED BY '\n'
                    """
            cur.execute(query)
            conn.commit()
在无服务器上下文中,这会产生以下错误:

拒绝访问;此操作需要(至少一个)来自S3的加载权限


此错误的所有解决方案都基于非无服务器实例,因此无法在我的用例中复制。

从S3加载在Aurora serverless中不受支持。您现在需要通过SQL层来传输数据。如果这是一次性导入,那么创建一个Aurora配置的集群,从S3加载数据并将备份还原到一个无服务器集群中


在无服务器的aurora中应该可以,只是权限设置不正确。你能在经典Aurora实例中执行此操作吗?是的,在经典Aurora实例中可以执行此操作——在线文档表明在无服务器环境下不可能执行此操作,因此我希望有一种替代方法来加载CSV数据。虽然MySQL无服务器版本无法执行此操作,但PostgreSQL版本也可以执行此操作。您可以使用aws_s3扩展、aws_s3.table_import_from_s3函数和credentials参数(不是IAM角色-无法将该角色分配给无服务器版本的Aurora)来完成此操作。