Todos os produtos
Search
Central de documentação

Resource Orchestration Service:Fn::Select

Última atualização: Jun 27, 2026

A função Fn::Select recupera elementos de dados de uma lista ou dicionário por índice ou chave.

Declaração

Consultar um ou mais elementos de dados de uma lista ou array

Consultar um único elemento de dados com base em um índice

  • JSON

    {
      "Fn::Select": [
        "index",
        [
          "value1",
          "value2",
          ...
        ],
        "default_value"
      ]
    }
  • YAML

    • Sintaxe do nome completo da função:

      Fn::Select:
        - index
        - - value1
          - value2
          - ...
        - default_value
    • Sintaxe da forma abreviada:

      !Select [index, [value1, value2, ...], default_value]

Consultar vários elementos de dados com base em um índice

  • JSON

    {
      "Fn::Select": [
        "start:stop:step",
        [
          "value1",
          "value2",
          ...
        ]
      ]
    }
  • YAML

    • Sintaxe do nome completo da função:

      Fn::Select:
        - start:stop:step
        - - value1
          - value2
          - ...
    • Sintaxe da forma abreviada:

      !Select [start:stop:step, [value1, value2, ...]]

Consultar o valor de uma chave em um dicionário ou tabela de mapeamento

  • JSON

    {
      "Fn::Select": [
        "key",
        {
          "key1": "value1",
          "key2": "value2",
          ...
        },
        "default_value"
      ]
    }
  • YAML

    • Sintaxe do nome completo da função:

      Fn::Select:
        - key
        - key1: value1
          key2: value2
          ...
        - default_value
    • Sintaxe da forma abreviada:

      !Select [key, {key1:value1, key2:value2}, default_value]

Parâmetros

  • index: Índice do elemento de dados a consultar. Valores válidos: 0 a N - 1 ou -N a -1, onde N é o número de elementos na lista. Valores negativos indicam leitura da direita para a esquerda. Se o índice for inválido, a função retorna o valor padrão. Caso nenhum valor padrão esteja especificado, retorna uma string vazia.

  • start, stop e step: As posições inicial e final definem o intervalo de elementos a consultar em uma lista. O valor de step determina o intervalo entre os elementos selecionados.

    • start:stop: Os valores válidos seguem as mesmas regras do parâmetro index. Valor padrão de start: 0. Valor padrão de stop: N. A função retorna elementos da posição start + 1 até a posição stop. Se os valores forem inválidos, retorna uma lista vazia.

    • start:stop:step: Valor padrão de step: 1. Se step for negativo, o índice inicial deve ser maior que o índice final. A função selecione elementos a cada intervalo de -(step - 1) de start até stop + 1 e retorna uma lista.

  • key: Chave no dicionário. A função retorna o valor correspondente. Se a chave não existir, retorna o valor padrão. Caso nenhum valor padrão esteja especificado, retorna uma string vazia.

  • default_value: Valor de fallback retornado quando o índice ou a chave especificada é inválido. Se omitido e o índice ou chave for inválido, retorna uma string vazia.

Valor de retorno

Um ou mais elementos de dados.

Exemplos

Consultar um ou mais elementos de dados de uma lista ou array

  • Neste exemplo, o retorno é "grapes".

    !Select ['1', [apples, grapes, oranges, mangoes]] 
    {
      "Fn::Select": [
        "1",
        ["apples", "grapes", "oranges", "mangoes"]
      ]
    }
  • Neste exemplo, o retorno é [2, 3].

    !Select ['1:3', [1,2,3,4,5]]
    {
      "Fn::Select": [
        "1:3",
        [1,2,3,4,5]
      ]
    }
  • Neste exemplo, o retorno é [1, 3, 5].

    !Select ['::2', [1,2,3,4,5]]
    {
      "Fn::Select": [
        "::2",
        [1,2,3,4,5]
      ]
    }
  • Neste exemplo, o retorno é [5, 3].

    !Select ['5:0:-2', [1,2,3,4,5]]
    {
      "Fn::Select": [
        "5:0:-2",
        [1,2,3,4,5]
      ]
    }

Consultar o valor de uma chave em um dicionário

!Select [key1, {key1: grapes, key2: mangoes}]
{
  "Fn:Select": [
    "key1",
    {
      "key1": "grapes",
      "key2": "mangoes"
    }
  ]
}

Neste exemplo, o retorno é "grapes".

Consultar um elemento de dados de uma lista delimitada por vírgulas

Parameters:
  userParam:
    Type: CommaDelimitedList
    Default: 10.0.0.1, 10.0.0.2, 10.0.0.3
Resources:
  resourceID:
    Properties:
      CidrBlock:
        !Select:
          - '0'
          - !Ref userParam

Neste exemplo, o retorno é 10.0.0.1.

Funções compatíveis

O valor de índice do Fn::Select aceita a função Ref.

A lista de objetos do Fn::Select aceita as seguintes funções: