Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Infrastruktur komponen sebagai file kode
Infrastruktur komponen sebagai file kode (IAc) mirip dengan file untuk AWS Proton sumber daya lainnya. Pelajari di sini tentang beberapa detail yang khusus untuk komponen. Untuk informasi selengkapnya tentang pembuatan file IAC AWS Proton, lihat. Menulis template dan membuat bundel untuk AWS Proton
Menggunakan parameter dengan komponen
Namespace AWS Proton parameter mencakup beberapa parameter yang dapat dirujuk oleh file layanan IAc untuk mendapatkan nama dan output komponen terkait. Namespace juga menyertakan parameter yang dapat dirujuk oleh file komponen IAc untuk mendapatkan input, output, dan nilai sumber daya dari lingkungan, layanan, dan instance layanan yang dikaitkan dengan komponen tersebut.
Sebuah komponen tidak memiliki input sendiri—ia mendapatkan inputnya dari instance layanan yang dilampirkan. Sebuah komponen juga dapat membaca output lingkungan.
Untuk informasi selengkapnya tentang penggunaan parameter dalam komponen dan file IAC layanan terkait, lihatDetail dan contoh parameter file CloudFormation iAc komponen. Untuk informasi umum tentang AWS Proton parameter dan referensi lengkap dari namespace parameter, lihat. AWS Proton parameter
Menulis file IAc yang kuat
Sebagai administrator, ketika Anda membuat versi template layanan, Anda dapat memutuskan apakah Anda ingin mengizinkan instance layanan yang dibuat dari versi template untuk memiliki komponen yang dilampirkan. Lihat supportedComponentSourcesparameter aksi CreateServiceTemplateVersionAPI di Referensi AWS Proton API. Namun, untuk setiap instance layanan future, orang yang membuat instance, memutuskan apakah akan melampirkan komponen ke dalamnya atau tidak, dan (dalam kasus komponen yang didefinisikan secara langsung) membuat komponen IAc biasanya orang yang berbeda—pengembang yang menggunakan template layanan Anda. Oleh karena itu, Anda tidak dapat menjamin bahwa komponen akan dilampirkan ke instance layanan. Anda juga tidak dapat menjamin keberadaan nama keluaran komponen tertentu atau validitas dan keamanan nilai output ini.
AWS Proton dan sintaks Jinja membantu Anda mengatasi masalah ini dan membuat templat layanan kuat yang dirender tanpa kegagalan dengan cara berikut:
-
AWS Proton filter parameter — Saat Anda merujuk ke properti keluaran komponen, Anda dapat menggunakan filter parameter —pengubah yang memvalidasi, memfilter, dan memformat nilai parameter. Untuk informasi selengkapnya dan contoh tambahan, lihat Filter parameter untuk CloudFormation file IAc.
-
Default properti tunggal — Bila Anda merujuk ke sumber daya tunggal atau properti output komponen, Anda dapat menjamin bahwa rendering template layanan Anda tidak akan gagal dengan menggunakan
default
filter, dengan atau tanpa nilai default. Jika komponen, atau parameter keluaran tertentu yang Anda maksud, tidak ada, nilai default (atau string kosong, jika Anda belum menentukan nilai default) akan dirender sebagai gantinya, dan rendering berhasil. Untuk informasi selengkapnya, lihat Berikan nilai default untuk referensi yang tidak ada.Contoh:
-
{{ service_instance.components.default.name | default("") }}
-
{{ service_instance.components.default.outputs.
my-output
| default("17") }}
catatan
Jangan bingung
.default
bagian dari namespace, yang menunjuk komponen yang didefinisikan secara langsung, dengandefault
filter, yang memberikan nilai default ketika properti direferensikan tidak ada. -
-
Referensi seluruh objek — Ketika Anda merujuk ke seluruh komponen, atau ke koleksi output komponen, AWS Proton mengembalikan objek kosong
{}
, dan karenanya menjamin bahwa rendering template layanan Anda tidak akan gagal. Anda tidak perlu menggunakan filter apa pun. Pastikan untuk membuat referensi dalam konteks yang dapat mengambil objek kosong, atau gunakan{{ if .. }}
kondisi untuk menguji objek kosong.Contoh:
-
{{ service_instance.components.default }}
-
{{ service_instance.components.default.outputs }}
-