6.1 Choose an execution rule

A deployment is a way to run a Machine Learning pipeline in a repeatable and automated way.

For each deployment, you can configure an execution rule:

  • by endpoint (web API) : the pipeline will be executed by a call to a web API. In addition, this API will allow, if necessary, to retrieve data as input and deliver the result of the pipeline as output. Access to the API can be securely communicated to external users.

  • by periodic trigger (CRON) : rules can be configured to trigger the pipeline periodically.

6.1.1 Summary

  1. Deploy by endpoint

  2. Deploy by periodic trigger

Function name

Method

Return type

Description

create_deployment

create_deployment(name, pipeline_name, execution_rule, outputs_mapping=[], inputs_mapping=[])

Dict

Function that deploy a pipeline by creating a deployment which allows a user to trigger the pipeline execution

6.1.2 Deploy with execution rule: Endpoint

6.1.2.1 Definition function

To create an auto-mapping deployment where all inputs and outputs are based on API calls, you can use the create_deployment function. To create a deployment with manual mapping, you can use the create_deployment function with the additional parameters inputs_mapping to specify the precise mapping between input and source.

Warning

Outputs mapping always needs to be precised. Auto-mapping is only available for inputs.

Parameters

  • deployment_name (str) – Name of endpoint chosen by the user to refer to the endpoint

  • pipeline_name (str) – Name of pipeline that will be run by the deployment / endpoint

  • execution_rule (str) - Execution rule of the deployment. Must be “endpoint” or “periodic”. For convenience, members of the enumeration DEPLOYMENT_EXECUTION_RULES could be used too.

  • description (str, optional) – Text description of usage of pipeline for user only

  • outputs_mapping (List) - List of all OutputDestination objects with information for each input mapping.

  • inputs_mapping (List, optional) - List of input mappings, to map pipeline inputs to different sources (such as constant values, endpoint inputs, data store or environment variables). See InputSource for more details. For endpoint rules, if an input of the step in the pipeline is not explicitly mapped, it will be automatically mapped to an endpoint input with the same name.

Returns

Information about the deployment just create in a dict Python format. In this data, you will have :

  • id - Unique identifier of the deployment

  • name - Name of the deployment

  • endpoint_token - Token used for authentication when making requests to the endpoint

  • inputs_mapping - Information about the mapping between the sources of the deployment and the inputs of the pipeline

    • step_input_name - Name of the input in the pipeline

    • endpoint_input_name - Name of the source in the deployment

    • constant_value - Default value for the input if the source is missing

    • environment_variable_name - The name of an environment variable

    • is_null - A flag indicating that the input should not be provided any value at execution time

  • outputs_mapping - Information about the mapping between the destinations of the deployment and the outputs of the pipeline

    • step_output_name - Name of the output in the pipeline

    • endpoint_output_name - Name of the destination in the deployment

    • is_null - This flag indicates that the output will be deleted after execution.

  • pipeline - Information about the pipeline that will be run by the deployment

    • name - Name of the pipeline

6.1.2.2 Example

Example auto mapping

sdk.create_deployment(
   deployment_name="my_deployment",
   pipeline_name="my_pipeline",
        execution_rule="endpoint",
   outputs_mapping=[prediction_endpoint_ouput],
   inputs_mapping=[],
)

Example manual mapping

sdk.create_deployment(
   deployment_name="my_deployment",
   pipeline_name="my_pipeline",
        execution_rule="endpoint",
   outputs_mapping=[prediction_endpoint_ouput],
    inputs_mapping=[
                seagull_endpoint_input,
                big_whale_input,
                salt_constant_input,
        ],
)

Example of return object

{
    'id': '29d0c371-49ec-4071-a879-10cdab00fda4',
    'name': 'my_deployment',
    'endpoint_token': 'EWwIii [...] kjdD5Q',
    'inputs_mapping':
    [{
        'step_input_name': 'seagull',
        'endpoint_input_name': 'sourceData'
    },
    {
        'step_input_name': 'big_whale',
        'constant_value': 5
    },],
    'outputs_mapping':
    [{
        'step_output_name': 'resultMulti',
        'endpoint_output_name': 'resultMulti'
    }],
    'pipeline': {
        'name': 'my_pipeline'
    }
}

6.1.3 Deploy with execution rule: Periodic

6.1.3.1 Definition function

To create an auto-mapping deployment where all inputs and outputs are based on periodicity, you can use the create_deployment function. To create a deployment with manual mapping, you can use the create_deployment function with the additional parameters inputs_mapping to specify the precise mapping between input and source.

Warning

Outputs mapping always needs to be precised. Auto-mapping is only available for inputs.

Parameters

  • deployment_name (str) – Name of endpoint chosen by the user to refer to the endpoint

  • pipeline_name (str) – Name of pipeline that will be run by the deployment / endpoint

  • execution_rule (str) - Execution rule of the deployment. Must be “endpoint” or “periodic”. For convenience, members of the enumeration DEPLOYMENT_EXECUTION_RULES could be used too.

  • description (str, optional) – Text description of usage of pipeline for user only.

  • outputs_mapping (List) - List of all OutputDestination objects with information for each input mapping.

  • inputs_mapping (List, optional) - List of input mappings, to map pipeline inputs to differentsources (such as constant values, data store, or environment variables). See InputSource for more details. For periodic rules, all inputs of the step in the pipeline must be explicitly mapped.

Returns

Information about the deployment just create in a dict Python format.