Configuración de la transmisión de eventos en streaming - Amazon Pinpoint

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.

Configuración de la transmisión de eventos en streaming

Puede configurar Amazon Pinpoint para enviar datos de eventos a una transmisión de Amazon Kinesis o a una transmisión de entrega de Amazon Data Firehose. Amazon Pinpoint puede enviar datos de eventos para campañas, recorridos y mensajes transaccionales de correo electrónico y SMS.

En esta sección se incluye información sobre la configuración del streaming de eventos mediante programación. También puede utilizar la consola de Amazon Pinpoint para configurar la transmisión de eventos. Para obtener información acerca de la configuración de la transmisión de eventos mediante la consola de Amazon Pinpoint, consulte Configuración de la transmisión de eventos en la Guía del usuario de Amazon Pinpoint.

Requisitos previos

Los ejemplos de esta sección requieren los datos siguientes:

AWS CLI

En el siguiente AWS CLI ejemplo, se utiliza el comando. put-event-stream Este comando configura Amazon Pinpoint para enviar eventos a una secuencia de Kinesis:

aws pinpoint put-event-stream \ --application-id projectId \ --write-event-stream DestinationStreamArn=streamArn,RoleArn=roleArn

AWS SDK for Java

El siguiente ejemplo de Java configura Amazon Pinpoint para enviar eventos a una secuencia de Kinesis:

public PutEventStreamResult createEventStream(AmazonPinpoint pinClient, String appId, String streamArn, String roleArn) { WriteEventStream stream = new WriteEventStream() .withDestinationStreamArn(streamArn) .withRoleArn(roleArn); PutEventStreamRequest request = new PutEventStreamRequest() .withApplicationId(appId) .withWriteEventStream(stream); return pinClient.putEventStream(request); }

Este ejemplo construye un objeto WriteEventStream que almacena los ARN de la secuencia de Kinesis y el rol de IAM. El objeto WriteEventStream se transfiere a un objeto PutEventStreamRequest para configurar Amazon Pinpoint de forma que transmita los eventos correspondientes para una aplicación específica. El objeto PutEventStreamRequest se transmite al método putEventStream del cliente de Amazon Pinpoint.

Puede asignar una secuencia de Kinesis a varias aplicaciones. Si lo hace, Amazon Pinpoint envía datos de los eventos codificados en base64 desde cada aplicación a la secuencia, lo que le permite analizar los datos como una colección. El siguiente método de ejemplo acepta una lista de ID de aplicación (app) y utiliza el método de ejemplo anterior, createEventStream, para asignar una secuencia a cada aplicación:

public List<PutEventStreamResult> createEventStreamFromAppList( AmazonPinpoint pinClient, List<String> appIDs, String streamArn, String roleArn) { return appIDs.stream() .map(appId -> createEventStream(pinClient, appId, streamArn, roleArn)) .collect(Collectors.toList()); }

Aunque es posible asignar una secuencia a varias aplicaciones, no es posible asignar varias secuencias a una aplicación.

Deshabilitación de la transmisión de eventos en streaming

Si se asigna una secuencia de Kinesis a una aplicación, puede desactivar la transmisión de eventos para esa aplicación. Amazon Pinpoint deja de transmitir los eventos a Kinesis, pero puede ver los análisis de los eventos mediante la consola de Amazon Pinpoint.

AWS CLI

Utilice el comando delete-event-stream:

aws pinpoint delete-event-stream --application-id application-id

AWS SDK for Java

Utilice el deleteEventStream método del cliente Amazon Pinpoint:

pinClient.deleteEventStream(new DeleteEventStreamRequest().withApplicationId(appId));