首页 文章

Amazon Redshift COPY始终返回S3ServiceException:Access Denied,Status 403

提问于
浏览
0

我真的在努力学习如何使用COPY命令从Amazon S3存储桶到Redshift进行数据传输 .

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

从's3://s3.ap-northeast-2.amazonaws.com/mybucket/myobject'凭证'复制my_table'aws_access_key_id = <...>; aws_secret_access_key = <...>'REGION'ap-northeast-2 'delimiter'|';

错误:

Amazon无效操作:S3ServiceException:拒绝访问,状态403,错误AccessDenied,Rid EB18FDE35E1E0CAB,ExtRid,CanRetry 1详细信息:------------------------- ----------------------错误:S3ServiceException:访问被拒绝,状态403,错误AccessDenied,Rid EB18FDE35E1E0CAB,ExtRid,CanRetry 1代码:8001 context:列出存储桶= s3.ap-northeast-2.amazonaws.com prefix = mybucket / myobject query:1311463 location:s3_utility.cpp:542 process:padbmaster [pid = 4527] ---------------- -------------------------------;

有人能给我一些线索或建议吗?

非常感谢!

2 回答

  • 0

    从S3路径中删除 endpoints 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 .

  • 2

    您的redshift群集角色无权访问S3存储桶 . 确保您用于redshift的角色可以访问存储桶,并且存储桶没有阻止访问的策略

相关问题