

# Uso de esquemas de Amazon EventBridge
<a name="eventbridge-schemas"></a>

Puede utilizar AWS Toolkit for JetBrains para trabajar con esquemas de Amazon EventBridge de la siguiente manera.

**nota**  
Actualmente, el uso de los esquemas de EventBridge solo es compatible con el AWS Toolkit para IntelliJ y el AWS Toolkit para PyCharm.

La siguiente información supone que ya ha [configurado el AWS Toolkit for JetBrains](getting-started.md).

**Contents**
+ [Visualización de un esquema](#eventbridge-schemas-view)
+ [Búsqueda de un esquema](#eventbridge-schemas-find)
+ [Generación de código para un esquema](#eventbridge-schemas-generate-code)
+ [Crear una aplicación de AWS SAM que utilice un esquema](#eventbridge-schemas-serverless-app)

## Visualización de un esquema disponible
<a name="eventbridge-schemas-view"></a>

1. Con la ventana de la herramienta [**Explorador de AWS**](aws-explorer.md) desplegada, expanda **Esquemas**.

1. Expanda el nombre del registro que contiene el esquema que desea ver. Por ejemplo, muchos de los esquemas que AWS proporciona están en el registro **aws.events**.

1. Para ver el esquema en el editor, haga clic con el botón derecho en el título del esquema y, en el menú contextual, elija **View Schema (Ver esquema)**. 

## Búsqueda de un esquema disponible
<a name="eventbridge-schemas-find"></a>

Con la ventana de la herramienta [**Explorador de AWS**](aws-explorer.md) desplegada, realice una de las siguientes acciones:
+ Escriba el título del esquema que desea buscar. El **Explorador de AWS** resaltará los títulos de los esquemas que contengan una coincidencia.
+ Haga clic con el botón derecho en **Schemas (Esquemas)**, y, en el menú contextual, elija **Search Schemas (Buscar Esquemas)**. En el cuadro de diálogo **Buscar esquemas de EventBridge**, comience a escribir el título del esquema que desee buscar. El cuadro de diálogo muestra los títulos de esquemas que contienen una coincidencia.
+ Expanda **Schemas (Esquemas)**. Haga clic con el botón secundario en el nombre del registro que contiene el esquema que desea buscar y, a continuación, elija **Search Schemas in Registry (Buscar esquemas en el Registro)**. En el cuadro de diálogo **Buscar esquemas de EventBridge**, comience a escribir el título del esquema que desee buscar. El cuadro de diálogo muestra los títulos de esquemas que contienen una coincidencia.

Para ver un esquema en la lista de coincidencias, siga uno de estos procedimientos:
+ Para mostrar el esquema en el editor, en el **Explorador de AWS**, haga clic con el botón derecho en el título del esquema y, a continuación, haga clic en **Ver esquema**. 
+ En el cuadro de diálogo **Buscar esquemas de EventBridge**, seleccione el título del esquema para visualizarlo. 

## Generación de código para un esquema disponible
<a name="eventbridge-schemas-generate-code"></a>

1. Con la ventana de la herramienta [**Explorador de AWS**](aws-explorer.md) desplegada, expanda **Esquemas**.

1. Expanda el nombre del registro que contiene el esquema para el que desea generar el código.

1. Haga clic con el botón derecho en el título del esquema y, a continuación, elija **Download code bindings (Descargar vínculos de código)**.

1. En el cuadro de diálogo **Download code bindings (Descargar enlaces de código)**, elija lo siguiente:
   + La **Version (Versión)** del esquema para el que desea generar el código.
   + El **Language (Lenguaje)** de programación admitido y la versión del lenguaje para el que generar el código.
   + La **File location (Ubicación del archivo)** donde desea almacenar el código generado en la máquina de desarrollo local.

1. Elija **Download (Descargar)**.

## Crear una aplicación de AWS Serverless Application Model que utilice un esquema disponible
<a name="eventbridge-schemas-serverless-app"></a>

1. En el menú **File (Archivo)**, elija **New (Nuevo)**, **Project (Proyecto)**. 

1. En el cuadro de diálogo **New Project (Proyecto nuevo)**, elija **AWS**.

1. Elija **Aplicación sin servidor de AWS** y, a continuación, elija **Next (Siguiente)**.

1. Especifique lo siguiente:
   + Un **Project name (Nombre de proyecto)** para el proyecto.
   + Una **Project location (Ubicación de proyecto)** en la máquina de desarrollo local del proyecto.
   + Un **tiempo de ejecución** de AWS Lambda compatible para el proyecto.
   + Una **plantilla de SAM** de AWS Serverless Application Model (AWS SAM) para el proyecto. Actualmente, las opciones son las siguientes:
     + **AWS SAM EventBridge Hello World (cambio de estado de la instancia de EC2)**: cuando se implementa, crea una función de AWS Lambda y un punto de conexión de Amazon API Gateway asociado a su cuenta de AWS. De forma predeterminada, esta función y el punto de conexión solo responden a un cambio de estado de una instancia de Amazon EC2.
     + **AWS SAM EventBridge App from Scratch (para cualquier desencadenante de eventos de un registro de esquemas)**: cuando se implementa, crea una función de AWS Lambda y un punto de conexión de Amazon API Gateway asociado a su cuenta de AWS. Esta función y punto de enlace pueden responder a eventos que están disponibles en el esquema especificado.

       Si elige esta plantilla, también debe especificar lo siguiente:
       + El perfil con nombre asignado, **Credentials (Credenciales)**, que se va a utilizar.
       + La **región** de AWS que se va a utilizar.
       + El **Esquema de eventos** de EventBridge que se va a utilizar.
   + La versión del SDK que se va a utilizar para el proyecto (**Project SDK (SDK del proyecto)**).

Después de crear un proyecto de aplicación sin servidor de AWS, puede hacer lo siguiente:
+ [Implementación de la aplicación](sam-sync.md)
+ [Cambiar (actualizar) la configuración de la aplicación](sam-update.md)
+ [Eliminar la aplicación implementada](sam-delete.md)

También puede hacer lo siguiente con las funciones de Lambda que forman parte de la aplicación:
+ [Ejecutar (invocar) o depurar la versión local de una función](invoke-lambda.md)
+ [Ejecutar (invocar) la versión remota de una función](lambda-remote.md)
+ [Cambiar la configuración de una función](lambda-update.md)
+ [Eliminar una función](lambda-delete.md)