Skip to content

Commit 7a4e4ce

Browse files
author
Saumitra Vikram
committed
feature: support specifying env-vars when creating model from model package
1 parent a9b32ec commit 7a4e4ce

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

src/sagemaker/model.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1620,6 +1620,9 @@ def _create_sagemaker_model(self, *args, **kwargs): # pylint: disable=unused-ar
16201620

16211621
container_def = {"ModelPackageName": model_package_name}
16221622

1623+
if self.env != {}:
1624+
container_def["Environment"] = self.env
1625+
16231626
self._ensure_base_name_if_needed(model_package_name.split("/")[-1])
16241627
self._set_model_name_if_needed()
16251628

tests/unit/sagemaker/model/test_model_package.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,10 @@
5252
"CertifyForMarketplace": False,
5353
}
5454

55+
ENV_KEY_1 = "env_key_1"
56+
ENV_VALUE_1 = "env_key_1"
57+
ENVIRONMENT = {ENV_KEY_1: ENV_VALUE_1}
58+
5559

5660
@pytest.fixture
5761
def sagemaker_session():
@@ -115,6 +119,29 @@ def test_create_sagemaker_model_uses_model_name(name_from_base, sagemaker_sessio
115119
)
116120

117121

122+
def test_create_sagemaker_model_include_environment_variable(sagemaker_session):
123+
model_name = "my-model"
124+
model_package_name = "my-model-package"
125+
126+
model_package = ModelPackage(
127+
role="role",
128+
name=model_name,
129+
model_package_arn=model_package_name,
130+
env=ENVIRONMENT,
131+
sagemaker_session=sagemaker_session,
132+
)
133+
134+
model_package._create_sagemaker_model()
135+
136+
sagemaker_session.create_model.assert_called_with(
137+
model_name,
138+
"role",
139+
{"ModelPackageName": model_package_name, "Environment": ENVIRONMENT},
140+
vpc_config=None,
141+
enable_network_isolation=False,
142+
)
143+
144+
118145
@patch("sagemaker.utils.name_from_base")
119146
def test_create_sagemaker_model_generates_model_name(name_from_base, sagemaker_session):
120147
model_package_name = "my-model-package"

0 commit comments

Comments
 (0)