bur*_*ing 0 amazon-web-services amazon-ecs aws-cloudformation
我试图每 2 小时从 CLoudwatch 触发一次 AWS 任务计划,这将执行一些操作。
下面是我的 Cloudformation 模板
TaskSchedule:
Type: "AWS::Events::Rule"
DeletionPolicy: Delete
Properties:
Description: >
Run every two hours.
ScheduleExpression: !Ref TaskRate #rate(1 day) #cron (15 10 * * ? *) #(0 0 * * *) #!Ref LambdaRate
State: ENABLED
#Targets:
# - Arn: !Ref ecsCluster.Arn #!Sub ${TaskDefinitionDaily.Arn}
# Id: TaskSchedule
# EcsParameters:
# TaskDefinitionArn: !Ref TaskDefinitionDaily
# TaskCount: 1
# LaunchType: 'FARGATE'
# PlatformVersion: 'LATEST'
Targets:
- Id: 'ECSTarget'
Arn: !Ref ecsCluster.Arn #!Sub ${TaskDefinitionDaily.Arn}
EcsParameters:
TaskCount: 1
TaskDefinitionArn: !Ref 'TaskDefinitionDaily'
Run Code Online (Sandbox Code Playgroud)
现在,当我尝试运行上述 Cloudformation 模板时,出现以下错误。我是 CFT 的新手,不知道是什么原因造成的。
Provided Arn is not in correct format. (Service: AmazonCloudWatchEvents; Status Code: 400; Error Code: ValidationException;
Run Code Online (Sandbox Code Playgroud)
请让我知道我在这里做错了什么。
您正在尝试访问 的Arn属性,ecsCluster但您正在使用!Ref它。这不起作用。你必须使用!GetAtt来接收一个属性。
尝试以下
TaskSchedule:
Type: AWS::Events::Rule
DeletionPolicy: Delete
Properties:
Description: >
Run every two hours.
ScheduleExpression: !Ref TaskRate
State: ENABLED
Targets:
- Id: ECSTarget
Arn: !GetAtt ecsCluster.Arn
EcsParameters:
TaskCount: 1
TaskDefinitionArn: !Ref TaskDefinitionDaily
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1329 次 |
| 最近记录: |