如果您的AWS Fn :: ImportValue子表达式中包含变量占位符,例如“ $ {Var} ”,则必须将其替换为实际的值。例如,假设您有一个云形成模板与以下行:
"BucketName": {"Fn::ImportValue": {"Fn::Sub": "${BucketStackName}-BucketName"}}
在这种情况下,您需要首先定义$ {BucketStackName},然后使用它:
"BucketStackName": {"Fn::Sub": "${AWS::StackName}"},
"BucketName": {"Fn::ImportValue": {"Fn::Sub": "${BucketStackName}-BucketName"}}
这将用实际的堆栈名称替换$ {BucketStackName},从而使Fn :: ImportValue正确解析。