Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Fn::ImportValue

Mode de mise au point
Fn::ImportValue - AWS CloudFormation

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Filtrer la vue

La fonction intrinsèque Fn::ImportValue renvoie la valeur d'une sortie exportée par une autre pile. Cette fonction est généralement utilisée pour créer des références entre piles. Dans les extraits des exemples de modèles suivants, la pile A exporte les valeurs du groupe de sécurité VPC et la pile B les importe.

Note

Les restrictions suivantes s'appliquent aux références entre piles :

  • Pour chacun Compte AWS, les Export noms doivent être uniques au sein d'une région.

  • Il n’est pas possible de créer des références entre piles entre différentes régions. Vous pouvez utiliser la fonction intrinsèque Fn::ImportValue pour importer uniquement les valeurs qui ont été exportées dans la même région.

  • Pour les sorties, la valeur de la propriété Name d'un Export ne peut pas utiliser de fonctions Ref ou GetAtt qui dépendent d'une ressource.

    De même, la fonction ImportValue ne peut pas inclure de fonctions Ref ou GetAtt qui dépendent d'une ressource.

  • Lorsqu'une autre pile importe une valeur de sortie, vous ne peut pas supprimer la pile qui exporte la valeur de sortie ou modifier la valeur de sortie exportée. Toutes les importations doivent être supprimées avant de pouvoir supprimer la pile d'exportation ou modifier la valeur de sortie.

JSON

Exportation de la pile 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

Exportation de la pile 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

Importation de la pile 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

Importation de la pile 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'

Déclaration

JSON

{ "Fn::ImportValue" : sharedValueToImport }

YAML

Vous pouvez utiliser le nom complet de la fonction :

Fn::ImportValue: sharedValueToImport

Vous pouvez également utiliser la forme courte :

!ImportValue sharedValueToImport
Important

Vous ne pouvez pas utiliser la forme courte de !ImportValue quand elle contient une forme courte de !Sub.

# do not use !ImportValue !Sub '${NetworkStack}-SubnetID'

Vous devez plutôt indiquer le nom complet de la fonction, par exemple :

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

Paramètres

sharedValueToImporter

Valeur de sortie de pile à importer.

Valeur renvoyée

Valeur de sortie de pile.

exemple

JSON

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

YAML

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

Fonctions prises en charge

Vous pouvez utiliser les fonctions suivantes dans la fonction Fn::ImportValue. La valeur de ces fonctions ne peut pas dépendre d'une ressource.

  • Fn::Base64

  • Fn::FindInMap

  • Fn::If

  • Fn::Join

  • Fn::Select

  • Fn::Sub

  • Ref

Rubrique suivante :

Fn::Join

Rubrique précédente :

Fn::GetAZs
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.