2016-08-03 35 views
0

我真的很担心如何使用COPY命令将数据从Amazon S3存储桶传输到Redshift。亚马逊红移COPY总是返回S3ServiceException:拒绝访问,状态403

到目前为止,我创建了一个IAM用户并分配了“AmazonS3ReadOnlyAccess”策略。但是当我调用COPY命令喜欢下面的时候,总是返回Access Denied Error。

copy my_table from 's3://s3.ap-northeast-2.amazonaws.com/mybucket/myobject' credentials 'aws_access_key_id=<...>;aws_secret_access_key=<...>' REGION'ap-northeast-2' delimiter '|';

错误:

Amazon Invalid operation: S3ServiceException:Access Denied,Status 403,Error AccessDenied,Rid EB18FDE35E1E0CAB,ExtRid ,CanRetry 1
Details: -----------------------------------------------
error: S3ServiceException:Access Denied,Status 403,Error AccessDenied,Rid EB18FDE35E1E0CAB,ExtRid ,CanRetry 1 code: 8001 context: Listing bucket=s3.ap-northeast-2.amazonaws.com prefix=mybucket/myobject query: 1311463 location: s3_utility.cpp:542 process: padbmaster [pid=4527]
-----------------------------------------------;

有没有人可以给我一些线索或建议?

非常感谢!

回答

1

从S3路径删除端点s3.ap-northeast-2.amazonaws.com

COPY my_table 
FROM 's3://mybucket/myobject' 
CREDENTIALS '' 
REGION 'ap-northeast-2' 
DELIMITER '|' 
; 

(见examples文档中)虽然Access Denied错误肯定是误导性的,返回的消息给出了一些提示,到什么地方出了错:

bucket=s3.ap-northeast-2.amazonaws.com 
prefix=mybucket/myobject 

不过,我们期望看到bucket=mybucketprefix=myobject

+0

非常感谢你!你很有帮助! –