

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Transmission de données entre les étapes
<a name="build-and-manage-propertyfile"></a>

Lorsque vous créez des pipelines avec Amazon SageMaker Pipelines, vous devrez peut-être transmettre des données d'une étape à l'autre. Par exemple, vous souhaiterez peut-être utiliser les artefacts de modèle générés par une étape d’entraînement comme entrée pour une étape d’évaluation ou de déploiement des modèles. Vous pouvez utiliser cette fonctionnalité pour créer des étapes de pipeline interdépendantes et générer vos flux de travail ML.

Lorsque vous avez besoin d’extraire des informations de la sortie d’une étape du pipeline, vous pouvez utiliser `JsonGet`. `JsonGet` vous aide à extraire des informations d’Amazon S3 ou des fichiers de propriétés. Les sections suivantes expliquent les méthodes que vous pouvez utiliser pour extraire les résultats des étapes avec `JsonGet`.

## Transmission des données entre les étapes avec Amazon S3
<a name="build-and-manage-propertyfile-s3"></a>

Vous pouvez utiliser `JsonGet` dans une étape `ConditionStep` pour récupérer la sortie JSON directement depuis Amazon S3. L’URI Amazon S3 peut être une fonction `Std:Join` contenant des chaînes primitives, des variables d’exécution de pipeline ou des paramètres de pipeline. L’exemple suivant montre comment vous pouvez utiliser `JsonGet` dans une étape `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 vous utilisez `JsonGet` avec un chemin Amazon S3 dans l’étape de condition, vous devez explicitement ajouter une dépendance entre l’étape de condition et l’étape générant la sortie JSON. Dans l’exemple suivant, l’étape de condition est créée avec une dépendance sur l’étape de traitement :

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

## Transmission de données entre les étapes à l’aide de fichiers de propriétés
<a name="build-and-manage-propertyfile-property"></a>

Utilisez des fichiers de propriétés pour stocker des informations à partir de la sortie d'une étape de traitement. Ceci est particulièrement utile lors de l’analyse des résultats d’une étape de traitement pour décider comment une étape conditionnelle doit être exécutée. La `JsonGet` fonction traite un fichier de propriétés et vous permet d'utiliser la JsonPath notation pour interroger le fichier JSON de propriétés. Pour plus d'informations sur la JsonPath notation, consultez le [JsonPath dépôt.](https://github.com/json-path/JsonPath)

Pour stocker un fichier de propriétés en vue d’une utilisation ultérieure, vous devez d’abord créer une instance `PropertyFile` au format suivant. Le `path` Paramètre est le nom du fichier JSON dans lequel le fichier de propriétés est enregistré. Tout `output_name` doit correspondre à l'interface `output_name` du `ProcessingOutput` que vous définissez dans votre étape de traitement. Cela permet au fichier de propriétés de capturer la `ProcessingOutput` dans l’étape.

```
from sagemaker.workflow.properties import PropertyFile

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

Lorsque vous créez votre `ProcessingStep` instance, ajoutez le `property_files` paramètre pour répertorier tous les fichiers de paramètres que le service Amazon SageMaker Pipelines doit indexer. Cela enregistre le fichier de propriétés en vue d’une utilisation ultérieure.

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

Pour utiliser votre fichier de propriétés dans une étape de condition, ajoutez le `property_file` à la condition que vous transmettez à votre étape de condition, comme illustré dans l’exemple suivant pour interroger le fichier JSON pour votre propriété souhaitée à l’aide du paramètre `json_path`.

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

Pour des exemples plus détaillés, consultez *[Property File](https://sagemaker.readthedocs.io/en/stable/amazon_sagemaker_model_building_pipeline.html#property-file)* dans le [SDK Amazon SageMaker Python](https://sagemaker.readthedocs.io/en/stable).