我正在尝试使用 Eventbridge 规则调用 SQS。我为队列设置了以下策略,以允许使用 Terraform 调用 eventbridge。
statement
{
sid="AWSEvents_eventbus_invoke"
actions =["sqs:SendMessage"]
principals{
type="Service"
identifiers =["events.amazonaws.com"]
}
resources =["resource id of the queue that needs to be triggered"]
condition{
test="ArnEquals"
variable ="aws:SourceArn"
values =["eventbridge rule arn"]
}
但是,eventbridge 规则无法调用队列。我是否需要配置任何其他策略语句才能允许 eventBridge 调用 SQS? 我可以使用 AWS Eventbridge 到 SQS 配置的任何参考吗?
这里不是 TF 专家,很难从示例中使用的纯字符串中看出,所以您可以在此处发布生成的 CloudFormation 代码吗?
输出应如下所示
{
"Sid": "AWSEvents_custom-eventbus-ack-sqs-rule_dlq_sqs-rule-target",
"Effect": "Allow",
"Principal": {
"Service": "events.amazonaws.com"
},
"Action": "sqs:SendMessage",
"Resource": "arn:aws:sqs:region:account-id:queue-name",
"Condition": {
"ArnEquals": {
"aws:SourceArn": "arn:aws:events:region:account-id:rule/bus-name/rule-name"
}
}
}