Buat definisi pekerjaan menggunakan EcsProperties - AWS Batch

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

Buat definisi pekerjaan menggunakan EcsProperties

Dengan menggunakan definisi AWS Batch pekerjaan EcsProperties, Anda dapat memodelkan perangkat keras, sensor, lingkungan 3D, dan simulasi lainnya dalam wadah terpisah. Anda dapat menggunakan fitur ini untuk secara logis mengatur komponen beban kerja Anda, dan memisahkannya dari aplikasi utama. Fitur ini dapat digunakan AWS Batch di Amazon Elastic Container Service (Amazon ECS), Amazon Elastic Kubernetes Service (Amazon EKS), dan. AWS Fargate

ContainerPropertiesversus definisi EcsProperties pekerjaan

Anda dapat memilih untuk menggunakan ContainerPropertiesatau definisi EcsPropertiespekerjaan sesuai dengan kasus penggunaan Anda. Pada tingkat tinggi, menjalankan AWS Batch pekerjaan dengan EcsProperties mirip dengan menjalankan pekerjaan dengan aContainerProperties.

Struktur definisi pekerjaan lama, menggunakanContainerProperties, tetap didukung. Jika saat ini Anda memiliki alur kerja menggunakan struktur ini, Anda dapat terus menjalankannya.

Perbedaan utama adalah bahwa ada objek baru yang ditambahkan ke definisi pekerjaan untuk mengakomodasi definisi EcsProperties berbasis.

Misalnya, definisi pekerjaan yang digunakan ContainerProperties di Amazon ECS dan Fargate memiliki struktur berikut:

{ "containerProperties": { ... "image": "my_ecr_image1", ... }, ... }

Definisi pekerjaan yang digunakan EcsProperties di Amazon ECS dan Fargate memiliki struktur berikut:

{ "ecsProperties": { "taskProperties": [{ "containers": [ { ... "image": "my_ecr_image1", ... }, { ... "image": "my_ecr_image2", ... },

Perubahan umum pada AWS Batch APIs

Berikut ini lebih lanjut menguraikan beberapa perbedaan utama saat menggunakan EcsProperties dan tipe data EcsProperties API:

Definisi pekerjaan multi-kontainer untuk Amazon ECS

Untuk mengakomodasi struktur multi-kontainer untuk Amazon ECS, beberapa tipe data API berbeda. Misalnya,

  • ecsPropertiesadalah level yang sama seperti containerProperties dalam definisi kontainer tunggal. Untuk informasi selengkapnya, lihat EcsPropertiesdi Panduan Referensi AWS Batch API.

  • taskPropertiesberisi properti yang ditentukan untuk tugas Amazon ECS. Untuk informasi selengkapnya, lihat EcsPropertiesdi Panduan Referensi AWS Batch API.

  • containersmencakup informasi serupa dengan definisi kontainer tunggal. containerProperties Perbedaan utamanya adalah containers memungkinkan Anda menentukan hingga sepuluh kontainer. Untuk informasi selengkapnya, lihat ECSTaskProperti: Kontainer di Panduan Referensi AWS Batch API.

  • essentialparameter menunjukkan bagaimana wadah mempengaruhi pekerjaan. Semua kontainer penting harus berhasil diselesaikan (keluar sebagai 0) agar pekerjaan dapat berkembang. Jika wadah yang ditandai sebagai esensial gagal (keluar sebagai non-0), maka pekerjaan gagal.

    Nilai defaultnya adalah true dan setidaknya satu kontainer harus ditandai sebagaiessential. Untuk informasi selengkapnya, lihat essentialdi Panduan Referensi AWS Batch API.

  • Dengan dependsOnparameter, Anda dapat menentukan daftar dependensi kontainer. Untuk informasi selengkapnya, lihat dependsOndi Panduan Referensi AWS Batch API.

    catatan

    Kompleksitas dependsOn daftar dan runtime kontainer terkait dapat memengaruhi waktu mulai untuk pekerjaan Anda. Jika dependensi membutuhkan waktu lama untuk dijalankan, pekerjaan akan tetap dalam STARTING keadaan sampai selesai.

Untuk informasi selengkapnya tentang struktur ecsProperties dan, lihat sintaks RegisterJobDefinitionpermintaan untuk ecsProperties.

Definisi pekerjaan multi-kontainer untuk Amazon EKS

Untuk mengakomodasi struktur multi-container untuk Amazon EKS, beberapa tipe data API berbeda. Misalnya,

  • nameadalah pengidentifikasi unik untuk wadah. Objek ini tidak diperlukan untuk satu kontainer, tetapi diperlukan saat mendefinisikan beberapa kontainer dalam sebuah pod. Ketika name tidak ditentukan untuk kontainer tunggal, nama defaultdefault,, diterapkan.

  • initContainersdidefinisikan dalam tipe eksPodPropertiesdata. Mereka berjalan sebelum wadah aplikasi, selalu berjalan hingga selesai, dan harus berhasil diselesaikan sebelum penampung berikutnya dimulai.

    Kontainer ini terdaftar di agen Amazon EKS Connector dan menyimpan informasi pendaftaran di toko data backend Amazon Elastic Kubernetes Service. initContainersObjek dapat menerima hingga sepuluh (10) elemen. Untuk informasi selengkapnya, lihat Init Containers di Kubernetes dokumentasi.

    catatan

    initContainersObjek dapat mempengaruhi waktu mulai untuk pekerjaan Anda. Jika initContainers butuh waktu lama untuk menjalankan, pekerjaan akan tetap dalam STARTING keadaan sampai mereka selesai.

  • shareProcessNamespacemenunjukkan apakah kontainer di pod dapat berbagi namespace proses yang sama. Nilai defaultnya adalahfalse. Menyetel ini true untuk mengaktifkan kontainer melihat dan memberi sinyal proses di wadah lain yang terletak di pod yang sama.

  • Setiap wadah memiliki kepentingan. Semua kontainer harus berhasil diselesaikan (keluar sebagai 0) agar pekerjaan berhasil. Jika satu kontainer gagal (keluar sebagai selain 0), maka pekerjaan gagal.

Untuk informasi selengkapnya tentang struktur eksProperties dan, lihat sintaks RegisterJobDefinitionpermintaan untuk eksProperties.