

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Pipeline 参数
<a name="build-and-manage-parameters"></a>

您可以使用参数在管道定义中引入变量。您可以在整个管道定义过程中引用您定义的参数。参数具有默认值，您可以在开始执行管道时通过指定参数值来覆盖该值。默认值必须是与参数类型匹配的实例。步骤定义中使用的所有参数都必须在管道定义中定义。本主题介绍可以定义的参数以及如何执行这些参数。

Amaz SageMaker on Pipelines 支持以下参数类型：
+  `ParameterString` - 表示字符串参数。
+  `ParameterInteger` - 表示整数参数。
+  `ParameterFloat` - 表示浮点参数。
+  `ParameterBoolean` - 表示布尔 Python 类型。

参数采用以下格式：

```
<parameter> = <parameter_type>(
    name="<parameter_name>",
    default_value=<default_value>
)
```

下面的示例显示了一个示例参数实施。

```
from sagemaker.workflow.parameters import (
    ParameterInteger,
    ParameterString,
    ParameterFloat,
    ParameterBoolean
)

processing_instance_count = ParameterInteger(
    name="ProcessingInstanceCount",
    default_value=1
)
```

创建管道时传递参数，如以下示例所示。

```
pipeline = Pipeline(
    name=pipeline_name,
    parameters=[
        processing_instance_count
    ],
    steps=[step_process]
)
```

还可将不同于默认值的参数值传递给管道执行，如以下示例所示。

```
execution = pipeline.start(
    parameters=dict(
        ProcessingInstanceCount="2",
        ModelApprovalStatus="Approved"
    )
)
```

你可以使用 SageMaker Python SDK 函数来操作参数，比如`[ sagemaker.workflow.functions.Join](https://sagemaker.readthedocs.io/en/stable/workflows/pipelines/sagemaker.workflow.pipelines.html#sagemaker.workflow.functions.Join)`。有关参数的更多信息，请参阅[ SageMaker 管道参数](https://sagemaker.readthedocs.io/en/stable/workflows/pipelines/sagemaker.workflow.pipelines.html#parameters)。

有关管道参数的已知限制，请参阅 Amaz [on Pyth SageMaker on](https://sagemaker.readthedocs.io/en/stable) SD *[K 中的限制-参数化](https://sagemaker.readthedocs.io/en/stable/amazon_sagemaker_model_building_pipeline.html#parameterization)*。