红移卸载问题
Posted
技术标签:
【中文标题】红移卸载问题【英文标题】:Issue in redshift unload 【发布时间】:2018-08-22 08:47:12 【问题描述】:从 Redshift 表中卸载数据时出现以下错误
unload ('select * from tablename')
to 's3://bucketname/'
iam_role 'arn:aws:iam::123456789012:role/rolename';
ERROR: User arn:aws:redshift:eu-west-1:123456789012:dbuser:dbaname/dbusername is not authorized to assume IAM Role arn:aws:iam::123456789012:role/rolename
DETAIL:
-----------------------------------------------
error: User arn:aws:redshift:eu-west-1:123456789012:dbuser:dbname/dbusername is not authorized to assume IAM Role arn:aws:iam::123456789012:role/rolename
code: 8001
context: IAM Role=arn:aws:iam::123456789012:role/rolename
query: 0
location: xen_aws_credentials_mgr.cpp:238
process: padbmaster [pid=3203]
-----------------------------------------------
我使用切换角色通过角色名称从一个帐户连接到另一个帐户,该角色在 AWS 上具有完全访问权限
"Version": "2012-10-17",
"Statement": [
"Effect": "Allow",
"Action": "*",
"Resource": "*"
]
【问题讨论】:
【参考方案1】:当我为 Redshift 创建新角色时,这对我有用。步骤概述如下
-
在 AWS 控制台中转到 IAM 管理
创建角色 - 并选择 Redshift 作为服务
在用例中选择- Redshift - Customizable
从策略中选择 - AmazonS3FullAccess
给出相关的角色名称和描述
使用新创建的角色中的 IAM 角色。
【讨论】:
【参考方案2】:以下是我为解决此问题而解决的问题。
-
附加到 Redshift 集群的角色与 Unload 命令中使用的角色不同。
附加到 Redshift 的角色不仅具有 S3 上的读取访问权限。
修复了上述问题,现在可以将数据从 redshift 卸载到 S3。
【讨论】:
以上是关于红移卸载问题的主要内容,如果未能解决你的问题,请参考以下文章