Неразрешенные зависимости ресурсов [DefaultSchedule] в блоке "Ресурсы" шаблона

Я работаю с облачным скриптом для создания AWS Data Pipeline. Я создал сценарий в соответствии с документацией, но столкнулся с 1 ошибкой, т.е.

Ошибка проверки шаблона: ошибка формата шаблона: неразрешенные зависимости ресурсов [DefaultSchedule] в блоке "Ресурсы" шаблона.

Вот часть моего скрипта, посвященная ресурсам:

Resources:
DataPipelineForS3Backup:
Type: AWS::DataPipeline::Pipeline
Properties:
  Name:
    Ref: S3BackupDataPipeline
  Description:
    Ref: S3BackupDataPipeline
  Activate: 'true'
  ParameterObjects:
  - Id: myAwsCliCommand
    Attributes:
    - Key: description
      StringValue: Dp command to run
    - Key: type
      StringValue: String
  ParameterValues:
  - Id: myAwsCliCommand
    StringValue:
      Ref: AwsCliCommand
  PipelineObjects:
  - Id: DefaultSchedule
    Name: Every 1 day
    Fields:
    - Key: type
      StringValue: Schedule
    - Key: period
      StringValue: 1 Day
    - Key: startDateTime
      StringValue: 2018-08-08T19:00:00
  - Id: Default
    Name: Default
    Fields:
    - Key: failureAndRerunMode
      StringValue: CASCADE
    - Key: type
      StringValue: Default
    - Key: resourceRole
      StringValue:
        Ref: S3BackupResourceRole
    - Key: pipelineLogUri
      StringValue:
        Ref: S3BackupDpLogUri
    - Key: role
      StringValue:
        Ref: S3BackupDpRole
    - Key: scheduleType
      StringValue: cron
    - Key: schedule
      StringValue:
        Ref: DefaultSchedule

Кто-нибудь может сказать мне, что происходит со сценарием? Спасибо


person Achal    schedule 08.08.2018    source источник


Ответы (1)


Во-первых, при написании скрипта на YAML вы должны очень внимательно относиться к отступам, чтобы избежать ошибок. Должно получиться так:

Resources:
  DataPipelineForS3Backup:
    Type: AWS::DataPipeline::Pipeline
    Properties:
      Name:
      ...

Кроме того, насколько я понимаю, вы пытаетесь получить ссылку на один из объектов PipelineObject. Для этого вместо Ref: DefaultSchedule вы должны использовать RefValue: DefaultSchedule

См. Пример в документации: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datapipeline-pipeline.html#w2ab2c21c10d332c13

person Victor Debray    schedule 09.08.2018