Amazon web services S3中拼花清单的红移复制失败,并表示清单参数需要S3对象的完整路径
我用消防水带把拼花格式的唱片放在S3桶里。我已经手动定义了一个粘合表 所以我有一份清单Amazon web services S3中拼花清单的红移复制失败,并表示清单参数需要S3对象的完整路径,amazon-web-services,amazon-s3,amazon-redshift,amazon-kinesis-firehose,Amazon Web Services,Amazon S3,Amazon Redshift,Amazon Kinesis Firehose,我用消防水带把拼花格式的唱片放在S3桶里。我已经手动定义了一个粘合表 所以我有一份清单 { "entries": [ {"url":"s3://my-bucket/file1.parquet"}, {"url":"s3://my-bucket/file2.parquet"} ] } 还有一个复制命令,如 COPY schema_name.table_name FROM 's3://my-bucket/manifest.json' CREDENTIALS 'aws_iam
{
"entries": [
{"url":"s3://my-bucket/file1.parquet"},
{"url":"s3://my-bucket/file2.parquet"}
]
}
还有一个复制命令,如
COPY schema_name.table_name
FROM 's3://my-bucket/manifest.json'
CREDENTIALS 'aws_iam_role=arn:aws:iam::123456:role/RoleWithPermissionToRedshiftAndBucket'
PARQUET
MANIFEST;
它给出了一个神秘的错误,在谷歌上没有结果
[XX000][500310] [Amazon](500310) Invalid operation: COPY with MANIFEST parameter requires full path of an S3 object.
Details:
-----------------------------------------------
error: COPY with MANIFEST parameter requires full path of an S3 object.
code: 8001
context:
query: 23514459
location: scan_range_manager.cpp:795
process: padbmaster [pid=108497]
-----------------------------------------------;
在我看来,我肯定是在指定完整路径,所以我不确定发生了什么。一个错误是桶位于不同的区域,这也会阻止它工作 您可能会收到此错误消息的一个原因是,如果bucket位于另一个aws帐户中 但对我来说,真正解决这个问题的是将内容长度添加到清单中,因为这是拼花地板所必需的
{
"entries": [
{
"url":"s3://my-bucket/file1.parquet",
"mandatory":true,
"meta":{
"content_length":2893394
}
},
{
"url":"s3://my-bucket/file2.parquet",
"mandatory":true,
"meta":{
"content_length":2883626
}
}
]
}
显然,如果您将content_length留空,您将收到一条无关的错误消息。这家伙犯了同样的错误,收到了一条错误信息,说
File has an invalid version number
确保您拥有正确的凭据或IAM\U角色集 我修正了这个完全相同的错误
COPY with MANIFEST参数需要S3对象的完整路径
,方法是更改我的IAM_角色-从没有权限加载到此表的角色
(此区域中的红移错误消息无效)