

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á.

# Crie um trabalho de notebook com um exemplo de SDK para SageMaker AI Python
<a name="create-notebook-auto-run-sdk"></a>

Para executar um notebook independente usando o SDK do SageMaker Python, você precisa criar uma etapa do Notebook Job, anexá-la a um pipeline e usar os utilitários fornecidos pelo Pipelines para executar seu trabalho sob demanda ou, opcionalmente, agendar um ou mais trabalhos futuros. As seções a seguir descrevem as etapas básicas para criar um trabalho de caderno sob demanda ou programado e monitorar a execução. Além disso, consulte a discussão a seguir se precisar passar parâmetros para seu trabalho de caderno ou conectar-se ao Amazon EMR em seu caderno: nesses casos, é necessária uma preparação adicional do seu caderno Jupyter. Você também pode aplicar padrões para um subconjunto dos argumentos de `NotebookJobStep`, para não precisar especificá-los toda vez que criar uma etapa de trabalho de caderno.

Para ver exemplos de cadernos que demonstram como agendar trabalhos em notebooks com o SageMaker AI Python SDK, [consulte exemplos de cadernos de tarefas em notebooks](https://github.com/aws/amazon-sagemaker-examples/tree/main/sagemaker-pipelines/notebook-job-step).

**Topics**
+ [Etapas para criar um trabalho de caderno](#create-notebook-auto-run-overall)
+ [Visualizar seus trabalhos de caderno no painel da interface do Studio](#create-notebook-auto-run-dash)
+ [Visualizar seu gráfico de pipeline no Studio](#create-notebook-auto-run-graph)
+ [Como passar parâmetros para seu caderno](#create-notebook-auto-run-passparam)
+ [Como se conectar ao cluster do Amazon EMR em seu caderno de entrada](#create-notebook-auto-run-emr)
+ [Configurar opções padrão](#create-notebook-auto-run-intdefaults)

## Etapas para criar um trabalho de caderno
<a name="create-notebook-auto-run-overall"></a>

Você pode criar um trabalho de caderno que seja executado imediatamente ou de acordo com um cronograma. As instruções a seguir descrevem os dois métodos.

**Para agendar um trabalho de caderno, conclua as seguintes etapas básicas:**

1. Crie uma instância de `NotebookJobStep`. Para obter detalhes sobre os `NotebookJobStep` parâmetros, consulte [sagemaker.workflow.steps. NotebookJobStep](https://sagemaker.readthedocs.io/en/stable/workflows/pipelines/sagemaker.workflow.pipelines.html#sagemaker.workflow.notebook_job_step.NotebookJobStep). No mínimo, você pode fornecer os seguintes argumentos, conforme mostrado no trecho de código a seguir:
**Importante**  
Se você agendar o trabalho do notebook usando o SDK do SageMaker Python, só poderá especificar determinadas imagens para executar o trabalho do notebook. Para obter mais informações, consulte [Restrições de imagem para trabalhos de notebook do SageMaker AI Python SDK](notebook-auto-run-constraints.md#notebook-auto-run-constraints-image-sdk).

   ```
   notebook_job_step = NotebookJobStep(
       input_notebook=input-notebook,
       image_uri=image-uri,
       kernel_name=kernel-name
   )
   ```

1. Crie um pipeline com o seu `NotebookJobStep` como uma etapa única, conforme mostrado no trecho a seguir:

   ```
   pipeline = Pipeline(
       name=pipeline-name,
       steps=[notebook_job_step],
       sagemaker_session=sagemaker-session,
   )
   ```

1. Execute o pipeline sob demanda ou, opcionalmente, agende futuras execuções de pipeline. Para iniciar uma execução imediata, use o seguinte comando:

   ```
   execution = pipeline.start(
       parameters={...}
   )
   ```

   Opcionalmente, você pode programar uma única execução futura de pipeline ou várias execuções em um intervalo predeterminado. Você especifica sua programação `PipelineSchedule` e, em seguida, passa o objeto de programação para seu pipeline com `put_triggers`. Para obter mais informações sobre como programar o pipeline, consulte [Agende um pipeline com o SDK do SageMaker Python](pipeline-eventbridge.md#build-and-manage-scheduling).

   O seguinte exemplo agenda seu pipeline para ser executado uma vez em 12 de dezembro de 2023, às 10:31:32 UTC.

   ```
   my_schedule = PipelineSchedule(  
       name="my-schedule“,  
       at=datetime(year=2023, month=12, date=25, hour=10, minute=31, second=32) 
   )  
   pipeline.put_triggers(triggers=[my_schedule])
   ```

   O seguinte exemplo agenda seu pipeline para ser executado às 10:15 UTC, na última sexta-feira de cada mês, durante os anos de 2022 e 2023. Para obter detalhes sobre o agendamento baseado em cron, consulte [Cronogramas baseado em cron](https://docs.aws.amazon.com/scheduler/latest/UserGuide/schedule-types.html#cron-based).

   ```
   my_schedule = PipelineSchedule(  
       name="my-schedule“,  
       cron="15 10 ? * 6L 2022-2023"
   )  
   pipeline.put_triggers(triggers=[my_schedule])
   ```

1. (Opcional) Visualize suas tarefas do notebook no painel de tarefas do SageMaker notebook. Os valores que você fornece para o argumento `tags` da etapa de trabalho do caderno controlam como a interface do Studio captura e exibe o trabalho. Para obter mais informações, consulte [Visualizar seus trabalhos de caderno no painel da interface do Studio](#create-notebook-auto-run-dash).

## Visualizar seus trabalhos de caderno no painel da interface do Studio
<a name="create-notebook-auto-run-dash"></a>

Os trabalhos de caderno que você cria como etapas de pipeline aparecem no painel do Studio Caderno Job se você especificar determinadas tags.

**nota**  
Somente trabalhos de notebook criados no Studio ou em JupyterLab ambientes locais criam definições de trabalhos. Portanto, se você criar seu trabalho no notebook com o SDK do SageMaker Python, não verá as definições do trabalho no painel Notebook Jobs. No entanto, você pode visualizar seus trabalhos de caderno conforme descrito em [Visualizar os trabalhos do caderno](view-notebook-jobs.md). 

Você pode controlar quais membros da equipe podem visualizar seus trabalhos de caderno com as seguintes tags:
+ Para exibir o caderno para todos os perfis de usuário ou [espaços](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-jl-user-guide.html) em um domínio, adicione a tag de domínio com o nome do seu domínio. Um exemplo é mostrado conforme a seguir:
  + chave: `sagemaker:domain-name`, valor: `d-abcdefghij5k`
+ Para exibir o trabalho do caderno para um determinado perfil de usuário em um domínio, adicione o perfil do usuário e as tags de domínio. Um exemplo de tag de perfil de usuário é mostrado a seguir:
  + chave: `sagemaker:user-profile-name`, valor: `studio-user`
+ Para exibir o trabalho do caderno em um [espaço](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-jl-user-guide.html), adicione as tags de espaço e de domínio. Um exemplo de tag de espaço é mostrado a seguir:
  + chave: `sagemaker:shared-space-name`, valor: `my-space-name`
+ Se você não anexar nenhum domínio, perfil de usuário ou tags de espaço, a interface de usuário do Studio não mostrará o trabalho do caderno criado pela etapa de pipeline. Nesse caso, você pode visualizar o trabalho de treinamento subjacente no console do trabalho de treinamento ou pode ver o status na [lista de execuções de pipeline](https://docs.aws.amazon.com/sagemaker/latest/dg/pipelines-studio-view-execution.html).

Depois de configurar as tags necessárias para visualizar seus trabalhos no painel, consulte [Visualizar os trabalhos do caderno](view-notebook-jobs.md) para obter instruções sobre como visualizar seus trabalhos e baixar os resultados.

## Visualizar seu gráfico de pipeline no Studio
<a name="create-notebook-auto-run-graph"></a>

Como a etapa de trabalho do caderno faz parte de um pipeline, você pode visualizar o gráfico do pipeline (DAG) no Studio. No gráfico do pipeline, você pode visualizar o status da execução do pipeline e rastrear a linhagem. Para obter detalhes, consulte [Visualizar os detalhes de uma execução de pipeline](pipelines-studio-view-execution.md).

## Como passar parâmetros para seu caderno
<a name="create-notebook-auto-run-passparam"></a>

Se você quiser passar parâmetros para o trabalho do seu caderno (usando o argumento `parameters` de `NotebookJobStep`), precisa preparar seu caderno de entrada para receber os parâmetros. 

O executor de trabalho de caderno baseado em Papermill pesquisa uma célula Jupyter marcada com a tag `parameters` e aplica os novos parâmetros ou substituições de parâmetros imediatamente após a célula. Para obter detalhes, consulte [Parametrize seu caderno](notebook-auto-run-troubleshoot-override.md). 

Depois de realizar essa etapa, passe seus parâmetros para o seu `NotebookJobStep`, conforme mostrado no seguinte exemplo:

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

notebook_job_step = NotebookJobStep(
    image_uri=image-uri,
    kernel_name=kernel-name,
    role=role-name,
    input_notebook=input-notebook,
    parameters=notebook_job_parameters,
    ...
)
```

## Como se conectar ao cluster do Amazon EMR em seu caderno de entrada
<a name="create-notebook-auto-run-emr"></a>

Se você se conectar a um cluster do Amazon EMR a partir do seu caderno Jupyter no Studio, talvez seja necessário modificar ainda mais o caderno Jupyter. Veja [Conectar a um cluster do Amazon EMR a partir de seu caderno](scheduled-notebook-connect-emr.md) se você precisar realizar alguma das seguintes tarefas em seu caderno:
+ **Passe parâmetros para o comando de conexão do Amazon EMR.** O Studio usa o Papermill para executar cadernos. Nos SparkMagic kernels, os parâmetros que você passa para o comando de conexão do Amazon EMR podem não funcionar conforme o esperado devido à forma como o Papermill passa as informações. SparkMagic
+ **Transmissão de credenciais de usuário para clusters do Amazon EMR autenticados por Kerberos, LDAP ou HTTP Basic Auth**. Você precisa passar as credenciais do usuário por meio do AWS Secrets Manager.

## Configurar opções padrão
<a name="create-notebook-auto-run-intdefaults"></a>

O SageMaker SDK oferece a opção de definir padrões para um subconjunto de parâmetros para que você não precise especificar esses parâmetros toda vez que criar uma instância. `NotebookJobStep` Os parâmetros são `role`, `s3_root_uri`, `s3_kms_key`, `volume_kms_key`, `subnets` e `security_group_ids`. Use o arquivo de configuração do SageMaker AI para definir os padrões para a etapa. Para obter informações sobre o arquivo de configuração do SageMaker AI, consulte [Como configurar e usar padrões com o SDK do Python SageMaker ](https://sagemaker.readthedocs.io/en/stable/overview.html#configuring-and-using-defaults-with-the-sagemaker-python-sdk). .

Para configurar os padrões de trabalho do caderno, aplique seus novos padrões na seção de trabalho do caderno do arquivo de configuração, conforme mostrado no trecho a seguir:

```
SageMaker:
  PythonSDK:
    Modules:
      NotebookJob:
        RoleArn: 'arn:aws:iam::555555555555:role/IMRole'
        S3RootUri: 's3://amzn-s3-demo-bucket/my-project'
        S3KmsKeyId: 's3kmskeyid'
        VolumeKmsKeyId: 'volumekmskeyid1'
        VpcConfig:
          SecurityGroupIds:
            - 'sg123'
          Subnets:
            - 'subnet-1234'
```