全部产品
Search
文档中心

Resource Orchestration Service:Mappings

更新时间:Jul 02, 2025

Bagian Mappings memetakan sebuah kunci ke serangkaian nilai bernama yang sesuai. Dalam bagian Resources dan Outputs dari sebuah template, Anda dapat menggunakan fungsi bawaan Fn::FindInMap untuk mengambil nilai yang sesuai dengan kunci-kunci dalam peta dua tingkat yang dideklarasikan di bagian Mappings.

Sintaks

Bagian Mappings berisi pasangan kunci-nilai. Kunci bertipe String, sedangkan nilai dapat bertipe String, Number, Boolean, List, atau Dictionary. Jika Anda mendeklarasikan beberapa pemetaan dalam JSON, pisahkan setiap pemetaan dengan tanda koma (,). Setiap nama pemetaan harus unik.

Catatan
  • Pemetaan harus berupa data murni dan tidak boleh mengandung fungsi.

  • Kami menyarankan agar Anda tidak mendefinisikan peta satu tingkat di bagian Mappings karena Resource Orchestration Service (ROS) tidak dapat mengambil nilai dari peta satu tingkat yang didefinisikan di bagian Mappings sebuah template.

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

Contoh

Contoh berikut menunjukkan cara menggunakan Fn::FindInMap untuk mengambil nilai balikan:

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  regionParam:
    Description: wilayah tempat Anda ingin membuat instance Elastic Compute Service (ECS)
    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
                    

FAQ

Anda tidak dapat mengambil nilai dari peta satu tingkat yang didefinisikan di bagian Mappings. Untuk informasi lebih lanjut tentang cara mengambil nilai dari peta di bagian Mappings, lihat Bagaimana cara mengambil nilai dari peta dalam template?