

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.

# Creación de una aplicación de servidor para Amazon Chime SDK
<a name="build-server-app"></a>

La información de la siguiente sección explica cómo crear una aplicación de servidor de Amazon Chime SDK. En cada sección se proporciona un código de ejemplo, según sea necesario, y puede adaptarlo a sus necesidades.

**Topics**
+ [Creación de usuarios o roles de IAM para Amazon Chime SDK](create-iam-users-roles.md)
+ [Configuración del AWS SDK para invocar el APIs para el SDK de Amazon Chime](invoke-apis.md)
+ [Creación de una reunión para Amazon Chime SDK](create-meeting.md)
+ [Creación de un asistente para Amazon Chime SDK](create-attendee.md)
+ [Envío de una respuesta al cliente para Amazon Chime SDK](send-response-to-client.md)

# Creación de usuarios o roles de IAM para Amazon Chime SDK
<a name="create-iam-users-roles"></a>

Los usuarios se crean como usuarios de IAM o en roles adecuados a su caso de uso. A continuación, les asigna la siguiente política. Esto garantiza que dispone de los permisos necesarios para el AWS SDK integrado en su aplicación de servidor. A su vez, esto le permite realizar operaciones durante todo el ciclo de vida de los recursos de la reunión y de los asistentes.

```
   // Policy ARN:     arn:aws:iam::aws:policy/AmazonChimeSDK 
    // Description:    Provides access to Amazon Chime SDK operations
    {
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "chime:CreateMeeting",
                "chime:DeleteMeeting",
                "chime:GetMeeting",
                "chime:ListMeetings",
                "chime:CreateAttendee",
                "chime:BatchCreateAttendee",
                "chime:DeleteAttendee",
                "chime:GetAttendee",
                "chime:ListAttendees"
            ],
            "Effect": "Allow",
            "Resource": "*"
     }
 ]}
```

# Configuración del AWS SDK para invocar el APIs para el SDK de Amazon Chime
<a name="invoke-apis"></a>

En este ejemplo de código, se muestra cómo pasar las credenciales al AWS SDK y establecer una región y un punto final. 

```
    AWS.config.credentials = new AWS.Credentials(accessKeyId, secretAccessKey, null);
    const chime = new AWS.Chime({ region: 'us-east-1' });
    chime.endpoint = new AWS.Endpoint('https://service.chime.aws.amazon.com/console');
```

# Creación de una reunión para Amazon Chime SDK
<a name="create-meeting"></a>

Una llamada a la API [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_CreateMeeting.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_CreateMeeting.html) acepta un parámetro obligatorio, el `ClientRequestToken`, que permite a los desarrolladores transmitir un contexto de exclusividad. También acepta parámetros opcionales, como `MediaRegion`, que representa la región del plano de datos de los servicios multimedia que se va a elegir para la reunión, el `MeetingHostId` que se utiliza para ingresar un identificador opaco que representa al host de la reunión, si corresponde, y `NotificationsConfiguration` para recibir los eventos del ciclo de vida de la reunión. De forma predeterminada, Amazon EventBridge entrega los eventos. Si lo desea, también puede recibir eventos pasando un ARN de cola de SQS o un ARN de tema de SNS en `NotificationsConfiguration`. La API devuelve un objeto de reunión que contiene un objeto único`MeetingId`, además del `MediaPlacement` objeto `MediaRegion` y un conjunto de elementos multimedia URLs.

```
   meeting = await chime.createMeeting({
                ClientRequestToken: clientRequestToken,
                MediaRegion: mediaRegion,
                MeetingHostId: meetingHostId,
                NotificationsConfiguration: {
                   SqsQueueArn: sqsQueueArn,
                   SnsTopicArn: snsTopicArn
                }
            }).promise();
```

# Creación de un asistente para Amazon Chime SDK
<a name="create-attendee"></a>

Después de crear una reunión, debe crear un recurso para los asistentes que represente a cada usuario que intenta unirse a la sesión multimedia. La API [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_CreateAttendee.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_CreateAttendee.html) toma los siguientes valores:
+ El `MeetingId` de la reunión a la que va a agregar el usuario.
+ Un `ExternalUserId` que puede ser cualquier identificador de usuario opaco del sistema de identidad.

Por ejemplo, si usa Active Directory (AD), puede ser el ID de objeto del usuario en el AD. `ExternalUserId`Es valioso porque se devuelve a las aplicaciones cliente cuando reciben los eventos de los asistentes del cliente SDKs. Esto permite a la aplicación cliente saber quién se unió o abandonó la reunión y recuperar información adicional de la aplicación de servidor sobre ese usuario, como un nombre para mostrar, un correo electrónico o una imagen. 

Las llamadas a la API `CreateAttendee` dan como resultado un objeto `Attendee`. El objeto contiene un `AttendeeId` único que genera el servicio, el `ExternalUserId` que se pasó y un `JoinToken` firmado que permite al asistente acceder a la reunión mientras dure o hasta que la API [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_DeleteAttendee.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_DeleteAttendee.html) elimine al asistente.

```
       attendee = await chime.createAttendee({
                MeetingId: meeting.MeetingId,
                ExternalUserId: externalUserId,
              }).promise();
```

# Envío de una respuesta al cliente para Amazon Chime SDK
<a name="send-response-to-client"></a>

Una vez creados los recursos de la reunión y los asistentes, la aplicación de servidor debe codificar y enviar los objetos de la reunión y de los asistentes a la aplicación cliente. El cliente necesita esa información para iniciar la biblioteca de clientes del SDK de Amazon Chime y permitir que JavaScript los asistentes se unan a la reunión correctamente desde una aplicación web o basada en Electron.