AWS - 使用 aws_s3 扩展(由 RDS 提供)的 S3 到 RDS(postgres) 导入失败
AWS - S3 to RDS(postgres) import using aws_s3 extension (provided by RDS) is failing
我已经成功创建了一个角色,该角色附加了允许对存储桶执行所需操作的策略。保单文件为:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "s3import",
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::my-bucket",
"arn:aws:s3:::my-bucket/*"
]
}
]
}
然后我将此角色附加到具有 s3Import 功能的 RDS 实例。
这是命令我运行。
SELECT aws_s3.table_import_from_s3(
'table name',
'',
'DELIMITER ''|''',
aws_commons.create_s3_uri(
'bucket-name',
'file.csv',
'region')
);
我收到这个错误:
SQL Error [XX000]: ERROR: HTTP 404. Requested file does not exist.
这里有什么遗漏吗?
根据评论。
根据提供的错误消息,问题不是由于对 S3 的访问被拒绝,而是由于在 create_s3_uri
中使用了错误的文件名。
解决方案 是使用正确的文件名。
我已经成功创建了一个角色,该角色附加了允许对存储桶执行所需操作的策略。保单文件为:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "s3import",
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::my-bucket",
"arn:aws:s3:::my-bucket/*"
]
}
]
}
然后我将此角色附加到具有 s3Import 功能的 RDS 实例。
这是命令我运行。
SELECT aws_s3.table_import_from_s3(
'table name',
'',
'DELIMITER ''|''',
aws_commons.create_s3_uri(
'bucket-name',
'file.csv',
'region')
);
我收到这个错误:
SQL Error [XX000]: ERROR: HTTP 404. Requested file does not exist.
这里有什么遗漏吗?
根据评论。
根据提供的错误消息,问题不是由于对 S3 的访问被拒绝,而是由于在 create_s3_uri
中使用了错误的文件名。
解决方案 是使用正确的文件名。