

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Ejemplos de Ruby para un cuaderno de EMR
<a name="emr-managed-notebooks-headless-ruby"></a>

Este tema contiene un ejemplo de Ruby que demuestra la funcionalidad de un cuaderno.

**nota**  
Cuadernos de EMR está disponible como Espacios de trabajo de EMR Studio en la nueva consola. El botón **Crear espacio de trabajo** de la consola le permite crear nuevos cuadernos. Para crear espacios de trabajo o acceder a ellos, los usuarios de Cuadernos de EMR necesitan permisos de rol de IAM adicionales. Para obtener más información, consulte [Cuadernos de Amazon EMR es Espacios de trabajo de Amazon EMR Studio en la consola](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-migration.html) y [Consola Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/whats-new-in-console.html).

Los siguientes son ejemplos de código de Ruby que muestran el uso de la API de ejecución de cuadernos.

```
# prepare an Amazon EMR client

emr = Aws::EMR::Client.new(
  region: 'us-east-1',
  access_key_id: 'AKIA...JKPKA',
  secret_access_key: 'rLMeu...vU0OLrAC1',
)
```

## Iniciar la ejecución del cuaderno y obtener el identificador de ejecución
<a name="emr-managed-notebooks-headless-ruby-startretrieve"></a>

En este ejemplo, el editor de Amazon S3 y el cuaderno de EMR son `s3://amzn-s3-demo-bucket/notebooks/e-EA8VGAA429FEQTC8HC9ZHWISK/test.ipynb`.

Para obtener información sobre las acciones `NotebookExecution` de la API de Amazon EMR, consulte [Acciones de la API de Amazon EMR.](https://docs.aws.amazon.com/emr/latest/APIReference/API_Operations.html)

```
start_response = emr.start_notebook_execution({
    editor_id: "e-EA8VGAA429FEQTC8HC9ZHWISK",
    relative_path: "test.ipynb",
    
    execution_engine: {id: "j-3U82I95AMALGE"},
    
    service_role: "EMR_Notebooks_DefaultRole",
})


notebook_execution_id = start_resp.notebook_execution_id
```

## Descripción de la ejecución del cuaderno e impresión de los detalles
<a name="emr-managed-notebooks-headless-ruby-describeprint"></a>

```
describe_resp = emr.describe_notebook_execution({
    notebook_execution_id: notebook_execution_id
})
puts describe_resp.notebook_execution
```

El resultado de los comandos anteriores será el siguiente.

```
{
:notebook_execution_id=>"ex-IZX3VTVZWVWPP27KUB90BZ7V9IEDG", 
:editor_id=>"e-EA8VGAA429FEQTC8HC9ZHWISK",
:execution_engine=>{:id=>"j-3U82I95AMALGE", :type=>"EMR", :master_instance_security_group_id=>nil}, 
:notebook_execution_name=>"", 
:notebook_params=>nil, 
:status=>"STARTING", 
:start_time=>2020-07-23 15:07:07 -0700, 
:end_time=>nil, 
:arn=>"arn:aws:elasticmapreduce:us-east-1:123456789012:notebook-execution/ex-IZX3VTVZWVWPP27KUB90BZ7V9IEDG", 
:output_notebook_uri=>nil, 
:last_state_change_reason=>"Execution is starting for cluster j-3U82I95AMALGE.", :notebook_instance_security_group_id=>nil, 
:tags=>[]
}
```

## Filtros para cuadernos
<a name="emr-managed-notebooks-headless-ruby-filters"></a>

```
"EditorId": "e-XXXX",           [Optional]
"From" : "1593400000.000",    [Optional]
"To" :
```

### Detener la ejecución del cuaderno
<a name="emr-managed-notebooks-headless-ruby-stop"></a>

```
stop_resp = emr.stop_notebook_execution({
    notebook_execution_id: notebook_execution_id
})
```