Mengonfigurasi notifikasi email

Vertex AI Pipelines dapat memberi tahu Anda terkait keberhasilan atau kegagalan operasi pipeline. Saat pipeline dihentikan, Google Cloud akan mengirimkan email notifikasi status akhir ke alamat email yang Anda tentukan.

Panduan ini menunjukkan cara mengonfigurasi notifikasi email dari pipeline menggunakan Komponen notifikasi email di Google Cloud Pipeline Components SDK.

Sebelum memulai

Sebelum Anda mem-build pipeline yang mengirimkan notifikasi, gunakan petunjuk berikut untuk menyiapkan project Google Cloud dan lingkungan pengembangan.

  1. Agar project Google Cloud Anda siap menjalankan pipeline ML, ikuti petunjuk dalam panduan untuk mengonfigurasi project Google Cloud.

  2. Instal Kubeflow Pipelines SDK v2 atau yang lebih baru.

    pip install --upgrade kfp>=2,<3
    
  1. Untuk menggunakan klien Python Vertex AI di pipeline Anda, instal library klien Vertex AI v1.7 atau yang lebih baru.

  2. Untuk menggunakan layanan Vertex AI di pipeline Anda, instal Google Cloud Pipeline Components.

Mengirim notifikasi dari pipeline

Contoh berikut menunjukkan cara mengonfigurasi notifikasi email dengan menentukan tugas notifikasi email (notify_email_task) dan menambahkannya ke pengendali penghentian pipeline (dsl.ExitHandler). Tugas notifikasi ini memanggil operator VertexNotificationEmailOp di komponen notifikasi email saat pipeline dihentikan.

from kfp import dsl
from kfp import compiler
from google_cloud_pipeline_components.v1.vertex_notification_email import VertexNotificationEmailOp

@dsl.pipeline(
    name='PIPELINE_NAME',
    pipeline_root=PIPELINE_ROOT_PATH,
)
def TASK_NAME():
    notify_email_task = VertexNotificationEmailOp(recipients=RECIPIENTS_LIST)

    with dsl.ExitHandler(notify_email_task):
        # Add your pipeline tasks here.

compiler.Compiler().compile(pipeline_func=notification_email_pipeline,
        package_path='notification_email_pipeline.yaml')

Ganti kode berikut:

  • PIPELINE_NAME: Nama pipeline.

  • PIPELINE_ROOT_PATH: Menentukan Cloud Storage URI yang dapat diakses oleh akun layanan pipeline. Artefak operasi pipeline disimpan di dalam root pipeline.

    Root pipeline dapat ditetapkan sebagai argumen anotasi @kfp.dsl.pipeline pada fungsi pipeline, atau dapat ditetapkan saat Anda memanggil create_run_from_job_spec untuk membuat operasi pipeline.

  • TASK_NAME: Nama tugas pipeline tempat Anda mengonfigurasi notifikasi email.

  • RECIPIENTS_LIST: Daftar yang dipisahkan koma yang berisi maksimum tiga alamat email yang akan dikirimi email notifikasi.

Tambahkan tugas pipeline dalam isi fungsi pengendali penghentian dsl.ExitHandler. Dengan menggabungkan tugas di fungsi pengendali penghentian menggunakan cara ini, Anda menentukan bahwa komponen email notifikasi harus melaporkan status tugas ini saat pipeline dihentikan. Misalnya, jika tugas dalam konten pengendali penghentian gagal, notifikasi akan melaporkan statusnya sebagai gagal.

Contoh email notifikasi

Jika Anda mengonfigurasi notifikasi email untuk pipeline menggunakan contoh kode di bagian Mengirim notifikasi dari pipeline, Vertex AI akan mengirimkan notifikasi email seperti berikut ini saat pipeline dihentikan:

Subjek: Tugas Vertex Pipelines "PIPELINE_NAME" tugas "TASK_NAME"?
Dari: Notifikasi Google <notify-noreply@google.com>

Pelanggan Vertex AI yang terhormat,

Tugas Vertex Pipelines "PIPELINE_NAME" tugas "TASK_NAME" berakhir dengan status berikut: {status}.

Detail tambahan:
- Project: {project}
- Nama pipeline: PIPELINE_NAME
- ID tugas pipeline: {pipeline_job_id}
- Waktu mulai: {start_time}

Untuk melihat tugas pipeline ini di Konsol Cloud, gunakan link berikut: {console_link}

Hormat kami,
Tim Google Cloud AI

Dalam contoh ini:

  • {status} menunjukkan status akhir tugas, yang dapat berupa SUCCEEDED, FAILED, atau CANCELLED.
  • {project} adalah nama project.
  • {pipeline_job_id} adalah ID tugas pipeline unik.
  • {start_time} menunjukkan waktu mulai untuk pipeline.
  • {console_link} adalah hyperlink ke tugas pipeline di konsol Google Cloud.