in sagemaker_run_notebook/server_extension/handlers.py [0:0]
def post(self):
data = self.load_params(["image", "input_path", "notebook"])
if data is None:
return
params = data.get("parameters", {})
if isinstance(params, str):
params = json.loads(params)
kwargs = dict(
image=data["image"],
input_path=data["input_path"],
output_prefix=data.get("output_prefix", None),
notebook=data["notebook"],
parameters=params,
role=data.get("role", None),
)
instance_type = data.get("instance_type", None)
if instance_type:
kwargs["instance_type"] = instance_type
try:
job_name = run.invoke(**kwargs)
self.json_response(dict(job_name=job_name))
except botocore.exceptions.ClientError as e:
self.client_error_response(e)
except botocore.exceptions.BotoCoreError as e:
self.botocore_error_response(e)
except run.InvokeException as ie:
self.error_response(
400, "InvokeException", f"Lambda function returned error: {str(ie)}"
)
except ValueError as ve:
self.error_response(400, "ValueError", str(ve))