

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Daten zwischen Schritten weitergeben
<a name="build-and-manage-propertyfile"></a>

Wenn Sie Pipelines mit Amazon SageMaker Pipelines erstellen, müssen Sie möglicherweise Daten von einem Schritt zum nächsten weitergeben. Beispielsweise möchten Sie möglicherweise die durch einen Trainingsschritt generierten Modellartefakte als Eingabe für einen Schritt zur Modellbewertung oder -bereitstellung verwenden. Sie können diese Funktionalität verwenden, um voneinander abhängige Pipeline-Schritte zu erstellen und Ihre ML-Workflows zu erstellen.

Wenn Sie Informationen aus der Ausgabe eines Pipeline-Schritts abrufen müssen, können Sie `JsonGet` verwenden. `JsonGet` unterstützt Sie beim Extrahieren von Informationen aus Amazon S3 oder Eigenschaftsdateien. In den folgenden Abschnitten werden Methoden beschrieben, mit denen Sie Schrittausgaben extrahieren können`JsonGet`.

## Übergeben Sie Daten zwischen Schritten mit Amazon S3
<a name="build-and-manage-propertyfile-s3"></a>

Sie können `JsonGet` in a verwenden`ConditionStep`, um die JSON-Ausgabe direkt von Amazon S3 abzurufen. Der Amazon-S3-URI kann eine `Std:Join`-Funktion sein, die primitive Zeichenketten, Pipeline-Ausführungsvariablen oder Pipeline-Parameter enthält. Das folgende Beispiel zeigt, wie Sie `JsonGet` in einem `ConditionStep` verwenden können.

```
# 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
)
```

Wenn Sie `JsonGet` mit einem Amazon-S3-Pfad im Bedingungsschritt verwenden, müssen Sie explizit eine Abhängigkeit zwischen dem Bedingungsschritt und dem Schritt, der die JSON-Ausgabe generiert, hinzufügen. Im folgenden Beispiel wird der Bedingungsschritt mit einer Abhängigkeit vom Verarbeitungsschritt erstellt:

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

## Übergeben Sie Daten mit Eigenschaftendateien zwischen Schritten
<a name="build-and-manage-propertyfile-property"></a>

Verwenden Sie Eigenschaftendateien, um Informationen aus der Ausgabe eines Verarbeitungsschritts zu speichern. Dies ist besonders nützlich, wenn die Ergebnisse eines Verarbeitungsschritts analysiert werden, um zu entscheiden, wie ein bedingter Schritt ausgeführt werden soll. Die `JsonGet` Funktion verarbeitet eine Eigenschaftendatei und ermöglicht es Ihnen, die Eigenschaften-JSON-Datei mithilfe der JsonPath Notation abzufragen. Weitere Informationen zur JsonPath Notation finden Sie im [JsonPath Repo](https://github.com/json-path/JsonPath).

Um eine Eigenschaftendatei für die spätere Verwendung zu speichern, müssen Sie zunächst eine `PropertyFile` Instance mit dem folgenden Format erstellen. Der `path` Parameter ist der Name der JSON-Datei, in der die Eigenschaftendatei gespeichert wird. Jedes `output_name` muss mit dem `output_name` des `ProcessingOutput` übereinstimmen, das Sie in Ihrem Verarbeitungsschritt definieren. Dadurch kann die Eigenschaftendatei die `ProcessingOutput` in dem Schritt erfassen.

```
from sagemaker.workflow.properties import PropertyFile

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

Wenn Sie Ihre `ProcessingStep` Instance erstellen, fügen Sie den `property_files` Parameter hinzu, um alle Parameterdateien aufzulisten, die der Amazon SageMaker Pipelines-Service indizieren muss. Dadurch wird die Eigenschaftendatei für die spätere Verwendung gespeichert.

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

Um Ihre Eigenschaftsdatei in einem Bedingungsschritt zu verwenden, fügen Sie `property_file` zu der Bedingung hinzu, die Sie an Ihren Bedingungsschritt übergeben, wie im folgenden Beispiel gezeigt, um die JSON-Datei mit dem Parameter `json_path` nach der gewünschten Eigenschaft abzufragen.

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

Ausführlichere Beispiele finden Sie unter *[Property File](https://sagemaker.readthedocs.io/en/stable/amazon_sagemaker_model_building_pipeline.html#property-file)* im [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable).