sagemaker 项目模板部署从哪里获取环境变量
Posted
技术标签:
【中文标题】sagemaker 项目模板部署从哪里获取环境变量【英文标题】:Where do sagemaker project templates deployment get the environment variables from 【发布时间】:2021-12-16 22:17:52 【问题描述】:我在 sagemaker studio 中下载了一个 sagemaker 项目模板。我下载的是用于模型构建、训练和部署的 MLOps 模板。 (请参阅有关它的文档 here 和下载的代码 here)。
我很困惑为部署设置环境变量的位置。您可以在buildspec.yml
代码构建文件的部署中看到这些引用。 (见文件here)
python build.py \
--sagemaker-project-id "$SAGEMAKER_PROJECT_ID" --sagemaker-project-name "$SAGEMAKER_PROJECT_NAME" \
--model-package-group-name "$SOURCE_MODEL_PACKAGE_GROUP_NAME" \
--staging-config-name "$STAGING_CONFIG_NAME" --prod-config-name "$PROD_CONFIG_NAME" \
--sagemaker-execution-role-staging-name "$SAGEMAKER_EXECUTION_ROLE_STAGING_NAME" \
--sagemaker-execution-role-prod-name "$SAGEMAKER_EXECUTION_ROLE_PROD_NAME" \
--staging-accounts "$STAGING_ACCOUNT_LIST" \
--prod-accounts "$PROD_ACCOUNT_LIST" \
--env-name "$ENV_NAME" \
--ebs-kms-key-arn "$SAGEMAKER_EBS_KMS_KEY_ARN" \
--env-type-staging-name "$ENV_TYPE_STAGING_NAME" \
--env-type-prod-name "$ENV_TYPE_PROD_NAME" \
--multi-account-deployment "$MULTI_ACCOUNT_DEPLOYMENT"
但是,我看不到这些环境变量的设置位置。比如SOURCE_MODEL_PACKAGE_GROUP_NAME
在哪里设置?
【问题讨论】:
【参考方案1】:这些变量在定义 CodePipeline 和 CodeBuild 的 CloudFormation 模板中设置。
这可能就是您要找的那个:
https://github.com/aws-samples/amazon-sagemaker-secure-mlops/blob/master/cfn_templates/project-model-deploy.yaml#L226如果您通过 SageMaker Studio 部署了 SageMaker 项目,您应该已经拥有一个可以更新的 CloudFormation 堆栈。
【讨论】:
以上是关于sagemaker 项目模板部署从哪里获取环境变量的主要内容,如果未能解决你的问题,请参考以下文章
在 CloudFormation/CDK 中获取 Sagemaker Notebook 实例 IP 地址
如何在 Python 中本地部署 Amazon-SageMaker
Streamlit 浏览器应用程序无法从 Sagemaker 终端打开