如何通过CloudFormation创建关联SNS Topic的SageMaker训练任务EventBridge规则?
CloudFormation实现示例:SageMaker训练完成事件触发SNS通知
以下是完整的CloudFormation YAML模板,实现你需要的功能:
AWSTemplateFormatVersion: '2010-09-09' Description: CloudFormation template to create EventBridge Rule for SageMaker Training Job Completed events and target to SNS Topic Resources: # 创建SNS Topic用于接收通知 SageMakerTrainingCompleteTopic: Type: AWS::SNS::Topic Properties: DisplayName: SageMaker-Training-Job-Complete-Notifications # 创建EventBridge规则,匹配SageMaker训练任务完成事件 SageMakerTrainingCompleteRule: Type: AWS::Events::Rule Properties: Description: Trigger when SageMaker training job completes successfully EventPattern: source: - aws.sagemaker detail-type: - SageMaker Training Job State Change detail: TrainingJobStatus: - Completed State: ENABLED Targets: - Arn: !Ref SageMakerTrainingCompleteTopic Id: SageMakerTrainingCompleteTarget # 授予EventBridge权限向SNS Topic发送消息 SNSTopicPolicy: Type: AWS::SNS::TopicPolicy Properties: PolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Principal: Service: events.amazonaws.com Action: sns:Publish Resource: !Ref SageMakerTrainingCompleteTopic Topics: - !Ref SageMakerTrainingCompleteTopic
关键部分说明:
- EventPattern:完全对应你提供的事件模式,确保只捕获SageMaker训练任务进入
Completed状态的变更事件 - Targets:将规则与创建的SNS Topic关联,
Id是目标的唯一标识(可自定义) - TopicPolicy:必须配置此权限,否则EventBridge无法向SNS Topic发布消息,导致规则触发失败
你可以根据需要修改资源名称、Topic显示名称等参数,部署此模板后,当SageMaker训练任务完成时,对应的通知会发送到该SNS Topic。
内容的提问来源于stack exchange,提问作者haju
相关产品推荐
相关产品推荐

