

Dies ist das neue *CloudFormation Template Reference Guide*. Bitte aktualisieren Sie Ihre Lesezeichen und Links. Hilfe zu den ersten CloudFormation Schritten finden Sie im [AWS CloudFormation Benutzerhandbuch](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# `Fn::Select`
<a name="intrinsic-function-reference-select"></a>

Die intrinsische Funktion `Fn::Select` gibt ein einzelnes Objekt aus einer Objektliste durch Angabe des Index zurück.

**Wichtig**  
`Fn::Select` überprüft nicht auf Null-Werte oder ob sich der Index außerhalb des Arrays befindet. Beide Bedingungen führen zu einem Stack-Fehler. Sie sollten daher sicherstellen, dass der von Ihnen gewählte Index gültig ist und dass die Liste keine Null-Werte enthält.

## Deklaration
<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>

Syntax für den vollständigen Funktionsnamen:

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

Syntax für die Kurzform:

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

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

index  
Der Index des Objekts zum Abrufen des Objekts. Dies muss ein Wert zwischen Null und N-1 sein, wobei N für die Anzahl der Elemente im Array steht.

listOfObjects  
Die Auswahlliste für die Objekte. Diese Liste darf nicht Null sein und darf keine Null-Einträge besitzen.

## Rückgabewert
<a name="w2aac24c58c11"></a>

Das ausgewählte Objekt.

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

### Einfaches Beispiel
<a name="w2aac24c58c13b3"></a>

Im folgenden Beispiel wird Folgendes zurückgegeben: `"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" ] ]
```

 

### Parametertyp für Komma-getrennte Listen
<a name="w2aac24c58c13b5"></a>

Mit `Fn::Select` können Sie ein Objekt aus einem `CommaDelimitedList`-Parameter auswählen. Sie können einen `CommaDelimitedList`-Parameter verwenden, um die Werte zugehöriger Parameter zu kombinieren, wodurch die Gesamtanzahl der Parameter in Ihrer Vorlage reduziert wird. Beispielsweise gibt der folgende Parameter eine durch Komma getrennte Liste von drei CIDR-Blöcken an:

#### 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"
```

Legen Sie einen der drei CIDR-Blöcke fest, indem Sie `Fn::Select` im Abschnitt Ressourcen derselben Vorlage wie im folgenden Beispiel-Snippet verwenden:

#### 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 ]
```

 

### Verschachtelte Funktionen mit YAML in Kurzschreibweise
<a name="w2aac24c58c13b7"></a>

Die folgenden Beispiele zeigen gültige Muster für die Nutzung von verschachtelten intrinsischen Funktionen mit der Kurzschreibweise von `!Select`. Sie können Funktionen in Kurzschreibweise nicht nacheinander verschachteln, daher ist ein Muster wie `!GetAZs !Ref` ungültig.

#### 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'
```

## Unterstützte Funktionen
<a name="w2aac24c58c15"></a>

Für den Indexwert `Fn::Select` können Sie die Funktionen `Ref` und `Fn::FindInMap` verwenden.

Für die Objektliste `Fn::Select` können Sie die folgenden Funktionen verwenden:
+ `Fn::FindInMap`
+ `Fn::GetAtt`
+ `Fn::GetAZs`
+ `Fn::If`
+ `Fn::Split`
+ `Ref`