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.
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çãoFn::FindInMapbusca valores neste nível.Exemplo
O modelo a seguir usa
Fn::FindInMappara selecionar um ID de imagem com base em um parâmetro de região. O mapeamentoRegionMaparmazena IDs de imagem para duas regiões (hangzhouebeijing), 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: FinanceA função
Fn::FindInMapaceita três argumentos: o nome do mapeamento (RegionMap), a chave de nível superior (resolvida durante a implantação a partir deregionParam) 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?