从 Aurora Serverless 导出到 S3

psk*_*k98 6 mysql amazon-s3 amazon-web-services aws-aurora-serverless

我目前正在尝试将 .csv 文件从带有 MySQL 引擎的 AWS Aurora Serverless 导出到 AWS S3。这在使用实例支持的 Aurora 时非常有效,但不适用于无服务器。我按照文档中的描述为 S3 设置了 IAM 策略,并创建了一个对 S3 和 RDS 具有完全访问权限的 IAM 用户。无服务器使用的参数组在 LOAD DATA FROM S3 和 SELECT INTO OUTFILE S3 字段中具有 IAM 用户的 ARN。

我用来导出到 S3 的代码:

SELECT * FROM TABLE WHERE ID = '6838' INTO OUTFILE S3 's3://bucketname/file.csv';
Run Code Online (Sandbox Code Playgroud)

我在这里阅读了文档:https : //docs.aws.amazon.com/de_de/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.SaveIntoS3.html

错误信息: Access denied; you need (at least one of) the SELECT INTO S3 privilege(s) for this operation

我希望 Aurora Serverless 能够像 Aurora with Instances 一样流畅地加载。带有实例的 Aurora 正在使用为无服务器创建的 IAM 用户并且工作正常。

编辑: 似乎 AWS Aurora Serverless 不支持从和到 S3 的 IMPORT 或 EXPORT。(https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html#aurora-serverless.limitations

Ash*_*pin 1

您是否完成了此步骤(假设您从非主数据库帐户发出该语句):

发出 SELECT INTO OUTFILE S3 语句的数据库用户必须被授予 SELECT INTO S3 权限才能发出该语句。默认情况下,数据库集群的主用户名被授予 SELECT INTO S3 权限。您可以使用以下语句将权限授予其他用户。

GRANT SELECT INTO S3 ON *.* TO 'user'@'domain-or-ip-address'
Run Code Online (Sandbox Code Playgroud)