

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.

# Informationen zu und von Ihrem Notebook weiterleiten Schritt
<a name="create-notebook-auto-run-dag-seq"></a>

In den folgenden Abschnitten werden Möglichkeiten beschrieben, Informationen als Umgebungsvariablen und Parameter an Ihr Notebook zu übergeben.

## Umgebungsvariablen übergeben
<a name="create-notebook-auto-run-dag-seq-env-var"></a>

Übergeben Sie Umgebungsvariablen als Wörterbuch an Ihr `environment_variable` Argument`NotebookJobStep`, wie im folgenden Beispiel gezeigt:

```
environment_variables = {"RATE": 0.0001, "BATCH_SIZE": 1000}

notebook_job_step = NotebookJobStep(
    ...
    environment_variables=environment_variables,
    ...
)
```

Sie können die Umgebungsvariablen im Notebook verwenden`os.getenv()`, wie im folgenden Beispiel gezeigt:

```
# inside your notebook
import os
print(f"ParentNotebook: env_key={os.getenv('env_key')}")
```

## Parameter übergeben
<a name="create-notebook-auto-run-dag-seq-param"></a>

Wenn Sie Parameter an den ersten Notebook-Job-Schritt in Ihrer `NotebookJobStep` Instance übergeben, möchten Sie möglicherweise optional eine Zelle in Ihrem Jupyter-Notebook taggen, um anzugeben, wo neue Parameter oder Parameterüberschreibungen angewendet werden sollen. Anweisungen zum Markieren einer Zelle im Jupyter Notebook finden Sie unter [Parametrisieren Ihres Notebooks](notebook-auto-run-troubleshoot-override.md).

Sie übergeben Parameter über den `parameters` Parameter des Schritts Notebook Job, wie im folgenden Codeausschnitt dargestellt:

```
notebook_job_parameters = {
    "company": "Amazon",
}

notebook_job_step = NotebookJobStep(
    ...
    parameters=notebook_job_parameters,
    ...
)
```

In Ihrem Eingabe-Notebook werden Ihre Parameter nach der Zelle angewendet, die mit dem Tag markiert ist, `parameters` oder am Anfang des Notebookes, wenn Sie keine markierte Zelle haben.

```
# this cell is in your input notebook and is tagged with 'parameters'
# your parameters and parameter overrides are applied after this cell
company='default'
```

```
# in this cell, your parameters are applied
# prints "company is Amazon"
print(f'company is {company}')
```

## Rufen Sie Informationen aus einem vorherigen Schritt ab
<a name="create-notebook-auto-run-dag-seq-interstep"></a>

In der folgenden Diskussion wird erklärt, wie Sie Daten aus einem vorherigen Schritt extrahieren können, um sie an Ihren Notebook-Job-Schritt weiterzuleiten.

**`properties`Attribut verwenden**

Sie können die folgenden Eigenschaften mit dem `properties` Attribut des vorherigen Schritts verwenden:
+ `ComputingJobName` –Der Trainingsauftragsname
+ `ComputingJobStatus` – Der Status des Trainingsjobs
+ `NotebookJobInputLocation` –Der eingegebene Amazon-S3-Speicherort
+ `NotebookJobOutputLocationPrefix` – der Pfad zu Ihren Trainingsjob-Ausgaben, genauer gesagt: `{NotebookJobOutputLocationPrefix}/{training-job-name}/output/output.tar.gz`. mit Ausgaben
+ `InputNotebookName` – Der Name der Eingabe-Notebook-Datei
+ `OutputNotebookName` – Der Name der Ausgabe-Notebookdatei (der möglicherweise nicht im Ausgabeordner des Trainingsjobs vorhanden ist, falls der Job fehlschlägt)

Der folgende Codeausschnitt zeigt, wie Parameter aus dem Eigenschaftenattribut extrahiert werden.

```
notebook_job_step2 = NotebookJobStep(
    ....
    parameters={
        "step1_JobName": notebook_job_step1.properties.ComputingJobName,
        "step1_JobStatus": notebook_job_step1.properties.ComputingJobStatus,
        "step1_NotebookJobInput": notebook_job_step1.properties.NotebookJobInputLocation,
        "step1_NotebookJobOutput": notebook_job_step1.properties.NotebookJobOutputLocationPrefix,
    }
```

**Verwenden Sie JsonGet**

Wenn Sie andere Parameter als die zuvor genannten übergeben möchten und sich die JSON-Ausgaben Ihres vorherigen Schritts in Amazon S3 befinden, verwenden Sie `JsonGet`. `JsonGet` ist ein allgemeiner Mechanismus, mit dem Daten direkt aus JSON-Dateien in Amazon S3 extrahiert werden können.

Führen Sie die folgenden Schritte aus`JsonGet`, um JSON-Dateien in Amazon S3 mit zu extrahieren:

1. Laden Sie Ihre JSON-Datei in Amazon S3 hoch. Wenn Ihre Daten bereits auf Amazon S3 hochgeladen wurden, überspringen Sie diesen Schritt. Das folgende Beispiel zeigt, wie Sie eine JSON-Datei in Amazon S3 hochladen.

   ```
   import json
   from sagemaker.s3 import S3Uploader
   
   output = {
       "key1": "value1", 
       "key2": [0,5,10]
   }
               
   json_output = json.dumps(output)
   
   with open("notebook_job_params.json", "w") as file:
       file.write(json_output)
   
   S3Uploader.upload(
       local_path="notebook_job_params.json",
       desired_s3_uri="s3://path/to/bucket"
   )
   ```

1. Geben Sie Ihre S3-URI und den JSON-Pfad zu dem Wert an, den Sie extrahieren möchten. Im folgenden Beispiel wird ein Objekt `JsonGet` zurückgegeben, das den Index 2 des mit key `key2` (`10`) verknüpften Werts darstellt.

   ```
   NotebookJobStep(
       ....
       parameters={
           # the key job_key1 returns an object representing the value 10
           "job_key1": JsonGet(
               s3_uri=Join(on="/", values=["s3:/", ..]),
               json_path="key2[2]" # value to reference in that json file
           ), 
           "job_key2": "Amazon" 
       }
   )
   ```