[英]AWS-CDK: Need to pass resource generated in pipeline to a created stack
我目前正在研究跨賬戶部署管道。
我正在使用 4 個不同的堆棧:
最后 2 個堆棧都有包含生成Layer
和構建 JS 文件的props
(用於不同的 Lambda)。
我的cdk.ts
看起來像這樣:
import * as cdk from "@aws-cdk/core"
import { BackendPipelineStack } from "../lib/backend-pipeline"
import { BusinessAssetAPIStack } from "../lib/business-asset-api-stack"
import { projectConfig } from "../config/config"
import { AssetDeploymentStack } from "../lib/asset-deployment-stack"
import { CommonInfrastructureStack } from "../lib/common-infrastructure-stack"
const app = new cdk.App()
const commonInfraStack = new CommonInfrastructureStack(app, "CommonInfrastructureStack", {
stackName: `${projectConfig.resourcePrefix}-common-infrastructure-stack`,
})
const apiStack = new BusinessAssetAPIStack(app, "BusinessAssetAPIStack", {
stackName: `${projectConfig.resourcePrefix}-business-asset-api-stack`,
...,
installationUserEmailIndexName: commonInfraStack.installationTechnicalAssetUserEmailIndexName,
})
const deploymentStack = new AssetDeploymentStack(app, "AssetDeploymentStack", {
stackName: `${projectConfig.resourcePrefix}-asset-deployment-stack`,
...,
installationAccountRegionIndexName: commonInfraStack.installationAccountRegionIndexName,
})
new BackendPipelineStack(app, "BackendPipelineStack", {
nonProdAccountId: "nonProdAccountId",
apiStack,
commonInfraStack,
deploymentStack,
})
我的BackendPipelineStack
堆棧是生成codepipeline.Artifact
的堆棧,它存儲構建的 JS 文件和Layer
。
//backend-pipeline.ts
export class BackendPipelineStack extends Stack {
...
const lambdaBuildOutput = new Artifact("DistArtifact")
const lambdaLayer = new Artifact("LayerArtifact")
...
我希望能夠將兩個Artifacts
傳遞給通過 PipelineStack 構造函數傳遞的其他堆棧。
有沒有辦法做到這一點?
我為那些與我陷入同樣境遇的人找到了答案。
查看管道操作,有一個稱為CloudFormationCreateOrUpdateStack
允許通過CfnParametersCode
覆蓋 Lambda 堆棧中提供的參數(這里是 python 示例) 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.