Example #1
0
def create_and_execute_static_pipeline(sagemaker_session):
    # start the execution and wait for success
    print(f"Starting static execution of pipeline '{STATIC_PIPELINE_NAME}'")
    try:
        execution_arn = test_end_to_end_pipeline_successful_execution(
            sagemaker_session=sagemaker_session,
            region_name=sagemaker_session.boto_session.region_name,
            role=get_execution_role(sagemaker_session),
            pipeline_name=STATIC_PIPELINE_NAME,
            wait=True,
        )

        # now deploy the model package to an endpoint
        _deploy_static_endpoint(
            execution_arn=execution_arn,
            sagemaker_session=sagemaker_session,
        )

        return execution_arn
    except Exception:
        # Pipeline already exists, meaning an execution was started by
        # tests in a different thread
        execution_arn = _get_static_pipeline_execution_arn(sagemaker_session)
        _deploy_static_endpoint(
            execution_arn=execution_arn,
            sagemaker_session=sagemaker_session,
        )
        return execution_arn
Example #2
0
def _deploy_static_endpoint(execution_arn, sagemaker_session):
    try:
        model_package_arn = get_model_package_arn_from_static_pipeline(
            execution_arn, sagemaker_session)

        model_package = ModelPackage(
            role=get_execution_role(sagemaker_session),
            model_package_arn=model_package_arn,
            sagemaker_session=sagemaker_session,
        )
        model_package.deploy(1,
                             "ml.t2.medium",
                             endpoint_name=STATIC_ENDPOINT_NAME)
        time.sleep(120)
    except ClientError as e:
        if e.response["Error"]["Code"] == "ValidationException":
            print(
                f"Endpoint {STATIC_ENDPOINT_NAME} already exists. Continuing.")
            pass
        else:
            raise (e)
Example #3
0
def role(feature_store_session):
    return get_execution_role(feature_store_session)
Example #4
0
def role(sagemaker_session):
    return get_execution_role(sagemaker_session)