Output - AWS CloudFormation

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Output

OutputsBagian opsional mendeklarasikan nilai keluaran yang dapat Anda impor ke tumpukan lain (untuk membuat referensi lintas tumpukan), kembali sebagai respons (untuk menggambarkan panggilan tumpukan), atau melihat di konsol. AWS CloudFormation Misalnya, Anda dapat menampilkan nama bucket S3 untuk tumpukan agar bucket lebih mudah ditemukan.

penting

CloudFormation tidak menyunting atau mengaburkan informasi apa pun yang Anda sertakan di bagian Output. Kami sangat merekomendasikan Anda untuk tidak menggunakan bagian ini untuk menampilkan informasi sensitif, seperti kata sandi atau rahasia.

Nilai output tersedia setelah operasi tumpukan selesai. Nilai output tumpukan tidak tersedia ketika status tumpukan berada dalam IN_PROGRESS status. Kami tidak merekomendasikan membuat dependensi antara waktu aktif layanan dan nilai output tumpukan karena nilai output mungkin tidak tersedia setiap saat.

Sintaks

Bagian Outputs terdiri dari Outputs nama kunci, diikuti oleh spasi dan titik dua. Anda dapat mendeklarasikan maksimum 200 output dalam sebuah templat.

Contoh berikut menunjukkan struktur bagian Outputs.

JSON

Gunakan tanda kurung untuk menutup seluruh deklarasi output. Membatasi beberapa output dengan koma.

"Outputs" : { "Logical ID of resource" : { "Description" : "Information about the value", "Value" : "Value to return", "Export" : { "Name" : "Name of resource to export" } } }

YAML

Outputs: Logical ID of resource: Description: Information about the value Value: Value to return Export: Name: Name of resource to export

Bidang output

Bagian Outputs dapat mencakup bidang berikut.

Logical ID (juga disebut nama logis)

Sebuah pengidentifikasi untuk output saat ini. ID logis harus berupa alfanumerik (a–z, A–Z, 0–9) dan unik dalam templat.

Deskripsi (opsional)

Jenis String yang menjelaskan nilai output. Nilai untuk deklarasi deskripsi harus berupa string literal yang panjangnya antara 0 dan 1024 byte. Anda tidak dapat menggunakan parameter atau fungsi untuk menentukan deskripsi.

Nilai (wajib)

Nilai properti yang dikembalikan oleh perintah aws cloudformation describe-stacks. Nilai output dapat mencakup literal, referensi parameter, parameter semu, nilai pemetaan, atau fungsi intrinsik.

Ekspor (opsional)

Nama output sumber daya yang akan diekspor untuk Referensi lintas tumpukan.

catatan

Pembatasan berikut berlaku untuk referensi cross-stack:

  • Untuk masing-masing Akun AWS, Export nama harus unik dalam suatu Wilayah.

  • Anda tidak dapat membuat referensi cross-stack di seluruh Wilayah. Anda dapat menggunakan fungsi intrinsik Fn::ImportValue untuk mengimpor hanya nilai yang telah diekspor dalam Wilayah yang sama.

  • Untuk output, nilai Name properti tidak Export dapat digunakan Ref atau GetAtt fungsi yang bergantung pada sumber daya.

    Demikian pula, ImportValue fungsi tidak dapat menyertakan Ref atau GetAtt fungsi yang bergantung pada sumber daya.

  • Anda tidak dapat menghapus tumpukan jika tumpukan lain mereferensikan salah satu outputnya.

  • Anda tidak dapat memodifikasi atau menghapus nilai output yang direferensikan oleh tumpukan lain.

Anda dapat menggunakan fungsi intrinsik untuk menyesuaikan nilai Name ekspor. Ada contoh di bagian selanjutnya.

Untuk mengasosiasikan syarat dengan output, tentukan syarat di bagian Conditions dari templat.

Contoh

Contoh berikut menggambarkan cara kerja output tumpukan.

Output tumpukan

Dalam contoh berikut, output bernama BackupLoadBalancerDNSName mengembalikan nama DNS untuk sumber daya dengan ID logis BackupLoadBalancer hanya ketika kondisi CreateProdResources benar. (Output kedua menunjukkan cara menentukan beberapa output.)

JSON

"Outputs" : { "BackupLoadBalancerDNSName" : { "Description": "The DNSName of the backup load balancer", "Value" : { "Fn::GetAtt" : [ "BackupLoadBalancer", "DNSName" ]}, "Condition" : "CreateProdResources" }, "InstanceID" : { "Description": "The Instance ID", "Value" : { "Ref" : "EC2Instance" } } }

YAML

Outputs: BackupLoadBalancerDNSName: Description: The DNSName of the backup load balancer Value: !GetAtt BackupLoadBalancer.DNSName Condition: CreateProdResources InstanceID: Description: The Instance ID Value: !Ref EC2Instance

Sesuaikan nama ekspor menggunakan Fn::Sub

Dalam contoh berikut, output bernama StackVPC mengembalikan ID dari VPC, dan kemudian mengekspor nilai untuk referensi lintas tumpukan dengan nama VPCID ditambahkan ke nama tumpukan.

JSON

"Outputs" : { "StackVPC" : { "Description" : "The ID of the VPC", "Value" : { "Ref" : "MyVPC" }, "Export" : { "Name" : {"Fn::Sub": "${AWS::StackName}-VPCID" } } } }

YAML

Outputs: StackVPC: Description: The ID of the VPC Value: !Ref MyVPC Export: Name: !Sub "${AWS::StackName}-VPCID"

Sesuaikan nama ekspor menggunakan Fn::Join

Contoh berikut menggunakan Fn::Join fungsi untuk menyesuaikan nama ekspor alih-alih Fn::Sub fungsi. Fn::JoinFungsi contoh menggabungkan nama tumpukan dengan nama VPCID menggunakan titik dua sebagai pemisah.

JSON

"Outputs" : { "StackVPC" : { "Description" : "The ID of the VPC", "Value" : { "Ref" : "MyVPC" }, "Export" : { "Name" : { "Fn::Join" : [ ":", [ { "Ref" : "AWS::StackName" }, "VPCID" ] ] } } } }

YAML

Outputs: StackVPC: Description: The ID of the VPC Value: !Ref MyVPC Export: Name: !Join [ ":", [ !Ref "AWS::StackName", VPCID ] ]