问题描述
我希望能够设置一个AWS CloudWatch事件规则,该规则将在我的一个步骤功能完成时(成功或失败)触发SNS主题。我不希望所有步函数都运行此命令,但是基于通用名称前缀,它们的数量不确定。理想情况下,我希望能够执行类似的操作,但是看来事件模式中不允许使用通配符。有什么创造性的方法可以解决此问题?
{
"source": [
"aws.states"
],"detail-type": [
"Step Functions Execution Status Change"
],"detail": {
"status": [
"Failed","SUCCEEDED"
],"stateMachineArn": [
"arn:aws:states:us-west-1:123456789012:stateMachine:Prefix-*"
]
}
}
解决方法
根据AWS official forum,Cloudwatch事件规则不支持通配符。
您将必须在状态机ARN列表中添加所有arn。要轻松做到这一点,您可以编写一个执行以下操作的脚本:
- 获取具有特定前缀的所有状态机名称。
- 更新Cloudwatch事件规则,以包括具有特定前缀的所有状态机arn。