【发布时间】:2019-10-29 22:02:28
【问题描述】:
我很难将数据从 S3 导入 RDS postgres 实例。 According to the docs,你可以使用这个语法:
aws_s3.table_import_from_s3 (
table_name text,
column_list text,
options text,
bucket text,
file_path text,
region text,
access_key text,
secret_key text,
session_token text
)
所以,在 pgAdmin 中,我这样做了:
SELECT aws_s3.table_import_from_s3(
'contacts_1',
'firstname,lastname,imported',
'(format csv)',
'com.foo.mybucket',
'mydir/subdir/myfile.csv',
'us-east-2',
'AKIAYYXUMxxxxxxxxxxx',
'3zB4S5jb1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
);
我也尝试过为最后一个参数显式 NULL。
我得到的错误信息是:
NOTICE: CURL error code: 51 when attempting to validate pre-signed URL, 1 attempt(s) remaining
NOTICE: CURL error code: 51 when attempting to validate pre-signed URL, 0 attempt(s) remaining
ERROR: Unable to generate pre-signed url, look at engine log for details.
SQL state: XX000
我检查了服务器日志,没有更多信息。
我已经对所有参数的正确性进行了三次检查。我该如何完成这项工作?
更新:
我可以确认我可以使用这些相同的凭据在 Java aws sdk 中执行 s3.getObject()。
【问题讨论】:
-
这可能是存储桶名称中的句点 (.)。这个问题现在有点老了,但值得从另一个名称中没有句点的存储桶尝试。几周前我遇到了这个。
标签: postgresql amazon-web-services amazon-s3 amazon-rds