在最新的Aurora更新(1.8)中,LOAD DATA FROM S3
引入了该命令。有没有人得到这个工作?升级到1.8后,我按照此处的安装指南创建了角色,以允许从RDS到S3的访问。
重新引导服务器并尝试运行命令后
LOAD DATA FROM S3 PREFIX 's3://<bucket_name>/prefix' INTO TABLE table_name
在SQL Workbench / J中,出现以下错误:
Warnings:
S3 API returned error: Missing Credentials: Cannot instantiate S3 Client
S3 API returned error: Failed to instantiate S3 Client
Internal error: Unable to initialize S3Stream
是否需要其他步骤?我只能从SDK运行它吗?我看不到文件中的任何地方
我遇到过同样的问题。我尝试将AmazonS3FullAccess添加到我的RDS实例正在使用的IAM角色中...不高兴。
闲逛之后,我进入了RDS控制台,进入集群。选择我的Aurora群集,然后单击“管理IAM角色”。它给了我一个下拉菜单,我选择了IAM角色(与各个实例使用的角色相同)。
一旦我做完,一切都很好,数据加载又快又好。
因此,(对我们而言)有5个步骤/组件:
1)S3存储桶和存储桶策略,允许用户上传对象
{
"Version": "2012-10-17",
"Id": "Policy1453918146601",
"Statement": [
{
"Sid": "Stmt1453917898368",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<account id>:<user/group/role>/<IAM User/Group/Role>"
},
"Action": [
"s3:DeleteObject",
"s3:GetObject",
"s3:PutObject"
],
"Resource": "arn:aws:s3:::<bucket name>/*"
}
]
}
IAM用户,组或角色将把数据文件上载到存储桶的任何人都是“ Principal”,以便RDS实例可以导入数据。
2)IAM政策:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1486490368000",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:GetObjectVersion",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::<bucket name>/*"
]
}
]
}
使用策略生成器,这非常简单。
3)创建IAM角色:
该角色应在上面分配IAM策略。如果您不打算将此策略用于其他角色,那么您可能也可以执行内联策略,但是我喜欢具有已定义策略的想法,如果需要的话可以稍后参考。
4)配置一个参数组,您的集群/实例将使用该参数组将aws_default_s3_role值设置为上述#3中角色的ARN。
5)通过转到群集,选择您的群集,选择管理IAM角色并为数据库群集设置IAM角色来配置Aurora群集
至少对我而言,这些步骤像个魅力一样起作用。
希望有帮助!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句