在Amazon EventBridge中,您可以使用云形成支持模式注册。以下是包含代码示例的解决方法:
首先,您需要创建一个云形成支持模式的文件,命名为 my-cloudformation-template.json,并将以下内容添加到文件中:
{
"AWSTemplateFormatVersion": "2010-09-09",
"Resources": {
"MyLambdaFunction": {
"Type": "AWS::Lambda::Function",
"Properties": {
"Code": {
"S3Bucket": "my-bucket",
"S3Key": "my-lambda-function.zip"
},
"Handler": "index.handler",
"Role": "arn:aws:iam::123456789012:role/my-lambda-role",
"Runtime": "nodejs12.x"
}
},
"MyRule": {
"Type": "AWS::Events::Rule",
"Properties": {
"Description": "My EventBridge rule",
"EventPattern": {
"source": [
"aws.s3"
],
"detail-type": [
"AWS API Call via CloudTrail"
],
"detail": {
"eventSource": [
"s3.amazonaws.com"
],
"eventName": [
"PutObject",
"DeleteObject"
]
}
},
"State": "ENABLED",
"Targets": [
{
"Arn": {
"Fn::GetAtt": [
"MyLambdaFunction",
"Arn"
]
},
"Id": "MyTarget"
}
]
}
}
}
}
在上面的示例中,我们定义了一个Lambda函数和一个EventBridge规则。规则使用Event模式来定义事件源、事件类型和事件详情,并将Lambda函数作为目标。
接下来,您可以使用AWS CLI或AWS SDK来创建云形成栈并注册云形成模板。以下是使用AWS CLI的示例命令:
aws cloudformation create-stack --stack-name my-eventbridge-stack --template-body file://my-cloudformation-template.json
上述命令将创建一个名为 my-eventbridge-stack 的云形成栈,并使用 my-cloudformation-template.json 文件中定义的模板进行注册。
完成注册后,您可以在AWS管理控制台中查看和管理您的云形成栈。