すべてのプロダクト
Search
ドキュメントセンター

マッピング

最終更新日: Mar 18, 2020

マッピングは、キーと値のマッピングテーブルです。テンプレートのリソースと出力では、組み込み関数 Fn :: FindInMap を使用して、キーを指定してマッピングテーブル値を取得できます。

構文

マッピングはキーと値のペアで構成され、key と value は文字列または数字になります。複数のマッピングを定義する場合は、カンマで区切ります。各マッピングの名前は一意である必要です。

次の例は、正しいマッピングを示しています。

  1. "Mappings" : {
  2. "ValidMapping" : {
  3. "TestKey1" : { "TestValu1" : "value1" },
  4. "TestKey2" : { "TestValu2" : "value2" },
  5. 1234567890 : { "TestValu3" : "value3" },
  6. "TestKey4" : { "TestValu4" : 1234 }
  7. }
  8. }

次の例は、間違ったマッピングを示しています。

  1. "Mappings" : {
  2. "InvalidMapping1" : {
  3. "ValueList" : [ "foo", "bar" ],
  4. "ValueString" : "baz"
  5. },
  6. "InvalidMapping2": [ "foo", { "bar" : "baz" } ],
  7. "InvalidMapping3": "foobar"
  8. }

次の例は、組み込み関数 Fn :: FindInMap を使用してマッピングテーブルの値を取得する方法を示しています。

  1. {
  2. "ROSTemplateFormatVersion": "2015-09-01",
  3. "Parameters": {
  4. "regionParam": {
  5. "Description": "Select a region to create an ECS instance".
  6. "Type": "String",
  7. "AllowedValues": ["hangzhou", "beijing"]
  8. }
  9. },
  10. "Mappings" : {
  11. "RegionMap" : {
  12. "hangzhou" : { "32" : "m-25l0rcfjo", "64" : "m-25l0rcfj1" },
  13. "beijing" : { "32" : "m-25l0rcfj2", "64" : "m-25l0rcfj3" }
  14. }
  15. },
  16. "Resources": {
  17. "WebServer": {
  18. "Type": "ALIYUN::ECS::Instance",
  19. "Properties": {
  20. "ImageId" : { "Fn::FindInMap" : [ "RegionMap", { "Ref" : "regionParam" }, "32"]},
  21. "InstanceType": "ecs.t1.small",
  22. "SecurityGroupId": "sg-25zwc3se0",
  23. "ZoneId": "cn-beijing-b",
  24. "Tags": [{
  25. "Key": "Department1",
  26. "Value": "HumanResource"
  27. },{
  28. "Key": "Department2",
  29. "Value": "Finance"
  30. }
  31. ]
  32. }
  33. }
  34. }
  35. }