

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.

# Transferencia de datos entre pasos
<a name="build-and-manage-propertyfile"></a>

Al crear canalizaciones con Amazon SageMaker Pipelines, es posible que necesite pasar los datos de un paso al siguiente. Por ejemplo, es posible que desee utilizar los artefactos del modelo generados por un paso de entrenamiento como entrada para un paso de evaluación del modelo o implementación. Puede usar esta funcionalidad para crear pasos de canalización interdependientes y crear sus flujos de trabajo de ML.

Cuando necesite recuperar información de la salida de un paso de la canalización, puede usar `JsonGet`. `JsonGet` le ayuda a extraer información de Amazon S3 o de archivos de propiedades. En las siguientes secciones, se explican los métodos que puede utilizar para extraer la salida de los pasos con `JsonGet`.

## Transferencia de datos entre pasos con Amazon S3
<a name="build-and-manage-propertyfile-s3"></a>

Puede utilizar `JsonGet` en un `ConditionStep` para obtener la salida JSON directamente desde Amazon S3. El URI de Amazon S3 puede ser una función `Std:Join` que contiene cadenas primitivas, variables de ejecución de canalización o parámetros de canalización. El siguiente ejemplo muestra cómo puede utilizar `JsonGet` en un `ConditionStep`:

```
# Example json file in s3 bucket generated by a processing_step
{
   "Output": [5, 10]
}

cond_lte = ConditionLessThanOrEqualTo(
    left=JsonGet(
        step_name="{{<step-name>}}",
        s3_uri="{{<s3-path-to-json>}}",
        json_path="Output[1]"
    ),
    right=6.0
)
```

Si utiliza `JsonGet` con una ruta de Amazon S3 en el paso de condición, debe añadir explícitamente una dependencia entre el paso de condición y el paso que genera la salida de JSON. En el siguiente ejemplo, el paso de condición se crea con una dependencia en el paso de procesamiento:

```
cond_step = ConditionStep(
        name="{{<step-name>}}",
        conditions=[cond_lte],
        if_steps=[fail_step],
        else_steps=[register_model_step],
        depends_on=[processing_step],
)
```

## Transferencia de datos entre pasos con archivos de propiedades
<a name="build-and-manage-propertyfile-property"></a>

Use los archivos de propiedades para almacenar la información de la salida de un paso de procesamiento. Resulta particularmente útil cuando se analizan los resultados de un paso de procesamiento para decidir cómo se debe ejecutar un paso condicional. La `JsonGet` función procesa un archivo de propiedades y le permite utilizar la JsonPath notación para consultar el archivo JSON de propiedades. Para obtener más información sobre la JsonPath notación, consulta el [JsonPath repositorio](https://github.com/json-path/JsonPath).

Para almacenar un archivo de propiedades para utilizarlo más adelante, primero debe crear una instancia `PropertyFile` con el siguiente formato. El parámetro `path` es el nombre del archivo JSON en el que se guarda el archivo de propiedades. Cualquier `output_name` debe coincidir con el `output_name` de la `ProcessingOutput` que defina en el paso de procesamiento. Esto permite que el archivo de propiedades capture la `ProcessingOutput` en el paso.

```
from sagemaker.workflow.properties import PropertyFile

{{<property_file_instance>}} = PropertyFile(
    name="{{<property_file_name>}}",
    output_name="{{<processingoutput_output_name>}}",
    path="{{<path_to_json_file>}}"
)
```

Cuando cree la `ProcessingStep` instancia, añada el `property_files` parámetro para enumerar todos los archivos de parámetros que el servicio Amazon SageMaker Pipelines debe indexar. De este modo, se guarda el archivo de propiedades para utilizarse más adelante.

```
property_files=[{{<property_file_instance>}}]
```

Para usar el archivo de propiedades en un paso de condición, agregue el `property_file` a la condición que va a pasar al paso de condición, como se muestra en el siguiente ejemplo, para consultar el archivo JSON de la propiedad deseada mediante el parámetro `json_path`.

```
cond_lte = ConditionLessThanOrEqualTo(
    left=JsonGet(
        step_name=step_eval.name,
        property_file={{<property_file_instance>}},
        json_path="mse"
    ),
    right=6.0
)
```

Para ver ejemplos más detallados, consulte *[Property File](https://sagemaker.readthedocs.io/en/stable/amazon_sagemaker_model_building_pipeline.html#property-file)* en el [SDK de Amazon SageMaker Python](https://sagemaker.readthedocs.io/en/stable).