Amazon web services 如何在cdk堆栈之间传递变量而不产生交叉引用错误?

Amazon web services 如何在cdk堆栈之间传递变量而不产生交叉引用错误?,amazon-web-services,amazon-cloudformation,aws-cdk,clouddevelopmentkit,Amazon Web Services,Amazon Cloudformation,Aws Cdk,Clouddevelopmentkit,我需要将InNamespace传递给CloudMapOptions,以便ECS任务注册到AWS CloudMap,我得到以下错误。我无法使用CfnOutput将它们解耦,因为我需要ECS cloudMapOptions中的名称空间: Stack "users" cannot consume a cross reference from stack "servicediscovery". Cross stack references are only

我需要将InNamespace传递给CloudMapOptions,以便ECS任务注册到AWS CloudMap,我得到以下错误。我无法使用CfnOutput将它们解耦,因为我需要ECS cloudMapOptions中的名称空间:

   Stack "users" cannot consume a cross reference from stack "servicediscovery". Cross stack references are only supported for stacks deployed to the same environment or between nested stacks and their parent stack.

我试了一下,但没有成功。如何在堆栈之间传递中间空间类型的变量?

如果执行以下操作之一,则可能会发生此错误:

  • 您尝试在定义为位于两个不同区域的堆栈之间创建引用
  • 请注意,这样的跨区域

  • 您向构造函数提供不同的参数作为第三个参数
  • 为了解决此问题,请确保在
    StackProps
    中传递相同的
    env
    值,例如

    class MyStack extends Stack {
      constructor(scope: Construct){
        super(scope, "MyStack", {
          env: { 
            account: '123456789', 
            region: 'eu-central-1'
          }
        })
      }
    }