Aviso de fim do suporte: em 30 de outubro de 2026, AWS encerrará o suporte para o Amazon Pinpoint. Depois de 30 de outubro de 2026, você não poderá mais acessar o console do Amazon Pinpoint ou os recursos do Amazon Pinpoint (endpoints, segmentos, campanhas, viagens e análises). Para obter mais informações, consulte Fim do suporte do Amazon Pinpoint. Observação: APIs relacionados a SMS, voz, push móvel, OTP e validação de número de telefone não são afetados por essa alteração e são compatíveis com o AWS End User Messaging.
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 do aplicativo por meio do Amazon Kinesis ou do Amazon Data Firehose
Você pode configurar o Amazon Pinpoint para enviar dados de eventos para o fluxo do Amazon Kinesis ou para um fluxo de entrega do Amazon Data Firehose. O Amazon Pinpoint pode enviar dados de eventos para campanhas, viagens e mensagens de e-mail e SMS transacionais.
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 Integrar o Amazon Pinpoint à sua aplicação.
-
O Amazon Resource Name (ARN) de um stream do Kinesis ou stream de entrega do Firehose em sua conta. AWS Para obter mais informações sobre como criar esses recursos, consulte Creating and Managing Streams no Guia do desenvolvedor do Amazon Kinesis Data Streams ou Creating an Amazon Data Firehose delivery stream no Guia do desenvolvedor do Amazon Data Firehose.
-
O ARN de uma função 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 Perfil do IAM para transmissão 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-idprojectId\ --write-event-stream DestinationStreamArn=streamArn,RoleArn=roleArn
AWS SDK para 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 a função do IAM. 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.