亚马逊Redshift错误:清单文件中缺少必需的URL

5
我有以下清单文件。
{
  "entries": [
    {
      "url": "s3://gcmregtokenvalidation/registrations_invalid_token/registration_master_2017-07-25T10:47:40.049+05:30.gz",
      "mandatory": true
    },
    {
      "url": "s3://gcmregtokenvalidation/registrations_invalid_token/registration_master_2017-07-25T10:47:59.441+05:30.gz",
      "mandatory": true
    },
    {
      "url": "s3://gcmregtokenvalidation/registrations_invalid_token/registration_master_2017-07-25T10:48:19.297+05:30.gz",
      "mandatory": true
    },
    {
      "url": "s3://gcmregtokenvalidation/registrations_invalid_token/registration_master_2017-07-25T10:48:40.277+05:30.gz",
      "mandatory": true
    }
  ]
}

并且跟随复制命令

COPY registrations_invalid_token
FROM  's3://locationnew/redshiftloader-
manifest/registrations_invalid_token_25_07_2017_11:55:11.manifest' 
CREDENTIALS 'aws_access_key_id=XXX;aws_secret_access_key=XXX'
manifest gzip delimiter ',' dateformat 'auto'
FILLRECORD IGNOREBLANKLINES TRIMBLANKS TRUNCATECOLUMNS
MAXERROR 100000 region 'ap-south-1';

我收到了以下异常信息:
Amazon Invalid operation: 必需的 URL 未在清单文件中出现。详情如下:
----------------------------------------------- 错误:清单文件中缺少必需的 URL。 代码:8001 上下文:
清单文件位置= s3://locationnew/redshiftloader-manifest/registrations_invalid_token_25_07_2017_11:55:11.manifest URL = s3://gcmregtokenvalidation/registrations_invalid_token/registration_master_2017-07-25T10:47:40.049+05:30.gz 查询:1475619 位置:s3_utility.cpp:337 进程:
padbmaster [pid=32720]
-----------------------------------------------;
为什么我会收到这样的错误?
1个回答

5
使用清单指定数据文件文档中提到:

可选的 mandatory 标志指定如果找不到文件,COPY 是否应返回错误。默认值为 false。无论任何强制性设置,如果没有找到文件,COPY 都将终止。

manifest 文件中不存在强制 url 错误措辞不当,但它可能是在说 Amazon S3 上指定的文件未找到。
您可以使用以下命令进行测试:
aws s3 ls s3://gcmregtokenvalidation/registrations_invalid_token/registration_master_2017-07-25T10:47:40.049+05:30.gz

此外,尝试将mandatory设置为false,看看错误是否消失。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接