Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Sumber daya modul referensi dalam CloudFormation templat
Dalam CloudFormation template, Anda sering perlu mengatur properti pada satu sumber daya berdasarkan nama atau properti sumber daya lain. Untuk informasi selengkapnya, lihat Referensi sumber daya.
Untuk mereferensikan sumber daya yang terkandung dalam modul dalam CloudFormation template Anda, Anda harus menggabungkan dua nama logis:
-
Nama logis yang Anda berikan ke modul itu sendiri ketika Anda memasukkannya ke dalam template Anda.
-
Nama logis dari sumber daya tertentu dalam modul itu.
Anda dapat menggabungkan dua nama logis ini dengan atau tanpa menggunakan titik (.) di antara keduanya. Misalnya, jika nama logis modul adalah MyModule
dan nama logis sumber daya adalahMyBucket
, Anda dapat merujuk ke sumber daya itu sebagai salah satu MyModule.MyBucket
atauMyModuleMyBucket
.
Untuk menemukan nama logis sumber daya di dalam modul, Anda dapat berkonsultasi dengan skema modul, yang tersedia di CloudFormation registri atau dengan menggunakan DescribeTypeoperasi. Skema ini mencantumkan semua sumber daya dan nama logisnya yang merupakan bagian dari modul.
Setelah Anda memiliki nama logis lengkap, Anda dapat menggunakan CloudFormation fungsi seperti GetAtt
dan Ref
untuk mengakses nilai properti pada sumber daya modul.
Misalnya, Anda memiliki My::S3::SampleBucket::MODULE
modul yang berisi AWS::S3::Bucket
sumber daya dengan nama logisS3Bucket
. Untuk merujuk ke nama bucket ini menggunakan Ref
fungsi, Anda menggabungkan nama modul dalam template (MyBucket
) Anda dengan nama logis sumber daya dalam modul (S3Bucket
). Nama logis lengkapnya adalah salah satu MyBucket.S3Bucket
atauMyBucketS3Bucket
.
Contoh Templat
Contoh template berikut membuat bucket S3 menggunakan My::S3::SampleBucket::MODULE
modul. Itu juga membuat SQS antrian Amazon dan mengatur namanya menjadi sama dengan nama bucket dari modul. Selain itu, template menampilkan Amazon Resource Name (ARN) dari bucket S3 yang dibuat.
# 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