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.
Übergeben von Daten zwischen Schritten
Wenn Sie Informationen aus der Ausgabe eines Pipeline-Schritts abrufen müssen, können Sie verwendenJsonGet
. JsonGet
hilft Ihnen, Informationen aus Amazon S3- oder -Eigenschaftsdateien zu extrahieren. In den folgenden Abschnitten werden Methoden erläutert, mit denen Sie Schrittausgaben mit extrahieren könnenJsonGet
.
Übergeben von Daten zwischen Schritten mit Amazon S3
Sie können JsonGet
in einem verwendenConditionStep
, um die JSON-Ausgabe direkt von Amazon S3 abzurufen. Der Amazon S3-URI kann eine Std:Join
Funktion sein, die primitive Zeichenfolgen, Pipeline-Ausführungsvariablen oder Pipeline-Parameter enthält. Das folgende Beispiel zeigt, wie Sie JsonGet
in einem verwenden könnenConditionStep
:
# 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 hinzufügen, der die JSON-Ausgabe generiert. 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 von Daten zwischen Schritten mit Eigenschaftsdateien
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 Eigenschaftsdatei und ermöglicht es Ihnen, die JsonPath Notation zu verwenden, um die Eigenschafts-JSON-Datei abzufragen. Weitere Informationen zur JsonPath Notation finden Sie im JsonPath Repo
Um eine Eigenschaftendatei für die spätere Verwendung zu speichern, müssen Sie zunächst eine PropertyFile
Instanz 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 Model Building 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 Eigenschaftsdatei