Referenzmodulressourcen in CloudFormation Vorlagen - AWS CloudFormation

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.

Referenzmodulressourcen in CloudFormation Vorlagen

In CloudFormation Vorlagen müssen Sie häufig Eigenschaften für eine Ressource festlegen, die auf dem Namen oder der Eigenschaft einer anderen Ressource basieren. Weitere Informationen finden Sie unter Ressourcen referenzieren.

Um auf eine Ressource zu verweisen, die in einem Modul in Ihrer CloudFormation Vorlage enthalten ist, müssen Sie zwei logische Namen kombinieren:

  • Der logische Name, den Sie dem Modul selbst gegeben haben, als Sie es in Ihre Vorlage aufgenommen haben.

  • Der logische Name der spezifischen Ressource innerhalb dieses Moduls.

Sie können diese beiden logischen Namen mit oder ohne einen Punkt (.) kombinieren. Lautet der logische Name des Moduls beispielsweise MyModule und der logische Name der Ressource lautetMyBucket, können Sie diese Ressource entweder als MyModule.MyBucket oder bezeichnenMyModuleMyBucket.

Um die logischen Namen von Ressourcen innerhalb eines Moduls zu finden, können Sie das Schema des Moduls konsultieren, das in der CloudFormation Registrierung verfügbar ist, oder indem Sie DescribeTypeOperation. Das Schema listet alle Ressourcen und ihre logischen Namen auf, die Teil des Moduls sind.

Sobald Sie den vollständigen logischen Namen haben, können Sie CloudFormation Funktionen wie GetAtt und verwenden, Ref um auf Eigenschaftswerte von Modulressourcen zuzugreifen.

Sie haben beispielsweise ein My::S3::SampleBucket::MODULE Modul, das eine AWS::S3::Bucket Ressource mit dem logischen Namen enthältS3Bucket. Um mit der Ref Funktion auf den Namen dieses Buckets zu verweisen, kombinieren Sie den Namen des Moduls in Ihrer Vorlage (MyBucket) mit dem logischen Namen der Ressource im Modul (S3Bucket). Der vollständige logische Name ist entweder MyBucket.S3Bucket oderMyBucketS3Bucket.

--Beispielvorlage

Die folgende Beispielvorlage erstellt mithilfe des My::S3::SampleBucket::MODULE Moduls einen S3-Bucket. Es erstellt auch eine SQS Amazon-Warteschlange und legt ihren Namen so fest, dass er dem Bucket-Namen aus dem Modul entspricht. Darüber hinaus gibt die Vorlage den Amazon-Ressourcennamen (ARN) des erstellten S3-Buckets aus.

# Template that uses My::S3::SampleBucket::MODULE Parameters: BucketName: Description: Name for your sample bucket Type: String Resources: MyBucket: Type: My::S3::SampleBucket::MODULE Properties: BucketName: !Ref BucketName exampleQueue: Type: AWS::SQS::Queue Properties: QueueName: !Ref MyBucket.S3Bucket Outputs: BucketArn: Value: !GetAtt MyBucket.S3Bucket.Arn