Amazon web services AWS云信息:ECS任务定义ARN
我已经创建了cfn模板来定期触发cloudwatch事件,以运行Fargate启动类型的ecs任务。 CW规则如下所示:Amazon web services AWS云信息:ECS任务定义ARN,amazon-web-services,amazon-cloudformation,amazon-ecs,amazon-cloudwatch,Amazon Web Services,Amazon Cloudformation,Amazon Ecs,Amazon Cloudwatch,我已经创建了cfn模板来定期触发cloudwatch事件,以运行Fargate启动类型的ecs任务。 CW规则如下所示: sfECSScheduleEventRule: Type: AWS::Events::Rule Description: '' Properties: State: ENABLED ScheduleExpression: rate(1 minute) Name: !Sub sf-eventrule-ecs-${WPRegion}-${WPEnv} Target
sfECSScheduleEventRule:
Type: AWS::Events::Rule
Description: ''
Properties:
State: ENABLED
ScheduleExpression: rate(1 minute)
Name: !Sub sf-eventrule-ecs-${WPRegion}-${WPEnv}
Targets:
- Id: !Sub sf-ecs-target-task-${WPRegion}-${WPEnv}
Arn: !GetAtt
- ECSCluster
- Arn
RoleArn: !GetAtt
- ECSTaskExecutionRole
- Arn
EcsParameters:
#arn:aws:ecs:ap-northeast-1:448965722616:task-definition/fargate-task-jp-stg:latest
TaskDefinitionArn: !Ref sfECSTaskDefinition
TaskCount: !Ref ECSTaskDesiredCount
LaunchType: FARGATE
PlatformVersion: 'LATEST'
NetworkConfiguration:
AwsVpcConfiguration:
AssignPublicIp: DISABLED
Subnets:
- !Ref sfPrivateSubnet1
创建堆栈时,我发现规则的目标如下所示:
无法触发任务。但是,当我手动将任务修订版从4更改为最新的,,它就会工作。任务定期执行
如何更改规则以使其指向最新规则?您正在使用:
TaskDefinitionArn: !Ref sfECSTaskDefinition
根据版本号,返回带有修订号的arn。还根据:
如果未提供任务修订,则默认为创建资源时的最新修订
因此,我认为如果您手动创建arn,您应该能够获得最新版本
!Sub "arn:aws:ecs:${AWS::Region}:${AWS::AccountId}:task-definition/fargate-task-jp-stg"
不知道您的任务系列名称
fargate task jp stg
是否在模板中参数化。如果是,那么您也可以在子部分
内在函数中引用它。我不知道还有什么问题?您为什么创建CW事件规则而不使用功能?非常感谢。手动arn工作正常。顺便说一句,不是AWS::Account Id,而是AWS::AccountId