Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Jadwalkan Pipeline Runs

Mode fokus
Jadwalkan Pipeline Runs - Amazon SageMaker AI

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

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

Anda dapat menjadwalkan eksekusi Amazon SageMaker Pipelines Anda menggunakan Amazon. EventBridge Amazon SageMaker Pipelines didukung sebagai target di Amazon EventBridge. Ini memungkinkan Anda untuk memulai eksekusi pipa bangunan model Anda berdasarkan peristiwa apa pun di bus acara Anda. Dengan EventBridge, Anda dapat mengotomatiskan eksekusi pipeline dan merespons secara otomatis peristiwa seperti pekerjaan pelatihan atau perubahan status titik akhir. Acara termasuk file baru yang diunggah ke bucket Amazon S3 Anda, perubahan status titik akhir Amazon AI karena drift, dan topik SageMaker Amazon Simple Notification Service (SNS).

Tindakan Pipelines berikut dapat dimulai secara otomatis: 

  • StartPipelineExecution

Untuk informasi selengkapnya tentang penjadwalan pekerjaan SageMaker AI, lihat Mengotomatiskan SageMaker AI dengan Amazon. EventBridge

Jadwalkan Pipeline dengan Amazon EventBridge

Untuk memulai eksekusi pipeline dengan Amazon CloudWatch Events, Anda harus membuat EventBridge aturan. Saat membuat aturan untuk acara, Anda menentukan tindakan target yang akan diambil saat EventBridge menerima peristiwa yang cocok dengan aturan. Ketika suatu peristiwa cocok dengan aturan, EventBridge mengirimkan acara ke target yang ditentukan dan memulai tindakan yang ditentukan dalam aturan.

Tutorial berikut menunjukkan cara menjadwalkan eksekusi pipeline dengan EventBridge menggunakan EventBridge konsol atau file AWS CLI. 

Prasyarat

  • Peran yang EventBridge dapat diasumsikan dengan SageMaker::StartPipelineExecution izin. Peran ini dapat dibuat secara otomatis jika Anda membuat aturan dari EventBridge konsol; jika tidak, Anda perlu membuat peran ini sendiri. Untuk informasi tentang membuat peran SageMaker AI, lihat SageMaker Peran.

  • Pipeline SageMaker AI Amazon untuk menjadwalkan. Untuk membuat Pipeline Amazon SageMaker AI, lihat Mendefinisikan Pipeline.

Buat EventBridge aturan menggunakan EventBridge konsol

Prosedur berikut menunjukkan cara membuat EventBridge aturan menggunakan EventBridge konsol. 

  1. Navigasikan ke konsol EventBridge tersebut.

  2. Pilih Aturan di sisi kiri.

  3. Pilih Create Rule.

  4. Masukkan nama dan deskripsi untuk aturan Anda.

  5. Pilih bagaimana Anda ingin memulai aturan ini. Anda memiliki pilihan berikut untuk aturan Anda:

    • Pola acara: Aturan Anda dimulai ketika peristiwa yang cocok dengan pola terjadi. Anda dapat memilih pola yang telah ditentukan yang cocok dengan jenis acara tertentu, atau Anda dapat membuat pola kustom. Jika Anda memilih pola yang telah ditentukan, Anda dapat mengedit pola untuk menyesuaikannya. Untuk informasi selengkapnya tentang pola Peristiwa, lihat Pola CloudWatch Peristiwa di Acara.

    • Jadwal: Aturan Anda dimulai secara teratur pada jadwal yang ditentukan. Anda dapat menggunakan jadwal tarif tetap yang dimulai secara teratur untuk jumlah menit, jam, atau minggu tertentu. Anda juga dapat menggunakan ekspresi cron untuk membuat jadwal yang lebih halus, seperti “Senin pertama setiap bulan pukul 8 pagi.” Jadwal tidak didukung pada bus acara khusus atau mitra.

  6. Pilih bus acara yang Anda inginkan.

  7. Pilih target yang akan dipanggil saat acara cocok dengan pola acara Anda atau saat jadwal dimulai. Anda dapat menambahkan hingga 5 target per aturan. Pilih SageMaker Pipeline dalam daftar tarik-turun target.

  8. Pilih pipeline yang ingin Anda mulai dari daftar dropdown pipeline.

  9. Tambahkan parameter untuk diteruskan ke eksekusi pipeline Anda menggunakan nama dan pasangan nilai. Nilai parameter bisa statis atau dinamis. Untuk informasi selengkapnya tentang parameter Amazon SageMaker AI Pipeline, lihat AWS::Events::Rule SagemakerPipelineParameters.

    • Nilai statis diteruskan ke eksekusi pipeline setiap kali pipeline dimulai. Misalnya, jika {"Name": "Instance_type", "Value": "ml.4xlarge"} ditentukan dalam daftar parameter, maka itu dilewatkan sebagai parameter di StartPipelineExecutionRequest setiap kali EventBridge memulai pipeline.

    • Nilai dinamis ditentukan menggunakan jalur JSON. EventBridge mem-parsing nilai dari muatan peristiwa, lalu meneruskannya ke eksekusi pipeline. Misalnya: $.detail.param.value

  10. Pilih peran yang akan digunakan untuk aturan ini. Anda dapat menggunakan peran yang ada atau membuat yang baru.

  11. (Opsional) Tambahkan tanda.

  12. Pilih Create untuk menyelesaikan aturan Anda.

Aturan Anda sekarang berlaku dan siap untuk memulai eksekusi pipeline Anda.

Buat EventBridge aturan menggunakan AWS CLI

Prosedur berikut menunjukkan cara membuat EventBridge aturan menggunakan AWS CLI.

  1. Buat aturan yang akan dimulai. Saat membuat EventBridge aturan menggunakan AWS CLI, Anda memiliki dua opsi untuk bagaimana aturan Anda dimulai, pola acara dan jadwal.

    • Pola acara: Aturan Anda dimulai ketika peristiwa yang cocok dengan pola terjadi. Anda dapat memilih pola yang telah ditentukan yang cocok dengan jenis acara tertentu, atau Anda dapat membuat pola kustom. Jika Anda memilih pola yang telah ditentukan, Anda dapat mengedit pola untuk menyesuaikannya.  Anda dapat membuat aturan dengan pola acara menggunakan perintah berikut:

      aws events put-rule --name <RULE_NAME> ----event-pattern <YOUR_EVENT_PATTERN> --description <RULE_DESCRIPTION> --role-arn <ROLE_TO_EXECUTE_PIPELINE> --tags <TAGS>
    • Jadwal: Aturan Anda dimulai secara teratur pada jadwal yang ditentukan. Anda dapat menggunakan jadwal tarif tetap yang dimulai secara teratur untuk jumlah menit, jam, atau minggu tertentu. Anda juga dapat menggunakan ekspresi cron untuk membuat jadwal yang lebih halus, seperti “Senin pertama setiap bulan pukul 8 pagi.” Jadwal tidak didukung pada bus acara khusus atau mitra. Anda dapat membuat aturan dengan jadwal menggunakan perintah berikut:

      aws events put-rule --name <RULE_NAME> --schedule-expression <YOUR_CRON_EXPRESSION> --description <RULE_DESCRIPTION> --role-arn <ROLE_TO_EXECUTE_PIPELINE> --tags <TAGS>
  2. Tambahkan target untuk dipanggil saat acara cocok dengan pola acara Anda atau saat jadwal dimulai. Anda dapat menambahkan hingga 5 target per aturan.  Untuk setiap target, Anda harus menentukan: 

    • ARN: ARN sumber daya pipa Anda.

    • Peran ARN: ARN peran EventBridge harus diasumsikan untuk mengeksekusi pipa.

    • Parameter: Parameter pipa Amazon SageMaker AI untuk dilewati.

  3. Jalankan perintah berikut untuk meneruskan pipeline Amazon SageMaker AI sebagai target ke aturan Anda menggunakan put-target:

    aws events put-targets --rule <RULE_NAME> --event-bus-name <EVENT_BUS_NAME> --targets "[{\"Id\": <ID>, \"Arn\": <RESOURCE_ARN>, \"RoleArn\": <ROLE_ARN>, \"SageMakerPipelineParameter\": { \"SageMakerParameterList\": [{\"Name\": <NAME>, \"Value\": <VALUE>}]} }]"] 

Jadwalkan pipeline dengan SageMaker Python SDK

Bagian berikut menunjukkan cara mengatur izin untuk mengakses EventBridge sumber daya dan membuat jadwal pipeline Anda menggunakan SageMaker Python SDK.

Izin yang diperlukan

Anda harus memiliki izin yang diperlukan untuk menggunakan penjadwal pipa. Selesaikan langkah-langkah berikut untuk mengatur izin Anda:

  1. Lampirkan kebijakan hak istimewa minimum berikut ke peran IAM yang digunakan untuk membuat pemicu pipeline, atau gunakan kebijakan AWS terkelola. AmazonEventBridgeSchedulerFullAccess

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "scheduler:ListSchedules", "scheduler:GetSchedule", "scheduler:CreateSchedule", "scheduler:UpdateSchedule", "scheduler:DeleteSchedule" ], "Effect": "Allow", "Resource": [ "*" ] }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/*", "Condition": { "StringLike": { "iam:PassedToService": "scheduler.amazonaws.com" } } } ] }
  2. Membangun hubungan kepercayaan EventBridge dengan menambahkan prinsip layanan scheduler.amazonaws.com ke kebijakan kepercayaan peran ini. Pastikan Anda melampirkan kebijakan kepercayaan berikut ke peran eksekusi jika Anda meluncurkan buku catatan di SageMaker Studio.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "scheduler.amazonaws.com", "sagemaker.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

Buat jadwal pipeline

Dengan menggunakan PipelineSchedule konstruktor, Anda dapat menjadwalkan pipeline untuk dijalankan sekali atau pada interval yang telah ditentukan. Jadwal pipa harus dari jenisat,rate, ataucron. Kumpulan jenis penjadwalan ini merupakan perpanjangan dari opsi EventBridge penjadwalan. Untuk informasi selengkapnya tentang cara menggunakan PipelineSchedule class, lihat sagemaker.workflow.triggers. PipelineSchedule. Contoh berikut menunjukkan cara membuat setiap jenis penjadwalan dengan. PipelineSchedule

from sagemaker.workflow.triggers import PipelineSchedule # schedules a pipeline run for 12/13/2023 at time 10:15:20 UTC my_datetime_schedule = PipelineSchedule( name="<schedule-name>", at=datetime(2023, 12, 13, 10, 15, 20) ) # schedules a pipeline run every 5 minutes my_rate_schedule = PipelineSchedule( name="<schedule-name>", rate=(5, "minutes") ) # schedules a pipeline run at 10:15am UTC on the last Friday of each month during the years 2022 to 2023 my_cron_schedule = PipelineSchedule( name="<schedule-name>", cron="15 10 ? * 6L 2022-2023" )
catatan

Jika Anda membuat jadwal satu kali dan perlu mengakses waktu saat ini, gunakan datetime.utcnow() sebagai gantinya. datetime.now() Yang terakhir tidak menyimpan konteks zona saat ini dan menghasilkan waktu yang salah EventBridge.

Pasang pelatuk ke pipa Anda

Untuk melampirkan PipelineSchedule ke pipeline, panggil put_triggers panggilan pada objek pipeline yang Anda buat dengan daftar pemicu. Jika Anda mendapatkan respons ARN, Anda berhasil membuat jadwal di akun Anda dan EventBridge mulai memanggil pipeline target pada waktu atau tarif yang ditentukan. Anda harus menentukan peran dengan izin yang benar untuk melampirkan pemicu ke pipeline induk. Jika Anda tidak menyediakannya, Pipelines mengambil peran default yang digunakan untuk membuat pipeline dari file konfigurasi.

Contoh berikut menunjukkan cara melampirkan jadwal ke pipa.

scheduled_pipeline = Pipeline( name="<pipeline-name>", steps=[...], sagemaker_session=<sagemaker-session>, ) custom_schedule = PipelineSchedule( name="<schedule-name>", at=datetime(year=2023, month=12, date=25, hour=10, minute=30, second=30) ) scheduled_pipeline.put_triggers(triggers=[custom_schedule], role_arn=<role>)

Jelaskan pemicu saat ini

Untuk mengambil informasi tentang pemicu pipeline yang dibuat, Anda dapat memanggil describe_trigger() API dengan nama pemicu. Perintah ini mengembalikan detail tentang ekspresi jadwal yang dibuat seperti waktu mulai, status diaktifkan, dan informasi berguna lainnya. Cuplikan berikut menunjukkan contoh pemanggilan:

scheduled_pipeline.describe_trigger(name="<schedule-name>")

Sumber daya pemicu pembersihan

Sebelum menghapus pipeline, bersihkan pemicu yang ada untuk menghindari kebocoran sumber daya di akun Anda. Anda harus menghapus pemicu sebelum menghancurkan pipeline induk. Anda dapat menghapus pemicu dengan meneruskan daftar nama pemicu ke delete_triggers API. Cuplikan berikut menunjukkan cara menghapus pemicu.

pipeline.delete_triggers(trigger_names=["<schedule-name>"])
catatan

Waspadai batasan berikut saat Anda menghapus pemicu:

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.