【发布时间】:2014-09-25 06:08:20
【问题描述】:
我在本地机器上有一个 gzip 文件,想将它加载到 Redshift。 我的命令如下所示:
\COPY tablename FROM 's3://redshift.manifests/copy_from_yb01_urlinfo.txt' REGION 'us-east-1' CREDENTIALS 'aws_access_key_id=...;aws_secret_access_key=...' SSH GZIP;
但我收到一条消息“s3:/redshift.manifests/copy_from_yb01_urlinfo.txt:没有这样的文件或目录”。
但是这个文件甚至是公开的:https://s3.amazonaws.com/redshift.manifests/copy_from_yb01_urlinfo.txt。 此外,我使用其凭据的用户拥有对 S3 和 Redshift 的完全访问权限:http://c2n.me/iEnI5l.png
更奇怪的是,我可以从 AWS CLI 使用 相同的凭据 完美地访问该文件:
> aws s3 ls redshift.manifests
2014-08-01 19:32:13 137 copy_from_yb01_urlinfo.txt
如何进一步诊断?
以防万一,我通过 psql (PostgreSQL cli) 连接到我的 Redshift 集群:
PAGER=more LANG=C psql -h ....us-east-1.redshift.amazonaws.com -p 5439 -U ... -d ...
编辑:
已将文件上传到 S3 - 复制时出现相同错误... 我再次上传它并使用相同的凭据运行 COPY。
\COPY url_info FROM 's3://redshift-datafiles/url_info_1.copy.gz' CREDENTIALS 'aws_access_key_id=...;aws_secret_access_key=...' GZIP;
我要绝望了……
【问题讨论】:
-
从错误消息看来,S3 路径不正确 s3:/redshift.... 而不是 s3://redshift.... 你能确认这不是错字吗?
-
是的,错误信息只有一个正斜杠。但在我的命令中,我有两个,正如所引用的那样。
标签: amazon-web-services amazon-redshift