本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
以排程和事件為基礎執行特徵處理器管道
Amazon SageMaker Feature Store Feature Processing 管道執行可以設定為根據預先設定的排程或由於另一個 AWS 服務事件而自動和非同步啟動。例如,您可以將特徵處理管道排定在每月的第一天執行,或將兩條管道串連在一起,待來源管道執行完成後自動執行目標管道。
基於排程執行
特徵處理器 SDK 提供 schedule
ScheduleExpression
參數 (與 Amazon EventBridge 支援的運算式相同),使用 at
、rate
、或 cron
運算式來指定排程。排程 API 在語意上是更新或新增作業,如果排程存在,則更新排程;如果排程不存在,則建立排程。如需有關 EventBridge 運算式及範例的更多資訊,請參閱 EventBridge 排程器使用者指南中的 EventBridge 排程器上的排程類型。
以下範例使用了特徵處理器 API schedule
at
、rate
和 cron
運算式。
from sagemaker.feature_store.feature_processor import schedule pipeline_name='feature-processor-pipeline' event_bridge_schedule_arn = schedule( pipeline_name=pipeline_name, schedule_expression="at(2020-11-30T00:00:00)" ) event_bridge_schedule_arn = schedule( pipeline_name=pipeline_name, schedule_expression="rate(24 hours)" ) event_bridge_schedule_arn = schedule( pipeline_name=pipeline_name, schedule_expression="cron(0 0-23/1 ? * * 2023-2024)" )
schedule
API 中日期和時間輸入的預設時區為 UTC。如需有關 EventBridge 排程器排程運算式的更多相關資訊,請參閱 EventBridge 排程器 API 參考文件中的 ScheduleExpression
。
排程的特徵處理器管道執行為您的轉換函式提供排程執行時間,可用作等冪性標記,或基於日期範圍之輸入的固定參考點。若要停用 (即暫停) 或重新啟用排程,請在 schedule
state
參數中分別使用 ‘DISABLED’
或 ‘ENABLED’
。
如需有關特徵處理器的資訊,請參閱特徵處理器 SDK 資料來源。
事件型執行
特徵處理管道可以設定為當 AWS
事件發生時自動執行。特徵處理 SDK 提供一個 put_trigger
FeatureProcessorPipelineEvent
put_trigger
函數會設定 Amazon EventBridge 規則和目標來路由事件,並允許您指定 EventBridge 事件模式來回應任何 AWS 事件。如需有關這些概念的資訊,請參閱 Amazon EventBridge 規則、目標和事件模式。
可以啟用或停用觸發程式。EventBridge 將使用 put_trigger
API 的 role_arn
參數中提供的角色來啟動目標管道執行。如果軟體開發套件用於 Amazon SageMaker Studio Classic 或 Notebook 環境,則預設會使用執行角色。如需有關如何取得執行角色的資訊,請參閱取得您的執行角色。
下面的範例會設定以下內容:
-
使用
to_pipeline
API 的 SageMaker AI Pipeline,會採用您的目標管道名稱 (target-pipeline
) 和轉換函數 ()transform
。如需有關特徵處理器和轉換函式的資訊,請參閱特徵處理器 SDK 資料來源。 -
使用
put_trigger
API 的觸發程式,該觸發程式接受事件的FeatureProcessorPipelineEvent
和您的目標管道名稱 (target-pipeline
)。FeatureProcessorPipelineEvent
定義來源管道 (source-pipeline
) 狀態變成Succeeded
時的觸發程式。如需有關特徵處理器管道事件函式的資訊,請參閱 Feature Store 閱讀文件中的FeatureProcessorPipelineEvent
。
from sagemaker.feature_store.feature_processor import put_trigger, to_pipeline, FeatureProcessorPipelineEvent to_pipeline(pipeline_name="target-pipeline", step=transform) put_trigger( source_pipeline_events=[ FeatureProcessorPipelineEvent( pipeline_name="source-pipeline", status=["Succeeded"] ) ], target_pipeline="target-pipeline" )
有關使用事件型觸發程式為特徵處理器管道建立持續執行和自動重試的範例,請參閱使用事件型觸發程式連續執行和自動重試。
如需使用事件型觸發程式建立連續串流和自動重試的範例,請參閱串流自訂資料來源範例。