You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AWS SageMaker注册新模型版本时触发Lambda并启动SageMaker Pipeline?

实现SageMaker模型注册表触发Lambda并启动流水线的步骤

1. 创建并配置Lambda函数

1.1 创建Lambda执行角色

创建IAM角色,为其附加以下权限策略:

  • AmazonSageMakerFullAccess(或最小权限:sagemaker:StartPipelineExecution)
  • CloudWatchLogsFullAccess(用于日志记录)

1.2 编写Lambda函数代码

使用Python编写函数,从EventBridge事件中提取模型版本信息,触发指定SageMaker流水线:

import boto3

sagemaker = boto3.client('sagemaker')

def lambda_handler(event, context):
    # 从事件中提取模型版本ARN
    model_version_arn = event['detail']['ModelVersionArn']
    
    # 启动SageMaker流水线
    response = sagemaker.start_pipeline_execution(
        PipelineName='你的流水线名称',
        PipelineParameters=[
            {
                'Name': 'ModelVersionArn',
                'Value': model_version_arn
            }
            # 可添加其他流水线所需参数
        ]
    )
    
    return {
        'statusCode': 200,
        'body': f"流水线已启动,执行ARN: {response['PipelineExecutionArn']}"
    }

2. 创建EventBridge规则触发Lambda

2.1 配置事件模式

在EventBridge控制台创建规则,设置事件模式匹配SageMaker模型版本注册完成的事件:

{
  "source": ["aws.sagemaker"],
  "detail-type": ["SageMaker Model Version State Change"],
  "detail": {
    "ModelVersionStatus": ["Completed"],
    "ModelGroupName": ["你的模型组名称"] // 可选,指定特定模型组触发
  }
}

2.2 设置目标为Lambda函数

在规则的目标配置中,选择之前创建的Lambda函数,完成规则创建。

3. 为Lambda添加EventBridge调用权限

通过AWS CLI执行以下命令,允许EventBridge调用Lambda:

aws lambda add-permission \
  --function-name 你的Lambda函数名称 \
  --statement-id EventBridgeInvokeLambda \
  --action "lambda:InvokeFunction" \
  --principal events.amazonaws.com \
  --source-arn EventBridge规则的ARN

也可在Lambda控制台的「配置」->「权限」中手动添加此权限。

4. 测试流程

  1. 在SageMaker模型注册表中注册一个新的模型版本
  2. 查看Lambda控制台的日志,确认函数已被触发
  3. 进入SageMaker流水线控制台,检查是否有新的执行任务启动

内容的提问来源于stack exchange,提问作者Wajahat Lateef

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 02:42:12