

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Passar informações de e para a etapa do caderno
<a name="create-notebook-auto-run-dag-seq"></a>

As seções a seguir descrevem maneiras de passar informações para seu caderno como variáveis e parâmetros de ambiente.

## Passar variáveis de ambiente
<a name="create-notebook-auto-run-dag-seq-env-var"></a>

Passe variáveis de ambiente como um dicionário para o argumento `environment_variable` do seu `NotebookJobStep`, conforme mostrado no seguinte exemplo:

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

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

Você pode usar as variáveis de ambiente no caderno usando `os.getenv()`, conforme mostrado no seguinte exemplo:

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

## Passar parâmetros
<a name="create-notebook-auto-run-dag-seq-param"></a>

Ao passar parâmetros para a primeira etapa do Notebook Job em sua instância `NotebookJobStep`, você pode, opcionalmente, marcar uma célula em seu caderno Jupyter para indicar onde aplicar novos parâmetros ou substituições de parâmetros. Para obter instruções sobre como adicionar uma tag a uma célula em seu caderno Jupyter, consulte [Parametrize seu caderno](notebook-auto-run-troubleshoot-override.md).

Você passa parâmetros por meio do parâmetro `parameters` da etapa do Notebook Job, conforme mostrado no seguinte trecho:

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

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

Dentro do seu caderno de entrada, seus parâmetros são aplicados após a célula marcada com `parameters` ou no início do caderno, se você não tiver uma célula com tag.

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

## Recuperar informações de uma etapa anterior
<a name="create-notebook-auto-run-dag-seq-interstep"></a>

A discussão a seguir explica como você pode extrair dados de uma etapa anterior para passar para a etapa do Notebook Job.

**Use o atributo `properties`**

Você pode usar as seguintes propriedades com o atributo `properties` da etapa anterior:
+ `ComputingJobName`: O nome do trabalho de treinamento
+ `ComputingJobStatus`: O status do trabalho de treinamento
+ `NotebookJobInputLocation`: O local de entrada do Amazon S3
+ `NotebookJobOutputLocationPrefix`: O caminho para as saídas do seu trabalho de treinamento, mais especificamente `{NotebookJobOutputLocationPrefix}/{training-job-name}/output/output.tar.gz`. contendo saídas
+ `InputNotebookName`: O nome do arquivo do caderno de entrada
+ `OutputNotebookName`: O nome do arquivo do caderno de saída (que pode não existir na pasta de saída do trabalho de treinamento se o trabalho falhar)

O trecho de código a seguir mostra como extrair parâmetros do atributo de propriedades.

```
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,
    }
```

**Use JsonGet**

Se você quiser passar parâmetros diferentes dos mencionados anteriormente e as saídas JSON da etapa anterior residirem no Amazon S3, use `JsonGet`. `JsonGet` é um mecanismo geral que pode extrair dados de arquivos JSON no Amazon S3 diretamente.

Para extrair arquivos JSON no Amazon S3 com `JsonGet`, conclua as seguintes etapas:

1. Faça upload de seu arquivo JSON no Amazon S3. Se seus dados já tiverem sido carregados no Amazon S3, pule essa etapa. O exemplo a seguir demonstra o upload de um arquivo JSON no Amazon S3.

   ```
   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. Forneça seu URI do S3 e o caminho JSON para o valor que você deseja extrair. No exemplo a seguir, `JsonGet` retorna um objeto representando o “index 2” do valor associado à chave do `key2` (`10`).

   ```
   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" 
       }
   )
   ```