Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan variabel dinamis dalam dokumen alur kerja Anda
Anda dapat menggunakan variabel dinamis dalam dokumen alur kerja untuk mewakili nilai yang bervariasi saat runtime untuk proses pembuatan gambar Anda. Interpolasi string untuk variabel dinamis memungkinkan Anda untuk menyematkan ekspresi JSONPath dalam konten terstruktur seperti string JSON. Ini sangat berguna ketika Anda perlu meneruskan nilai runtime dalam muatan kompleks untuk langkah tindakan seperti atau. ExecuteStateMachine WaitForAction
Untuk menggunakan interpolasi string untuk variabel dinamis, bungkus ekspresi JSONPath dalam kurung kurung keriting ganda "{{...}}" dalam konten string Anda. Hanya ekspresi JSONPath yang dibungkus dalam kurung kurung keriting ganda yang diproses sebagai variabel. Ekspresi JSONPath apa pun yang tidak dibungkus dalam kurung kurung ganda diperlakukan sebagai konten string literal.
sintaks variabel alur kerja dinamis JSONPath
$.<document structure>.[<step name>.]<variable name>
Nilai variabel dinamis direpresentasikan sebagai pemilih JSONPath dengan node struktural yang secara unik mengidentifikasi variabel target. Node pertama setelah root ($) mengacu pada struktur dokumen alur kerja, sepertistepOutputs, atau dalam kasus variabel sistem Pembuat Gambar,imageBuilder. Daftar berikut berisi node struktur dokumen alur kerja JSONPath yang didukung.
Node struktur dokumen
-
parameter - Parameter alur kerja
-
StepOutputs - Output dari langkah dalam dokumen alur kerja yang sama
-
WorkflowOutputs - Output dari dokumen alur kerja yang sudah berjalan
-
imagebuilder - variabel sistem Pembuat Gambar
Node struktur stepOutputs dokumen parameters dan menyertakan simpul opsional untuk nama langkah. Ini membantu memastikan nama variabel unik di semua langkah.
Node terakhir di JSONPath adalah nama variabel target, seperti. instanceId
Setiap langkah dapat merujuk ke output dari tindakan langkah sebelumnya dengan variabel dinamis JSONPath ini. Ini juga dikenal sebagai rantai, atau referensi. Untuk merujuk pada output dari tindakan langkah sebelumnya, Anda dapat menggunakan variabel dinamis berikut.
$.stepOutputs.step-name.output-name
penting
Ketika parameter input mengacu pada variabel dinamis, indikator rantai (.$) harus dilampirkan ke akhir nama parameter.
Contoh 1: Indikator rantai parameter input
Contoh berikut menunjukkan parameter input yang menggunakan interpolasi string untuk menyelesaikan variabel dinamis dalam nilai parameter saat runtime.
- name: ApplyTestComponents action: ExecuteComponents onFailure: Abort inputs: instanceId.$: "$.stepOutputs.LaunchTestInstance.instanceId"
Contoh 2: Interpolasi string dalam variabel dinamis
Contoh berikut menunjukkan bagaimana variabel dinamis menggunakan interpolasi string untuk menentukan nilai pada runtime.
- name: ValidateImageConfiguration action: ExecuteStateMachine inputs: stateMachineArn: arn:aws:states:us-east-1:111122223333:stateMachine:ImageValidation input: | { "imageId": "{{ $.stepOutputs.CreateImageFromInstance.imageId }}", "region": "us-east-1", "buildDate": "{{ $.imagebuilder.dateTime }}", "instanceType": "{{ $.stepOutputs.LaunchStep.instanceType }}" }
Dalam contoh ini, ekspresi JSONPath yang dibungkus dengan kurung kurung keriting ganda diselesaikan saat runtime:
-
{{ $.stepOutputs.CreateImageFromInstance.imageId }}- Menyelesaikan ke ID gambar aktual dari langkah CreateImageFromInstance -
{{ $.imagebuilder.dateTime }}- Menyelesaikan ke stempel waktu build saat ini. Lihat Gunakan variabel sistem Pembuat Gambar untuk daftar variabel sistem Pembuat Gambar yang dapat Anda gunakan. -
{{ $.stepOutputs.LaunchStep.instanceType }}- Menyelesaikan ke jenis instance yang digunakan di LaunchStep
String literal seperti "region": "us-east-1" tetap tidak berubah.
catatan
Interpolasi string bekerja dengan konten string apa pun dalam dokumen alur kerja Anda, termasuk string multiline menggunakan operator pipa YAML (). | Persyaratan penjepit keriting bertindak sebagai mekanisme pelarian untuk membedakan dengan jelas antara variabel JSONPath dan konten teks literal.
Gunakan variabel sistem Pembuat Gambar
Image Builder menyediakan variabel sistem berikut yang dapat Anda gunakan dalam dokumen alur kerja Anda. Ini adalah nilai read-only yang diisi Image Builder saat runtime. Anda mereferensikan variabel sistem dengan simpul struktur imagebuilder dokumen, misalnya$.imagebuilder.platform.
|
Nama variabel |
Deskripsi |
Tipe |
Nilai contoh |
|---|---|---|---|
|
awan WatchLogGroup |
Nama grup Logs untuk CloudWatch log keluaran. Format: |
String |
|
|
awan WatchLogStream |
Nama aliran Logs untuk CloudWatch log keluaran. |
String |
|
|
mengumpulkan ImageMetadata |
Pengaturan yang mengarahkan Image Builder apakah akan mengumpulkan metadata instance. |
Boolean |
|
|
mengumpulkan ImageScanFindings |
Nilai setelan saat ini yang memungkinkan Pembuat Gambar untuk mengumpulkan temuan pemindaian gambar. |
Boolean |
|
|
gambar BuildNumber |
Nomor versi build gambar. |
Bilangan Bulat |
|
|
imageId |
ID AMI dari gambar dasar. |
String |
|
|
Nama gambar |
Nama gambar. |
String |
|
|
Jenis gambar |
Jenis keluaran gambar. |
String |
|
|
gambar VersionNumber |
Nomor versi gambar. |
String |
|
|
contoh ProfileName |
Nama peran profil instance yang digunakan Image Builder untuk meluncurkan instance build dan menguji. |
String |
|
|
platform |
Platform sistem operasi dari gambar yang dibangun. |
String |
|
|
S3log |
Objek JSON yang berisi konfigurasi untuk log S3 yang ditulis Image Builder. |
Objek JSON |
{'S3log': {'s3 BucketName ':' ', 's3 |
|
securityGroups |
ID grup keamanan yang berlaku untuk membangun dan menguji instance. |
Daftar [String] |
|
|
SumberImageLearn |
Nama Sumber Daya Amazon (ARN) dari sumber daya gambar Pembuat Gambar yang digunakan alur kerja untuk tahap pembuatan dan pengujian. |
String |
arn:aws:imagebuilder: ::image// |
|
subnetId |
ID subnet untuk meluncurkan instance build dan test. |
String |
|
|
mengakhiri InstanceOnFailure |
Nilai setelan saat ini yang mengarahkan Image Builder untuk menghentikan instance pada kegagalan atau menyimpannya untuk pemecahan masalah. |
Boolean |
|
|
Fase Alur Kerja |
Tahap saat ini yang sedang berjalan untuk eksekusi alur kerja. |
String |
|
|
workingDirectory |
Jalur ke direktori kerja. |
String |
|