我使用 AWS Python SDK 创建了一个新的 SageMaker 管道,一切正常,我可以触发我的管道,并且使用 SDK 和以下简单命令可以完美运行:
pipeline.upsert(role_arn=get_execution_role())
execution = pipeline.start()
现在,我想安排管道执行在每天早上运行(例如,上午 8 点)。这是我的问题。我按照本教程所示配置了 EventBridge:https://github.com/aws-samples/scheduling-sagemaker-processing-with-sagemaker-pipelines,但我没有创建新角色,而是使用了现有角色(与上面的命令 get_execution_role() 返回的结果相同)。我的事件在正确的时间触发(每天上午 8 点),但管道不执行。在 Cloud Watch 上检查日志时,它显示我收到了该事件的 FailedInitations,但我不知道如何从该失败的执行中获取日志。我尝试在云踪迹上搜索,但什么也没找到。
有人可以帮助我吗?
您需要为创建的EventBridge角色中的管道授予权限。如果勾选,则必须只有您为其创建角色的管道名称。对我来说,它致力于将我的管道添加到角色中。
导航到 AWS CloudWatch 控制台,然后查找与您的 Lambda 函数关联的日志组。您可以在 CloudWatch 控制台的“日志组”下找到它。
确保 Lambda 函数使用的 IAM 角色(get_execution_role() 返回的角色)具有执行 SageMaker 管道所需的权限。这包括调用 SageMaker API、访问 S3 以及与管道交互的任何其他资源的权限。