我觉得这应该比它对我更容易。
copy table
from 's3://s3-us-west-1.amazonaws.com/bucketname/filename.csv'
CREDENTIALS 'aws_access_key_id=my-access;aws_secret_access_key=my-secret'
REGION 'us-west-1';
注意我在遇到问题后添加了REGION部分但没有做任何事情。
我感到困惑的是,在存储桶属性中只有https://path/to/the/file.csv。我只能假设我读过的所有文档都要求以s3://开头的路径...我只是将https改为s3,就像我的例子中所示。
但是我收到了这个错误:
"Error : ERROR: S3ServiceException:
The bucket you are attempting to access must be addressed using the specified endpoint.
Please send all future requests to this endpoint.,Status 301,Error PermanentRedirect,Rid"
我正在使用navicat for PostgreSQL连接到Redshift并且我在Mac上运行。
答案 0 :(得分:3)
S3路径应为's3://bucketname/filename.csv'。试试这个。
答案 1 :(得分:1)
是的,它应该更容易: - )
当您的S3存储桶不符合美国标准时,我才看到此错误。在这种情况下,您需要使用基于端点的地址,例如http://s3-eu-west-1.amazonaws.com/mybucket/myfile.txt
您可以在此文档页面中找到您所在地区的端点, http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region