模板“资源”块中的未解决资源依赖项[DefaultSchedule]

时间:2018-08-08 17:34:34

标签: amazon-web-services amazon-cloudformation aws-data-pipeline

我正在使用cloudformation脚本创建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

有人可以告诉我该脚本是怎么回事吗?谢谢

1 个答案:

答案 0 :(得分:0)

首先,在YAML中编写脚本时,应格外小心以防止出现错误。应该是这样的:

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

另外,据我了解,您正在尝试获取其中一个PipelineObjects的引用。为此,您应该使用Ref: DefaultSchedule

代替RefValue: DefaultSchedule

请参见文档中的示例:https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datapipeline-pipeline.html#w2ab2c21c10d332c13