

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::Select`
<a name="intrinsic-function-reference-select"></a>

Fungsi intrinsik `Fn::Select` mengembalikan objek tunggal dari daftar objek berdasarkan indeks.

**penting**  
`Fn::Select` tidak memeriksa nilai null atau apakah indeks berada di luar batas susunan. Kedua kondisi akan menghasilkan kesalahan tumpukan, sehingga Anda harus yakin bahwa indeks yang Anda pilih valid, dan daftar berisi nilai non-null.

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

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

```
{ "Fn::Select" : [ index, listOfObjects ] }
```

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

Sintaks untuk nama fungsi penuh:

```
Fn::Select: [ index, listOfObjects ] 
```

Sintaks untuk bentuk pendek:

```
!Select [ index, listOfObjects ]
```

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

indeks  
Indeks objek untuk mengambil. Ini harus berupa nilai dari nol ke N-1, di mana N mewakili jumlah elemen dalam susunan.

listOfObjects  
Daftar objek untuk memilih. Daftar ini tidak boleh null, juga tidak boleh memiliki entri null.

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

Objek yang dipilih.

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

### Contoh basic
<a name="w2aac24c58c13b3"></a>

Contoh berikut mengembalikan: `"grapes"`.

#### JSON
<a name="intrinsic-function-reference-select-example0.json"></a>

```
{ "Fn::Select" : [ "1", [ "apples", "grapes", "oranges", "mangoes" ] ] }
```

#### YAML
<a name="intrinsic-function-reference-select-example0.yaml"></a>

```
!Select [ "1", [ "apples", "grapes", "oranges", "mangoes" ] ]
```

 

### Jenis parameter daftar yang dibatasi koma
<a name="w2aac24c58c13b5"></a>

Anda dapat menggunakan `Fn::Select` untuk memilih objek dari parameter `CommaDelimitedList`. Anda mungkin menggunakan parameter `CommaDelimitedList` untuk menggabungkan nilai parameter terkait, yang mengurangi jumlah total parameter di templat Anda. Misalnya, parameter berikut menentukan daftar yang dibatasi koma dari tiga blok CIDR:

#### JSON
<a name="intrinsic-function-reference-select-example1.json"></a>

```
"Parameters" : {
  "DbSubnetIpBlocks": {
    "Description": "Comma-delimited list of three CIDR blocks",
    "Type": "CommaDelimitedList",
      "Default": "10.0.48.0/24, 10.0.112.0/24, 10.0.176.0/24"
  }
}
```

#### YAML
<a name="intrinsic-function-reference-select-example1.yaml"></a>

```
Parameters: 
  DbSubnetIpBlocks: 
    Description: "Comma-delimited list of three CIDR blocks"
    Type: CommaDelimitedList
    Default: "10.0.48.0/24, 10.0.112.0/24, 10.0.176.0/24"
```

Untuk menentukan salah satu dari tiga blok CIDR, gunakan `Fn::Select` di bagian Sumber Daya dari templat yang sama, seperti yang ditunjukkan dalam sampel cuplikan berikut:

#### JSON
<a name="intrinsic-function-reference-select-example2.json"></a>

```
"Subnet0": {
  "Type": "AWS::EC2::Subnet",
    "Properties": {
      "VpcId": { "Ref": "VPC" },
      "CidrBlock": { "Fn::Select" : [ "0", {"Ref": "DbSubnetIpBlocks"} ] }
    }
}
```

#### YAML
<a name="intrinsic-function-reference-select-example2.yaml"></a>

```
Subnet0: 
  Type: AWS::EC2::Subnet
  Properties: 
    VpcId: !Ref VPC
    CidrBlock: !Select [ 0, !Ref DbSubnetIpBlocks ]
```

 

### Fungsi ber-nest dengan YAML bentuk singkat
<a name="w2aac24c58c13b7"></a>

Contoh berikut menunjukkan pola yang valid untuk menggunakan fungsi intrinsik ber-nest dengan bentuk singkat `!Select`. Anda tidak dapat me-nest fungsi bentuk singkat secara berturut-turut, sehingga pola seperti `!GetAZs !Ref` adalah tidak valid.

#### YAML
<a name="intrinsic-function-reference-select-example3.yaml"></a>

```
AvailabilityZone: !Select 
  - 0
  - !GetAZs 
    Ref: 'AWS::Region'
```

#### YAML
<a name="intrinsic-function-reference-select-example4.yaml"></a>

```
AvailabilityZone: !Select 
  - 0
  - Fn::GetAZs: !Ref 'AWS::Region'
```

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

Untuk nilai indeks `Fn::Select`, Anda dapat menggunakan fungsi `Ref` dan `Fn::FindInMap`.

Untuk daftar `Fn::Select` dari objek, Anda dapat menggunakan fungsi berikut:
+ `Fn::FindInMap`
+ `Fn::GetAtt`
+ `Fn::GetAZs`
+ `Fn::If`
+ `Fn::Split`
+ `Ref`