File tree Expand file tree Collapse file tree 2 files changed +26
-2
lines changed Expand file tree Collapse file tree 2 files changed +26
-2
lines changed Original file line number Diff line number Diff line change 1212# language governing permissions and limitations under the License.
1313from __future__ import absolute_import
1414
15+ from botocore import exceptions
16+
1517from sagemaker .job import _Job
1618from sagemaker .session import Session
1719from sagemaker .utils import base_name_from_image , name_from_base
@@ -119,8 +121,14 @@ def delete_model(self):
119121 self .sagemaker_session .delete_model (self .model_name )
120122
121123 def _retrieve_image_name (self ):
122- model_desc = self .sagemaker_session .sagemaker_client .describe_model (ModelName = self .model_name )
123- return model_desc ['PrimaryContainer' ]['Image' ]
124+ try :
125+ model_desc = self .sagemaker_session .sagemaker_client .describe_model (ModelName = self .model_name )
126+ return model_desc ['PrimaryContainer' ]['Image' ]
127+ except exceptions .ClientError :
128+ raise ValueError ('Failed to fetch model information for %s. '
129+ 'Please ensure that the model exists. '
130+ 'Local instance types require locally created models.'
131+ % self .model_name )
124132
125133 def wait (self ):
126134 self ._ensure_last_transform_job ()
Original file line number Diff line number Diff line change 1616from mock import MagicMock , Mock , patch
1717
1818from sagemaker .transformer import Transformer , _TransformJob
19+ from tests .integ import test_local_mode
1920
2021MODEL_NAME = 'model'
2122IMAGE_NAME = 'image-for-model'
@@ -65,6 +66,21 @@ def test_delete_model(sagemaker_session):
6566 sagemaker_session .delete_model .assert_called_with (MODEL_NAME )
6667
6768
69+ def test_transformer_fails_without_model ():
70+ transformer = Transformer (model_name = 'remote-model' ,
71+ sagemaker_session = test_local_mode .LocalNoS3Session (),
72+ instance_type = 'local' ,
73+ instance_count = 1 )
74+
75+ with pytest .raises (ValueError ) as error :
76+
77+ transformer .transform ('empty-data' )
78+
79+ assert str (error .value ) == 'Failed to fetch model information for remote-model. ' \
80+ 'Please ensure that the model exists. ' \
81+ 'Local instance types require locally created models.'
82+
83+
6884@patch ('sagemaker.transformer._TransformJob.start_new' )
6985def test_transform_with_all_params (start_new_job , transformer ):
7086 content_type = 'text/csv'
You can’t perform that action at this time.
0 commit comments