Todos os produtos
Search
Central de documentação

Resource Orchestration Service:Mappings

Última atualização: Jun 27, 2026

A seção Mappings define tabelas de consulta estáticas de chave-valor em um modelo. Use Fn::FindInMap nas seções Resources ou Outputs para recuperar um valor de um mapa de dois níveis declarado nesta seção.

Sintaxe

A seção Mappings contém pares de chave-valor. As chaves devem ser strings. Os valores podem ser dos tipos String, Number, Boolean, List ou Dictionary. Ao declarar vários mapeamentos em JSON, separe-os por vírgulas (,). Cada nome de mapeamento deve ser único na seção.

Nota
  • Os mapeamentos devem conter apenas dados puros e não podem incluir funções.

  • Evite definir mapas de nível único na seção Mappings. O Resource Orchestration Service (ROS) não consegue consultar valores em mapas de nível único.

Mappings:
  ValidMap:
    '1234567890':
      TestValu3: value3
    TestKey1:
      TestValu1: value1
    TestKey2:
      TestValu2: value2
    TestKey4:
      TestValu4: 1234

Cada campo na seção Mappings tem uma função específica:

  • ValidMap — nome lógico do mapeamento, único no modelo.

  • TestKey1, TestKey2, TestKey4, '1234567890' — chaves de nível superior (strings).

  • TestValu1: value1 — pares de chave-valor de segundo nível. A função Fn::FindInMap busca valores neste nível.

    Exemplo

    O modelo a seguir usa Fn::FindInMap para selecionar um ID de imagem com base em um parâmetro de região. O mapeamento RegionMap armazena IDs de imagem para duas regiões (hangzhou e beijing), cada uma com as chaves '32' e '64'.

    ROSTemplateFormatVersion: '2015-09-01'
    Parameters:
      regionParam:
        Description: the region where you want to create the Elastic Compute Service (ECS) instance
        Type: String
        AllowedValues:
          - hangzhou
          - beijing
    Mappings:
      RegionMap:
        hangzhou:
          '32': m-25l0rcfjo
          '64': m-25l0rcfj1
        beijing:
          '32': m-25l0rcfj2
          '64': m-25l0rcfj3
    Resources:
      WebServer:
        Type: ALIYUN::ECS::Instance
        Properties:
          ImageId:
            Fn::FindInMap:
              - RegionMap
              - Ref: regionParam
              - '32'
          InstanceType: ecs.t1.small
          SecurityGroupId: sg-25zwc****
          ZoneId: cn-beijing-b
          Tags:
            - Key: Department1
              Value: HumanResource
            - Key: Department2
              Value: Finance
                        

    A função Fn::FindInMap aceita três argumentos: o nome do mapeamento (RegionMap), a chave de nível superior (resolvida durante a implantação a partir de regionParam) e a chave de segundo nível ('32').

Perguntas frequentes

Não é possível consultar um valor de um mapa de nível único definido na seção Mappings. Para mais informações, consulte Como consultar um valor de um mapa em um modelo?