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

新手使用AWS SageMaker Pipeline报错求助:upsert步骤属性与类型错误

解决AWS SageMaker Pipeline upsert时的AttributeError与TypeError问题

错误原因

你传入pipeline.upsert(role_arn=sm_role)的sm_role是ParameterString类型的管道变量,但upsert()方法的role_arn参数需要静态字符串格式的IAM角色ARN,而非管道参数对象,这才触发了这两个错误。

解决方案

根据你的场景选择对应方法:

  • 如果角色ARN固定:直接传入字符串形式的ARN,示例:
    pipeline.upsert(role_arn="arn:aws:iam::123456789012:role/YourSageMakerExecutionRole")
    
  • 如果sm_role是带默认值的管道参数:提取其默认值传入,示例:
    # 假设sm_role定义为:sm_role = ParameterString(name="SageMakerRole", default_value="你的角色ARN")
    pipeline.upsert(role_arn=sm_role.default_value)
    

关于错误提示的补充说明

错误里提到的.to_string()方法,是用于管道运行时的步骤定义中(比如定义训练任务、处理任务时引用参数),而非upsert部署阶段。例如在定义ProcessingStep时可以这样用:

processing_step = ProcessingStep(
    name="PreprocessingStep",
    processor=processor,
    role=sm_role.to_string(),
    ...
)

内容的提问来源于stack exchange,提问作者Ananda Roy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 13:53:13