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:
-
El ID de aplicación de una aplicación que está integrada con Amazon Pinpoint y eventos de notificación. Para obtener información acerca de cómo efectuar la integración, consulte Integración de Amazon Pinpoint con la aplicación.
-
El nombre del recurso de Amazon (ARN) de una transmisión de Kinesis o Firehose de su cuenta. AWS Para obtener información sobre la creación de estos recursos, consulte Creación y administración de transmisiones en la Guía para desarrolladores de Amazon Kinesis Data Streams o Creación de una transmisión de entrega de Amazon Data Firehose en la Guía para desarrolladores de Amazon Data Firehose.
-
El ARN de un rol AWS Identity and Access Management (IAM) que autoriza a Amazon Pinpoint a enviar datos a la transmisión. Para obtener información acerca de la creación de un rol, consulte Rol de IAM para la transmisión de eventos a Kinesis.
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));