使用 Amazon CDK 创建 Event Bridge 堆栈
Create a Event Bridge stack with Amazon CDK
我正在使用 AWS CDK 创建事件桥堆栈。
总而言之,这个想法是,CDK 项目将负责创建事件总线、规则和目标。
在我的场景中,目标是已经存在的 Lambda 函数。
我正在关注这个文档:
https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html#properties
我认为下面代码的问题在于我没有指向存在 lambda 的存储桶,但我不能指向,因为我想直接指向已部署的 lambda 函数。
可以用CDK实现吗?
const cdk = require('@aws-cdk/core');
const busCdk = require('@aws-cdk/aws-events')
const ruleCdk = require('@aws-cdk/aws-events')
const targets = require('@aws-cdk/aws-events-targets')
const functionCdk = require('@aws-cdk/aws-lambda')
class PocCdkStack extends cdk.Stack {
/**
*
* @param {cdk.Construct} scope
* @param {string} id
* @param {cdk.StackProps=} props
*/
constructor(scope, id, props) {
super(scope, id, props);
const bus = new busCdk.EventBus(this,'ProfileEventBus',{
eventBusName: "PocProfileBus"
})
const rule = new ruleCdk.Rule(this, "newRule", {
description: "description",
eventPattern: {
source: ["order_service"]
},
eventBus: bus
});
const func = new functionCdk.Function(this, 'testLambda', {
functionArn: 'arn:aws:lambda:us-east-1:111111111111:function:ccna-poc-eventbus-project-test-triggerByEventBusTwo'
});
rule.addTarget(new targets.LambdaFunction(func));
}
}
module.exports = { PocCdkStack }
谢谢大家,
我相信我已经找到了解决方案。
const func = functionCdk.Function.fromFunctionArn(this, 'testLambda', 'arn:aws:lambda:us-east-1:11111:function:ccna-poc-eventbus-project-test-triggerByEventBusTwo')
有一个静态方法可以完成这项工作。
我正在使用 AWS CDK 创建事件桥堆栈。 总而言之,这个想法是,CDK 项目将负责创建事件总线、规则和目标。
在我的场景中,目标是已经存在的 Lambda 函数。
我正在关注这个文档:
https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html#properties
我认为下面代码的问题在于我没有指向存在 lambda 的存储桶,但我不能指向,因为我想直接指向已部署的 lambda 函数。
可以用CDK实现吗?
const cdk = require('@aws-cdk/core');
const busCdk = require('@aws-cdk/aws-events')
const ruleCdk = require('@aws-cdk/aws-events')
const targets = require('@aws-cdk/aws-events-targets')
const functionCdk = require('@aws-cdk/aws-lambda')
class PocCdkStack extends cdk.Stack {
/**
*
* @param {cdk.Construct} scope
* @param {string} id
* @param {cdk.StackProps=} props
*/
constructor(scope, id, props) {
super(scope, id, props);
const bus = new busCdk.EventBus(this,'ProfileEventBus',{
eventBusName: "PocProfileBus"
})
const rule = new ruleCdk.Rule(this, "newRule", {
description: "description",
eventPattern: {
source: ["order_service"]
},
eventBus: bus
});
const func = new functionCdk.Function(this, 'testLambda', {
functionArn: 'arn:aws:lambda:us-east-1:111111111111:function:ccna-poc-eventbus-project-test-triggerByEventBusTwo'
});
rule.addTarget(new targets.LambdaFunction(func));
}
}
module.exports = { PocCdkStack }
谢谢大家,
我相信我已经找到了解决方案。
const func = functionCdk.Function.fromFunctionArn(this, 'testLambda', 'arn:aws:lambda:us-east-1:11111:function:ccna-poc-eventbus-project-test-triggerByEventBusTwo')
有一个静态方法可以完成这项工作。