

Ini adalah *Panduan Referensi CloudFormation Template* baru. Harap perbarui bookmark dan tautan Anda. Untuk bantuan memulai CloudFormation, lihat [Panduan AWS CloudFormation Pengguna](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# `Fn:: ImportValue`
<a name="intrinsic-function-reference-importvalue"></a>

Fungsi intrinsik `Fn::ImportValue` mengembalikan nilai output yang diekspor oleh tumpukan lain. Anda biasanya menggunakan fungsi ini untuk membuat referensi lintas-tumpukan. *Untuk informasi selengkapnya, lihat [Panduan: Mengacu ke output sumber daya di CloudFormation tumpukan lain di](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/walkthrough-crossstackref.html) Panduan Pengguna.AWS CloudFormation *

**Tip**  
Untuk mereferensikan output tumpukan di seluruh AWS akun atau Wilayah tanpa memerlukan ekspor eksplisit, gunakan. [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getstackoutput.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getstackoutput.html) `Fn::GetStackOutput`membuat referensi lemah yang diselesaikan pada waktu pembuatan atau pembaruan tumpukan dan tidak memerlukan tumpukan yang direferensikan untuk mendeklarasikan file. `Export`

Dalam contoh cuplikan templat berikut, Tumpukan A mengekspor nilai-nilai grup keamanan VPC dan Tumpukan B mengimpornya.

**catatan**  
Pembatasan berikut berlaku untuk referensi cross-stack:  
Untuk masing-masing Akun AWS, `Export` nama harus unik dalam suatu Wilayah.
Saat menggunakan `Export` dan`Fn::ImportValue`, referensi cross-stack terbatas pada akun dan Wilayah yang sama. Untuk mereferensikan output tumpukan di seluruh akun atau Wilayah, gunakan`Fn::GetStackOutput`.
Untuk output, nilai `Name` properti tidak `Export` dapat digunakan `Ref` atau `GetAtt` fungsi yang bergantung pada sumber daya.  
Demikian pula, `ImportValue` fungsi tidak dapat menyertakan `Ref` atau `GetAtt` fungsi yang bergantung pada sumber daya.
Setelah tumpukan lain mengimpor nilai output, Anda tidak dapat menghapus tumpukan yang mengekspor nilai output atau memodifikasi nilai output yang diekspor. Semua impor harus dihapus sebelum Anda dapat menghapus tumpukan ekspor atau mengubah nilai output.

## JSON
<a name="intrinsic-function-reference-importvalue-export.json"></a>

Ekspor Tumpukan A

```
"Outputs" : {
  "PublicSubnet" : {
    "Description" : "The subnet ID to use for public web servers",
    "Value" :  { "Ref" : "PublicSubnet" },
    "Export" : { "Name" : {"Fn::Sub": "${AWS::StackName}-SubnetID" }}
  },
  "WebServerSecurityGroup" : {
    "Description" : "The security group ID to use for public web servers",
    "Value" :  { "Fn::GetAtt" : ["WebServerSecurityGroup", "GroupId"] },
    "Export" : { "Name" : {"Fn::Sub": "${AWS::StackName}-SecurityGroupID" }}
  }
}
```

## YAML
<a name="intrinsic-function-reference-importvalue-export.yaml"></a>

Ekspor Tumpukan A

```
Outputs:
  PublicSubnet:
    Description: The subnet ID to use for public web servers
    Value:
      Ref: PublicSubnet
    Export:
      Name:
        'Fn::Sub': '${AWS::StackName}-SubnetID'
  WebServerSecurityGroup:
    Description: The security group ID to use for public web servers
    Value:
      'Fn::GetAtt':
        - WebServerSecurityGroup
        - GroupId
    Export:
      Name:
        'Fn::Sub': '${AWS::StackName}-SecurityGroupID'
```

## JSON
<a name="intrinsic-function-reference-importvalue-import.json"></a>

Impor Tumpukan B

```
"Resources" : {
  "WebServerInstance" : {
    "Type" : "AWS::EC2::Instance",
    "Properties" : {
      "InstanceType" : "t2.micro",
      "ImageId" : "ami-a1b23456",
      "NetworkInterfaces" : [{
        "GroupSet" : [{"Fn::ImportValue" : {"Fn::Sub" : "${NetworkStackNameParameter}-SecurityGroupID"}}],
        "AssociatePublicIpAddress" : "true",
        "DeviceIndex" : "0",
        "DeleteOnTermination" : "true",
        "SubnetId" : {"Fn::ImportValue" : {"Fn::Sub" : "${NetworkStackNameParameter}-SubnetID"}}
      }]
    }
  }
}
```

## YAML
<a name="intrinsic-function-reference-importvalue-import.yaml"></a>

Impor Tumpukan B

```
Resources:
  WebServerInstance:
    Type: AWS::EC2::Instance
    Properties:
      InstanceType: t2.micro
      ImageId: ami-a1b23456
      NetworkInterfaces:
        - GroupSet:
            - Fn::ImportValue: 
              'Fn::Sub': '${NetworkStackNameParameter}-SecurityGroupID'
          AssociatePublicIpAddress: 'true'
          DeviceIndex: '0'
          DeleteOnTermination: 'true'
          SubnetId: Fn::ImportValue: 
            'Fn::Sub': '${NetworkStackNameParameter}-SubnetID'
```

## Pernyataan
<a name="w2aac24c48c13"></a>

### JSON
<a name="intrinsic-function-reference-importvalue-syntax.json"></a>

```
{ "Fn::ImportValue" : {{sharedValueToImport}} }
```

### YAML
<a name="intrinsic-function-reference-importvalue-syntax.yaml"></a>

Anda dapat menggunakan nama fungsi penuh:

```
Fn::ImportValue: {{sharedValueToImport}}
```

Sebagai alternatif, Anda dapat menggunakan bentuk pendek:

```
!ImportValue {{sharedValueToImport}}
```

**penting**  
Anda tidak dapat menggunakan bentuk pendek `!ImportValue` ketika berisi bentuk pendek`!Sub`.   

```
# do not use
!ImportValue
  !Sub '${NetworkStack}-SubnetID'
```
Sebaliknya, Anda harus menggunakan nama fungsi lengkap, misalnya:  

```
Fn::ImportValue:
  !Sub "${NetworkStack}-SubnetID"
```

## Parameter
<a name="w2aac24c48c15"></a>

dibagikan ValueToImport  
Nilai output stack yang ingin Anda impor.

## Nilai yang dikembalikan
<a name="w2aac24c48c17"></a>

Nilai output stack.

## Contoh
<a name="w2aac24c48c19"></a>

### JSON
<a name="intrinsic-function-reference-importvalue-example.json"></a>

```
{ "Fn::ImportValue" : {"Fn::Sub": "${NetworkStackNameParameter}-SubnetID" } }
```

### YAML
<a name="intrinsic-function-reference-importvalue-example.yaml"></a>

```
Fn::ImportValue:
  !Sub "${NetworkStackName}-SecurityGroupID"
```

## Fungsi yang didukung
<a name="w2aac24c48c21"></a>

Anda dapat menggunakan fungsi berikut di fungsi `Fn::ImportValue`. Nilai dari fungsi-fungsi ini tidak dapat bergantung pada sumber daya.
+ `Fn::Base64`
+ `Fn::FindInMap`
+ `Fn::If`
+ `Fn::Join`
+ `Fn::Select`
+ `Fn::Sub`
+ `Ref`