Amazon web services 由Lambda函数支持的AWS CDK自定义资源

Amazon web services 由Lambda函数支持的AWS CDK自定义资源,amazon-web-services,amazon-cloudformation,aws-cdk,Amazon Web Services,Amazon Cloudformation,Aws Cdk,CloudFormation itslef支持由lambda或ec2支持的自定义资源 然而,我在AWS CDK上找不到类似的东西。现在,定义自定义资源的唯一方法似乎是指定资源、操作和参数 这是否意味着使用当前的CDK,我可以选择是调用lambda函数还是调用特定的“CLI”命令?有人能解释AWS CDK中定制资源背后的基本逻辑吗 另外,我完全知道如何在CloudFormation上操作自定义资源。您正在引用的自定义资源位于包中 您可以在中找到TypeScript示例: 界面复制操作道具{ sou

CloudFormation itslef支持由lambda或ec2支持的自定义资源

然而,我在AWS CDK上找不到类似的东西。现在,定义自定义资源的唯一方法似乎是指定资源、操作和参数

这是否意味着使用当前的CDK,我可以选择是调用lambda函数还是调用特定的“CLI”命令?有人能解释AWS CDK中定制资源背后的基本逻辑吗


另外,我完全知道如何在CloudFormation上操作自定义资源。

您正在引用的自定义资源位于包中

您可以在中找到TypeScript示例:

界面复制操作道具{
sourceBucket:IBucket;
目标桶:IBucket;
}
类CopyOperation扩展了构造{
构造函数(父:构造函数,名称:字符串,props:CopyOperationProps){
超级(家长、姓名);
const lambdaProvider=new lambda.SingletonFunction(此“提供程序”{
uuid:'f7d4f730-4ee1-11e8-9c2d-fa7ae01bbebc',
运行时:lambda.runtime.PYTHON_3_7,
代码:lambda.code.fromAsset(“../copy handler”),
处理程序:“index.handler”,
超时:持续时间。秒(60),
});
新CustomResource(此“资源”{
提供者:CustomResourceProvider.lambda(lambdaProvider),
特性:{
sourceBucketArn:props.sourceBucket.bucketArn,
目标桶:道具.targetBucket.bucketArn,
}
});
}
}

谢谢。这比使用对流层自定义资源要方便得多。如果我要返回一些东西,请以这种方式使用它。。。您知道如何获取lambda返回的值吗?提前感谢如果您将
{myAttribute:''.}
作为自定义资源中的数据返回,请使用
getAtt()
getAtt('myAttribute')
上的
getAtt()
方法。再次回答此问题将非常好,因为代码示例已弃用。。。