Konfigurasikan input untuk perintah AWSTOE run - EC2 Image Builder

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

Konfigurasikan input untuk perintah AWSTOE run

Untuk merampingkan input baris perintah untuk AWSTOE run perintah Anda, Anda dapat menyertakan pengaturan untuk parameter perintah dan opsi dalam file konfigurasi input format JSON dengan ekstensi .json file. AWSTOEdapat membaca file Anda dari salah satu lokasi berikut:

  • Jalur file lokal (. /config.json).

  • <bucket-name>Bucket S3 (s3:////config.json<bucket-path>).

Saat Anda memasukkan run perintah, Anda dapat menentukan file konfigurasi input menggunakan --config parameter. Sebagai contoh:

awstoe run --config <file-path>/config.json
File konfigurasi masukan

File JSON konfigurasi input mencakup pasangan nilai kunci untuk semua pengaturan yang dapat Anda berikan secara langsung melalui parameter dan opsi run perintah. Jika Anda menentukan pengaturan di file konfigurasi input dan run perintah, sebagai parameter atau opsi, aturan prioritas berikut berlaku:

Aturan prioritas
  1. Pengaturan yang diberikan langsung ke run perintah diAWS CLI, melalui parameter atau opsi, mengesampingkan nilai apa pun yang ditentukan dalam file konfigurasi input untuk pengaturan yang sama.

  2. Pengaturan dalam file konfigurasi input mengesampingkan nilai default komponen.

  3. Jika tidak ada pengaturan lain yang diteruskan ke dalam dokumen komponen, itu dapat menerapkan nilai default, jika ada.

Ada dua pengecualian untuk aturan ini - dokumen dan parameter. Pengaturan ini bekerja secara berbeda dalam konfigurasi input dan sebagai parameter perintah. Jika Anda menggunakan file konfigurasi input, Anda tidak boleh menentukan parameter ini langsung ke run perintah. Melakukannya akan menghasilkan kesalahan.

Pengaturan komponen

File konfigurasi input berisi pengaturan berikut. Untuk merampingkan file Anda, Anda dapat meninggalkan pengaturan opsional apa pun yang tidak diperlukan. Semua pengaturan adalah opsional kecuali dinyatakan lain.

  • cwIgnoreFailures(Boolean) - Abaikan kegagalan logging dari CloudWatch Log.

  • cwLogGroup(String) — LogGroup Nama untuk CloudWatch Log.

  • cwLogRegion(String) - AWS Wilayah yang berlaku untuk CloudWatch Log.

  • cwLogStream(String) - LogStream Nama untuk CloudWatch Log, yang mengarahkan ke AWSTOE mana untuk streaming console.log file.

  • Documents3 BucketOwner (String) — ID akun pemilik bucket untuk dokumen berbasis S3 URI.

  • documents (array of objects, required) — Sebuah array objek JSON yang mewakili dokumen komponen YAMG yang AWSTOE run menjalankan perintah. Setidaknya satu dokumen komponen harus ditentukan.

    Setiap objek terdiri dari bidang-bidang berikut:

    • path (String, required) - Lokasi file dari dokumen komponen YAMAL. Ini harus salah satu dari yang berikut:

      • Jalur file lokal (. /component-doc-example.yaml).

      • URI S3 (s3://bucket/key).

      • Versi build komponen Image Builder ARN (arn:aws:imagebuilder:us-west- 2:123456789012:component/ /2021.12.02/1). my-example-component

    • parameter (array objek) — Sebuah array objek pasangan kunci-nilai, masing-masing mewakili parameter spesifik komponen yang diteruskan run perintah ketika menjalankan dokumen komponen. Parameter adalah opsional untuk komponen. Dokumen komponen mungkin atau mungkin tidak memiliki parameter yang ditentukan.

      Setiap objek terdiri dari bidang-bidang berikut:

      • name (String, required) — Nama parameter komponen.

      • value (String, required) — Nilai untuk diteruskan ke dokumen komponen untuk parameter bernama.

      Untuk mempelajari lebih lanjut tentang parameter komponen, lihat bagian Parameter di Mendefinisikan dan mereferensikan variabel dalam AWSTOE halaman.

  • ExecutonId (String) — Ini adalah ID unik yang berlaku untuk eksekusi perintah saat ini. run ID ini disertakan dalam nama file keluaran dan log, untuk mengidentifikasi file-file tersebut secara unik, dan menautkannya ke eksekusi perintah saat ini. Jika pengaturan ini ditinggalkan, buat AWSTOE GUID.

  • LogDirectory (String) - Direktori tujuan tempat AWSTOE menyimpan semua file log dari eksekusi perintah ini. Secara default, direktori ini terletak di dalam direktori induk berikut:TOE_<DATETIME>_<EXECUTIONID>. Jika Anda tidak menentukan direktori log, AWSTOE gunakan direktori kerja saat ini (.).

  • LogS3 BucketName (String) - Jika log komponen disimpan di Amazon S3 (disarankan)AWSTOE, unggah log aplikasi komponen ke bucket S3 yang disebutkan dalam parameter ini.

  • LogS3 BucketOwner (String) - Jika log komponen disimpan di Amazon S3 (disarankan), ini adalah ID akun pemilik untuk bucket AWSTOE tempat menulis file log.

  • LogS3 KeyPrefix (String) - Jika log komponen disimpan di Amazon S3 (disarankan), ini adalah awalan kunci objek S3 untuk lokasi log di bucket.

  • parameter (array objek) — Sebuah array objek pasangan kunci-nilai yang mewakili parameter yang berlaku secara global untuk semua komponen yang termasuk dalam eksekusi run perintah saat ini.

    • name (String, required) — Nama parameter global.

    • value (String, required) — Nilai untuk diteruskan ke semua dokumen komponen untuk parameter bernama.

  • phase (String) - Daftar dipisahkan koma yang menentukan fase mana yang akan dijalankan dari dokumen komponen YAMG. Jika dokumen komponen menyertakan fase tambahan, itu tidak akan berjalan.

  • StateDirectory (String) - Jalur file tempat file pelacakan negara disimpan.

  • trace (Boolean) - Mengaktifkan logging verbose ke konsol.

Contoh

Contoh berikut menunjukkan file konfigurasi input yang menjalankan build dan test fase untuk dua dokumen komponen:sampledoc.yaml, danconversation-intro.yaml. Setiap dokumen komponen memiliki parameter yang hanya berlaku untuk dirinya sendiri, dan keduanya menggunakan satu parameter bersama. projectParameter berlaku untuk kedua dokumen komponen.

{ "documents": [ { "path": "<file path>/awstoe/sampledoc.yaml>", "parameters": [ { "name": "dayofweek", "value": "Monday" } ] }, { "path": "<file path>/awstoe/conversation-intro.yaml>", "parameters": [ { "name": "greeting", "value": "Hello, HAL." } ] } ], "phases": "build,test", "parameters": [ { "name": "project", "value": "examples" } ], "cwLogGroup": "<log_group_name>", "cwLogStream": "<log_stream_name>", "documentS3BucketOwner": "<owner_aws_account_number>", "executionId": "<id_number>", "logDirectory": "<local_directory_path>", "logS3BucketName": "<bucket_name_for_log_files>", "logS3KeyPrefix": "<key_prefix_for_log_files>", "logS3BucketOwner": "<owner_aws_account_number>" }