SageMaker项目列仓库失败 提示指定Stack不存在问题咨询
异常Stack ID来源说明
- 报错中
SC-xxxxxxxxxxxx-pp-xxxxxxxxxxxxx格式的Stack ID是AWS Service Catalog预置产品时自动生成的托管CloudFormation栈唯一标识,命名规则固定为SC-<账号ID>-pp-<Service Catalog预置产品实例ID>,和你在CloudFormation控制台看到的自定义命名栈ID生成规则完全不同。 - 出现ID不匹配、提示栈不存在的核心原因:你使用的自定义SageMaker项目模板缺失了SageMaker识别关联资源必需的输出段配置。SageMaker控制台列出项目仓库时,不会全局扫描账号下名称匹配的CodeCommit仓库,只会固定查询项目绑定的Service Catalog托管栈内的注册资源,当模板没有按规范输出CodeCommit仓库信息时,SageMaker无法完成资源关联,会抛出栈不存在的查询错误。
问题属性判定
该问题不属于权限配置类问题。如果是权限不足导致的故障,报错信息会明确返回AccessDenied、无对应操作权限类的提示,不会返回栈不存在的资源查询错误。
修复方法
在现有自定义CloudFormation模板的Resources段落后补充符合SageMaker规范的Outputs配置,将CodeCommit仓库信息注册为Service Catalog栈的标准输出,让SageMaker可以正常识别关联仓库,补充的配置段示例如下:
Outputs: SageMakerProjectModelBuildRepositoryName: Description: "Name of the model build CodeCommit repository" Value: !Ref ModelBuildCodeCommitRepository SageMakerProjectModelBuildRepositoryArn: Description: "ARN of the model build CodeCommit repository" Value: !GetAtt ModelBuildCodeCommitRepository.Arn
更新Service Catalog中对应产品的模板版本后,重新创建SageMaker项目即可正常列出关联的项目仓库。
内容的提问来源于stack exchange,提问作者awscoder
相关产品推荐
相关产品推荐

