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::GetAtt
Die intrinsische Fn::GetAtt
-Funktion gibt den Wert eines Attributs aus einer Ressource in der Vorlage zurück. Weitere Informationen zu GetAtt
-Rückgabewerten für eine bestimmte Ressource finden Sie in der Dokumentation für die betreffende Ressource in der Ressourcen- und Eigenschaftstypen.
Deklaration
JSON
{ "Fn::GetAtt" : [ "
logicalNameOfResource
", "attributeName
" ] }
YAML
Syntax für den vollständigen Funktionsnamen:
Fn::GetAtt: [
logicalNameOfResource
,attributeName
]
Syntax für die Kurzform:
!GetAtt
logicalNameOfResource
.attributeName
Parameter
logicalNameOfResource
-
Der logische Name (auch als logische ID) der Ressource, die das gewünschte Attribut enthält.
attributeName
-
Der Name des ressourcenspezifischen Attributs, dessen Wert Sie abrufen möchten. Auf der Referenzseite der Ressource finden Sie weitere Details zu Attributen, die für diesen Ressourcentyp verfügbar sind.
Rückgabewert
Der Attributwert.
Beispiele
Zurückgeben einer Zeichenfolge
In diesem Beispielausschnitt wird eine Zeichenfolge mit dem DNS-Namen des Load Balancer mit dem logischen Namen myELB
zurückgegeben.
JSON
"Fn::GetAtt" : [ "myELB" , "DNSName" ]
YAML
!GetAtt myELB.DNSName
Zurückgeben mehrerer Zeichenfolgen
Die folgende Beispielvorlage gibt den SourceSecurityGroup.OwnerAlias
und den SourceSecurityGroup.GroupName
des Load Balancers mit dem logischen Namen myELB
zurück.
JSON
{ "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "myELB": { "Type": "AWS::ElasticLoadBalancing::LoadBalancer", "Properties": { "AvailabilityZones": [ "eu-west-1a" ], "Listeners": [ { "LoadBalancerPort": "80", "InstancePort": "80", "Protocol": "HTTP" } ] } }, "myELBIngressGroup": { "Type": "AWS::EC2::SecurityGroup", "Properties": { "GroupDescription": "ELB ingress group", "SecurityGroupIngress": [ { "IpProtocol": "tcp", "FromPort": 80, "ToPort": 80, "SourceSecurityGroupOwnerId": { "Fn::GetAtt": [ "myELB", "SourceSecurityGroup.OwnerAlias" ] }, "SourceSecurityGroupName": { "Fn::GetAtt": [ "myELB", "SourceSecurityGroup.GroupName" ] } } ] } } } }
YAML
AWSTemplateFormatVersion: 2010-09-09 Resources: myELB: Type: AWS::ElasticLoadBalancing::LoadBalancer Properties: AvailabilityZones: - eu-west-1a Listeners: - LoadBalancerPort: '80' InstancePort: '80' Protocol: HTTP myELBIngressGroup: Type: AWS::EC2::SecurityGroup Properties: GroupDescription: ELB ingress group SecurityGroupIngress: - IpProtocol: tcp FromPort: 80 ToPort: 80 SourceSecurityGroupOwnerId: !GetAtt myELB.SourceSecurityGroup.OwnerAlias SourceSecurityGroupName: !GetAtt myELB.SourceSecurityGroup.GroupName
Unterstützte Funktionen
Für den logischen Namen der Fn::GetAtt
-Ressource können Sie keine Funktionen verwenden. Sie müssen eine Zeichenfolge angeben, die eine logische ID einer Ressource darstellt.
Für den Fn::GetAtt
-Attributnamen können Sie die Funktion Ref
verwenden.