Копирование данных из S3 в Redshift
Я чувствую, что это должно быть намного проще, чем было на мне.
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 для PostgreSQL для подключения к Redshift и я работаю на Mac.
2 ответа
Путь S3 должен быть 's3://bucketname/filename.csv'. Попробуй это.
Да, это должно быть намного проще:-)
Я видел эту ошибку только в том случае, если ваша корзина S3 не соответствует стандарту США. В таких случаях вам нужно использовать адрес на основе конечной точки, например, http://s3-eu-west-1.amazonaws.com/mybucket/myfile.txt.
Вы можете найти конечные точки для вашего региона на этой странице документации, http://docs.aws.amazon.com/general/latest/gr/rande.html