Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services Fn:GetAtt未返回StateMachine。名称为字符串_Amazon Web Services_Aws Step Functions - Fatal编程技术网

Amazon web services Fn:GetAtt未返回StateMachine。名称为字符串

Amazon web services Fn:GetAtt未返回StateMachine。名称为字符串,amazon-web-services,aws-step-functions,Amazon Web Services,Aws Step Functions,在我的无服务器yaml中,我试图在自定义变量中捕获完整的状态机名称: STATEMACHINE_ARN_NAME: Fn::GetAtt: ["preMobilizatonStateMachine", "Name"] 状态机定义为 步骤功能: 状态机: 预移动状态机: 据 应返回字符串值:MyStateMachine-ABCDEFGHIJ1K 但当我尝试部署时,会出现以下错误: 正在尝试将非字符串值填充到变量${self:custom.STATEMACHINE\u ARN\u NAME}

在我的无服务器yaml中,我试图在自定义变量中捕获完整的状态机名称:

STATEMACHINE_ARN_NAME: 
  Fn::GetAtt: ["preMobilizatonStateMachine", "Name"]
状态机定义为

步骤功能: 状态机: 预移动状态机:

应返回字符串值:MyStateMachine-ABCDEFGHIJ1K

但当我尝试部署时,会出现以下错误:


正在尝试将非字符串值填充到变量${self:custom.STATEMACHINE\u ARN\u NAME}的字符串中。请确保属性的值是字符串。

我也遇到了同样的问题,结果证明根本原因是因为我使用了如下可选选项:${opt:variableName,${self:custom.someVariable'} 其中custom.someVariable正在使用GetAtt函数

显然,可选变量不适用于GetAtt函数,只要我删除了可选部分,一切就开始工作了

环境: 一些变量:
Fn::GetAtt:[RedisCluster,RedisEndpoint.Port]

在cloudformation中声明的自定义变量STATEMACHINE\u ARN\u名称在哪里?能否共享cloudformation片段?我遇到了相同的问题;我认为函数的求值是在尝试使用它之后发生的,因此您看到的是对象而不是求值字符串。您解决过这个问题吗?
{ "Fn::GetAtt": ["MyStateMachine", "Name"] }