Amazon web services 如何在CfnEndpoint和SecretTargetAttachment之间添加DepdensOn属性?
我正在同一个堆栈中创建一个数据库集群和一个DMS。我正在使用SecretsManager将DB集群的连接属性传递给端点。我在端点和DB集群之间添加了一个依赖项,但当我尝试部署堆栈时,会遇到如下问题:Amazon web services 如何在CfnEndpoint和SecretTargetAttachment之间添加DepdensOn属性?,amazon-web-services,aws-cdk,Amazon Web Services,Aws Cdk,我正在同一个堆栈中创建一个数据库集群和一个DMS。我正在使用SecretsManager将DB集群的连接属性传递给端点。我在端点和DB集群之间添加了一个依赖项,但当我尝试部署堆栈时,会遇到如下问题: 11/14 | 10:08:49 AM | CREATE_COMPLETE | AWS::RDS::DBCluster | FooDBCluster 11/14 | 10:08:51 AM | CREATE_IN_PROGRESS |
11/14 | 10:08:49 AM | CREATE_COMPLETE | AWS::RDS::DBCluster | FooDBCluster
11/14 | 10:08:51 AM | CREATE_IN_PROGRESS | AWS::DMS::Endpoint | fooendpoint
11/14 | 10:08:51 AM | CREATE_IN_PROGRESS | AWS::SecretsManager::SecretTargetAttachment | FooDBSecretAttachment (FooDBSecretAttachmentE2E5F50F)
12/14 | 10:08:52 AM | CREATE_FAILED | AWS::DMS::Endpoint | fooendpoint Could not find a value associated with JSONKey in SecretString
如果我在开始部署端点之前补充了DB集群的部署,则不会发生同样的情况。这意味着在创建DB集群之后,主机和端口不在机密中。实际上,在CDK中,它们是在DB集群之后声明的
但是,我无法在端点和SecretTargetAttachment之间添加依赖项,因为SecretTargetAttachment不是CfnEndpoint addDependencyOn方法所期望的CfnResource类型。如果访问基础节点,则可以添加依赖项,如下所示
if (secretsAttachment.node.defaultChild) {
endPoint.node.addDependency(secretsAttachment.node.defaultChild);
}