Todos os produtos
Search
Central de documentação

Resource Orchestration Service:Fn::GetStackOutput

Última atualização: Jun 27, 2026

A função intrínseca Fn::GetStackOutput consulta a saída de uma pilha.

Declaração

  • JSON

    {
      "Fn::GetStackOutput": [
        Stack,
        OutputName,
        RegionId
      ]
    }
  • YAML

    • Sintaxe do nome completo da função:

      Fn::GetStackOutput: Stack, OutputName, RegionId
    • Sintaxe da forma abreviada:

      !GetStackOutput [Stack, OutputName, RegionId]

Parâmetros

  • Stack: Obrigatório. Nome ou ID da pilha. O valor deve ser do tipo String.

  • OutputName: Obrigatório. Nome de uma saída definida na seção Outputs da pilha. O valor deve ser do tipo String.

  • RegionId: Opcional. ID da região da pilha referenciada. O valor deve ser do tipo String. O padrão é a região da pilha onde a função é chamada.

Valor de retorno

Retorna o valor da saída identificada por OutputName. O tipo corresponde ao tipo do valor de saída.

O sistema retorna uma string vazia nos seguintes casos:

  • Um parâmetro obrigatório está vazio.

  • A pilha não existe ou foi excluída.

  • A pilha está em execução ou falhou na exclusão.

  • A saída especificada não existe na pilha.

Limites

  • Há suporte apenas para referências unidirecionais. A pilha A pode referenciar a saída da pilha B, e a pilha B pode referenciar a saída da pilha C. No entanto, a pilha B não pode referenciar a saída da pilha A (pois isso criaria uma referência circular), e uma pilha não pode referenciar sua própria saída (por exemplo, não há suporte para A→A).

  • A profundidade máxima de referência é 3. Há suporte para a cadeia A→B→C, mas não para A→B→C→D.

Nota

A, B, C, D e E representam o nome de uma saída em uma pilha. A profundidade máxima de referência indica o limite máximo de aninhamento de OutputName na função Fn::GetStackOutput.

Modelos de exemplo

O exemplo a seguir mostra três pilhas — stack_a, stack_b e stack_c — em que a saída de cada uma depende da saída da anterior. A saída final da stack_c resulta em stack_depth_3, valor originalmente definido na stack_a.

  • stack_a

    ROSTemplateFormatVersion: '2015-09-01'
    Outputs:
    	OutputValueA:
      	Value: 'stack_depth_3'
  • stack_b

    ROSTemplateFormatVersion: '2015-09-01'
    Outputs:
    	OutputValueB:
      	Value: 
        	Fn::GetStackOutPut:
        	- stack_a_id
        	- OutputValueA
  • stack_c

    ROSTemplateFormatVersion: '2015-09-01'
    Outputs:
    	OutputValueC:
      	Value: 
        	Fn::GetStackOutPut:
        	- stack_b_id
        	- OutputValueB

Exemplos

!GetStackOutput [4a6c9851-3b0f-4f5f-b4ca-a14bf691****, InstanceId]