Vertex AI Pipelines 可通知您管道執行結果是否成功。管道結束時, Google Cloud 會將最終狀態通知電子郵件傳送至您指定的電子郵件地址。
本指南說明如何使用 Google Cloud SDK 中的電子郵件通知元件,設定管道的電子郵件通知。
事前準備
在建構用於傳送通知的管道之前,請按照下列指示設定 Google Cloud 專案和開發環境。
如要讓 Google Cloud 專案準備好執行 ML 管道,請按照指南中的操作說明設定Google Cloud 專案。
安裝 Kubeflow Pipelines SDK 2 以上版本。
pip install --upgrade "kfp>=2,<3"
如要在管道中使用 Vertex AI Python 用戶端,請安裝 Vertex AI 用戶端程式庫 1.7 以上版本。
如要在管道中使用 Vertex AI 服務,請安裝Google Cloud Pipeline 元件。
透過管道傳送通知
以下範例說明如何設定電子郵件通知,方法是定義電子郵件通知工作 (notify_email_task
),並將其新增至管道的結束處理常式 (dsl.ExitHandler
)。這個通知工作會在管道結束時,在電子郵件通知元件中叫用 VertexNotificationEmailOp
運算子。
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')
更改下列內容:
PIPELINE_NAME:管道的名稱。
PIPELINE_ROOT_PATH:指定 管道服務帳戶可存取的 Cloud Storage URI。管道執行作業的構件會儲存在管道根目錄中。
管道根目錄可設為管道函式上
@kfp.dsl.pipeline
註解的引數,也可以在呼叫create_run_from_job_spec
以建立管道執行作業時設定。TASK_NAME:您要設定電子郵件通知的管道工作名稱。
RECIPIENTS_LIST:以半形逗號分隔的清單,最多可包含三個要傳送通知電子郵件的電子郵件地址。
在 dsl.ExitHandler
退出處理常式函式的主體中新增管道工作。透過這種方式在退出處理常式函式中包裝工作,您可以指定通知電子郵件元件應在管道退出時回報這些工作的狀態。舉例來說,如果結束處理常式內容中的任務失敗,通知就會將狀態回報為失敗。
通知電子郵件範例
如果您使用「從管道傳送通知」中的程式碼範例設定管道的電子郵件通知,Vertex AI 會在管道結束時傳送電子郵件通知,內容類似以下範例:
主旨:Vertex Pipelines 工作「PIPELINE_NAME」任務「TASK_NAME」
寄件者:Google 通知 <notify-noreply@google.com>
Vertex AI 客戶,你好:
Vertex Pipelines 工作「PIPELINE_NAME」任務「TASK_NAME」結束時的狀態為:{status}。
其他詳細資料:
- 專案:{project}
- 管道名稱:PIPELINE_NAME
- 管道工作 ID:{pipeline_job_id}
- 開始時間:{start_time}
如要在 Cloud 控制台查看這個管道工作,請使用以下連結:{console_link}
敬啟,
Google Cloud AI 團隊
在這個例子中:
{status}
代表任務的最終狀態,可以是SUCCEEDED
、FAILED
或CANCELLED
。{project}
是專案名稱。{pipeline_job_id}
是管道工作 ID。{start_time}
代表管道的開始時間。{console_link}
是 Google Cloud 控制台中管道工作的超連結。