- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在使用 EventRule
和 EventPattern
,允许多个源 - 例如 CloudFormation 片段:
EventRule:
Type: AWS::Events::Rule
Properties:
EventBusName: MyEventBus
Name: MyRuleName1
EventPattern:
source:
- eventSource1
- eventSource2
- eventSource3
但我现在需要过滤这 3 个事件源中的不同内容 - eventSource1
、eventSource2
和 eventSource3
具有不同的架构。
我知道我可以使用detail
来过滤是否只有一个source
(或者它们都共享被过滤的架构的相同部分):
EventPattern:
source:
- eventSource1
detail:
fieldToFilter1:
- 'yes'
fieldToFilter2:
- 'no'
但是如何对三个事件源中的每个不同字段执行上述操作呢?我知道我可以创建多个规则,但这似乎不是一个理想的解决方案(例如,需要注意使它们相互排斥)。
最佳答案
一条规则可以设置一种模式。有些资源确实允许其中一项或一系列内容,但在这种情况下,文档会说明这一点。现在您需要提供 json 而不是列表,因此您必须创建多个规则。
in your sample code you provided yaml instead json and it works cause yaml will be rendered to json but you were able to use json too, which in this case is often easier while you can copy json from aws console or some sample online.
添加模式为 json 的规则示例:
GitCommitTrigger:
Type: AWS::Events::Rule
Properties:
Description: !Sub "Trigger build project '${BuildProjectName}' after git commit"
EventPattern: !Sub
- |
{
"source": ["aws.codecommit"],
"detail-type": ["CodeCommit Repository State Change"],
"resources": ["${CodeCommitRepoArn}"],
"detail": {
"event": ["referenceCreated", "referenceUpdated"],
"referenceType": ["branch"],
"referenceName": ["${GitBranchName}"]
}
}
- CodeCommitRepoArn: !Ref CodeCommitRepoArn
GitBranchName: !Ref GitBranchName
Name: !Sub "codebuild_${BuildProjectName}"
RoleArn: !GetAtt GitCommitTriggerRole.Arn
State: ENABLED
Targets:
- Arn: !GetAtt CodeBuild.Arn
Id: CodeBuild-1
RoleArn: !GetAtt GitCommitTriggerRole.Arn
关于json - 如何创建过滤多个源的 EventPattern(在 EventBridge 规则内)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70877721/
我目前正在使用 EventRule 和 EventPattern,允许多个源 - 例如 CloudFormation 片段: EventRule: Type: AWS::Events::Rule
我正在两个 NestJS 实例之间设置基本的 EventPattern。但是,其他微服务并未发出/接收事件。 我试图在文档中找到一些具体示例,但看起来设置与调用 clinet.emit/client.
我将 Rx 与使用 EventPattern 的第三方 API 结合使用。在此 API 中,您在对象上注册事件处理程序,然后在对象上调用方法 StartWatching(),以启动事件以开始触发。我正
我们正在创建一个每 5 分钟运行一次的 cron 作业,它只是将“hello world”记录到我们的日志组中。这是通过 AWS Cloudformation 完成的,任务只是回显“hello wor
我是一名优秀的程序员,十分优秀!