如何将Sagemaker项目组织模板中创建的种子代码提交到GitHub仓库?

0

【以下的问题经过翻译处理】 目标是复制Sagemaker项目模板中的“使用Jenkins和第三方Git存储库进行模型构建、训练和部署的MLOps模板”。我想每次使用我的组织自定义模板创建项目时,向Github存储库提供自定义种子代码,而不是内置模板提供的默认种子代码。

我能够使用服务目录创建自定义模板,但我找不到向Github存储库提供种子代码的解决方案。因此,我决定查看内置项目模板如何实现这一点,它使用来自此存储桶的资源“s3://sagemaker-servicecatalog-seedcode-us-east-1/bootstrap/GitRepositorySeedCodeCheckinCodeBuildProject-v1.0.zip”,但我无法访问它。我不确定如何实现这个目标?

1 回答
0

【以下的回答经过翻译处理】 您可以使用awscli的s3 cp <s3_uri> <target_path>命令或以下URL下载种子包:https://sagemaker-servicecatalog-seedcode-us-east-1.s3.amazonaws.com/bootstrap/GitRepositorySeedCodeCheckinCodeBuildProject-v1.0.zip

该.zip文件由CodeBuild使用,当模板部署时(由映射到CFN自定义组件的Lambda调用),它被调用。如果您查看模板,您会发现一个名为“SageMakerModelBuildSeedCodeCheckinProjectTriggerLambdaInvoker”的组件。您可以找到为该组件定义的一些环境变量,例如:SEEDCODE_BUCKET_NAME和SEEDCODE_BUCKET_KEY。这些变量指向一个S3 URI,该URI具有另一个.zip文件,其中包含git代码库的种子内容。如果您获取那里定义的默认值,您也可以重新创建URL并下载.zip文件:

https://sagemaker-servicecatalog-seedcode-us-east-1.s3.amazonaws.com/toolchain/model-building-workflow-jenkins-v1.0.zip

因此,最后,如果您想更改推送到git仓库的内容,您可以重新定义这两个变量并指向包含您创建的.zip文件的S3路径。

额外内容:如果您是一个好奇心强的人,我建议您查看CodeBuild.zip中的.java文件(src/main/java/GitRepositorySeedCodeBootStrapper.java),以便了解它准备git代码库的内容,例如:下载.zip,解压,提交/推送到git仓库。

profile picture
专家
已回答 8 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则