我正在尝试将Csv
文件(位于S3存储桶中(复制到AWS Postgres数据库中。我正在尝试运行此copy command
。
select aws_s3.table_import_from_s3(
'dump',
'',
'(format csv, escape ''"'')',
's3://bucketname/Sample_Data.csv',
'',
'ap-southeast-1')
;"""
这是我得到的错误:
ERROR: Unable to generate pre-signed url
这是RDS日志文件
Attempting to validate pre-signed URL. 6 attempt(s) remaining. CURL error code 2 with message Could not resolve host: s3%3A%2F%2F%2FSample_Data.csv.s3.ap-southeast-1.amazonaws.com.
2022-08-02 07:11:47:postgres@postgres:[3797]:STATEMENT: select aws_s3.table_import_from_s3(
'dump',
'',
'(format csv)',
's3://bucketname/Sample_Data.csv',
'',
'ap-southeast-1')
几天前我遇到了simmilar问题,结果是安全出站&网络路由问题。
当我执行sql时,我使用了如下结构。
选择aws_s3.table_import_from_s3(相同的aws_commons.create_s3_uri('','','ap-southeast-1'(;
如果在那之后仍然出现错误消息,我建议为rds实例设置s3vpc端点。即使在为s3设置vpc端点(如果它仍然不工作(之后,您可能需要检查RDS实例的安全组设置。(出站(
查看下面帖子上的步骤。似乎涵盖了我提到的所有内容。https://medium.com/@shobhita.agarwal/load-data-from-s3-to-rds-cross-aws-accounts-e74c41c4a231
问候,sungwon