As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Configure o Amazon Pinpoint para transmitir dados de eventos de aplicativos por meio do Amazon Kinesis ou do Amazon Data Firehose
Você pode configurar o Amazon Pinpoint para enviar dados de eventos para um stream do Amazon Kinesis ou para um stream de entrega do Amazon Data Firehose. O Amazon Pinpoint pode enviar dados de eventos para campanhas, viagens e e-mails e mensagens transacionais. SMS
Esta seção inclui informações sobre como configurar os eventos de streaming de forma programática. Também é possível usar o console do Amazon Pinpoint para configurar a transmissão de eventos. Para obter informações sobre como configurar a transmissão de eventos usando o console do Amazon Pinpoint, consulte Configurações de transmissão de eventos no Guia do usuário do Amazon Pinpoint.
Pré-requisitos
Os exemplos nesta seção exigem a seguinte entrada:
-
O ID de um aplicativo que está integrado com o Amazon Pinpoint e eventos de relatório. Para obter informações sobre como integrar, leia Integre o Amazon Pinpoint com seu aplicativo.
-
O Amazon Resource Name (ARN) de um stream do Kinesis ou stream de entrega do Firehose em sua conta. AWS Para obter informações sobre a criação desses recursos, consulte Criação e gerenciamento de streams no Guia do desenvolvedor do Amazon Kinesis Data Streams ou Criação de um stream de entrega do Amazon Data Firehose no Guia do desenvolvedor do Amazon Data Firehose.
-
A função ARN de uma AWS Identity and Access Management (IAM) que autoriza o Amazon Pinpoint a enviar dados para o stream. Para obter informações sobre como criar uma função, leia IAMfunção para streaming de eventos para o Kinesis.
AWS CLI
O AWS CLI exemplo a seguir usa o put-event-streamcomando. Este comando configura o Amazon Pinpoint para enviar eventos para um fluxo do Kinesis:
aws pinpoint put-event-stream \ --application-id
projectId
\ --write-event-stream DestinationStreamArn=streamArn
,RoleArn=roleArn
AWS SDK for Java
O exemplo de Java a seguir configura o Amazon Pinpoint para enviar eventos para um fluxo do 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 exemplo constrói um WriteEventStream
objeto que armazena o stream ARNs do Kinesis e IAM a função. O objeto WriteEventStream
é passado para um objeto PutEventStreamRequest
para configurar o Amazon Pinpoint para enviar fluxos de eventos a um aplicativo específico. O objeto PutEventStreamRequest
é passado para o método putEventStream
do cliente Amazon Pinpoint.
Um fluxo do Kinesis pode ser atribuído a vários aplicativos. Se você fizer isso, o Amazon Pinpoint enviará dados de eventos codificados em base64 de cada aplicativo para o fluxo, o que permite analisar os dados como uma coleção. O método de exemplo a seguir aceita uma lista de aplicativos (app) IDs e usa o método de exemplo anterior,createEventStream
, para atribuir um stream a cada aplicativo:
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()); }
Apesar ser possível atribuir um fluxo a vários aplicativos, não é possível atribuir vários fluxos a um mesmo aplicativo.