

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Estructura y ejecución de la canalización
<a name="build-and-manage-pipeline"></a>

**Topics**
+ [Estructura de la canalización](#build-and-manage-pipeline-structure)
+ [Ejecución de canalización mediante la configuración del paralelismo](#build-and-manage-pipeline-execution)

## Estructura de la canalización
<a name="build-and-manage-pipeline-structure"></a>

Una instancia de Amazon SageMaker Pipelines se compone de `name``parameters`, y`steps`. Los nombres de las canalizaciones deben ser únicos en un par `(account, region)`. Todos los parámetros utilizados en las definiciones de los pasos se deben definir en la canalización. Los pasos de la canalización enumerados determinan automáticamente su orden de ejecución en función de la dependencia de los datos entre sí. El servicio de Canalizaciones resuelve las relaciones entre los pasos del DAG de dependencia de datos para crear una serie de pasos que completa la ejecución. A continuación se muestra un ejemplo de una estructura de canalización.

**aviso**  
Al crear una canalización mediante el editor visual o el SDK de Python para SageMaker IA, no incluyas información confidencial en los parámetros de la canalización ni en ningún campo de definición de pasos (como las variables de entorno). Estos campos serán visibles en el futuro cuando se devuelvan en una solicitud `DescribePipeline`.

```
from sagemaker.workflow.pipeline import Pipeline
  
  pipeline_name = f"AbalonePipeline"
  pipeline = Pipeline(
      name=pipeline_name,
      parameters=[
          processing_instance_type, 
          processing_instance_count,
          training_instance_type,
          model_approval_status,
          input_data,
          batch_data,
      ],
      steps=[step_process, step_train, step_eval, step_cond],
  )
```

## Ejecución de canalización mediante la configuración del paralelismo
<a name="build-and-manage-pipeline-execution"></a>

De forma predeterminada, una canalización realiza todos los pasos que están disponibles para ejecutarse en paralelo. Puede controlar este comportamiento mediante la propiedad `ParallelismConfiguration` al crear o actualizar una canalización, así como al iniciar o reintentar la ejecución de una canalización. 

Las configuraciones de paralelismo se aplican por ejecución. Por ejemplo, si se inician dos ejecuciones, cada una de ellas puede ejecutar un máximo de 50 pasos simultáneamente, lo que supone un total de 100 pasos ejecutados simultáneamente. Además, la `ParallelismConfiguration` especificada al iniciar, reintentar o actualizar una ejecución tiene prioridad sobre la configuración de paralelismo definida en la canalización.

**Example Creación de una ejecución en canalización con `ParallelismConfiguration`**  

```
pipeline = Pipeline(
        name="{{myPipeline}}",
        steps=[step_process, step_train]
    )

  pipeline.create(role, parallelism_config={"MaxParallelExecutionSteps": 50})
```