Amazon Redshift 错误:清单文件中不存在强制 url

Don*_*ose 5 amazon-s3 amazon-web-services amazon-redshift

我有以下清单文件

{
  "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
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

并遵循复制命令

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';
Run Code Online (Sandbox Code Playgroud)

我得到以下异常

亚马逊无效操作:清单文件中不存在强制 url。详细信息:
----------------------------------------------- 错误: 清单文件中不存在必需的 url。代码:8001 上下文:
清单文件位置=s3://locationnew/redshiftloader-manifest/registrations_invalid_token_25_07_2017_11:55:11.manifest url=s3://gcmregtokenvalidation/registrations_invalid_token/registration_107:204T7:10:204T gz 查询:1475619 位置:s3_utility.cpp:337 进程:
padbmaster [pid=32720]
------------------------------- ----------------;

为什么我会收到这样的错误?

Joh*_*ein 5

使用清单以指定数据文件的文件说:

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

强制性网址不存在清单文件错误是严重的措辞,但它可能会说指定的文件无法在Amazon S3上找到。

你可以用以下方法测试它:

aws s3 ls s3://gcmregtokenvalidation/registrations_invalid_token/registration_master_2017-07-25T10:47:40.049+05:30.gz
Run Code Online (Sandbox Code Playgroud)

另外,尝试设置mandatoryfalse查看错误是否消失。