Importación de segmentos - 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.

Importación de segmentos

Con Amazon Pinpoint, puede definir un segmento de usuarios mediante la importación de información acerca de los puntos de conexión que pertenecen al segmento. Un punto de enlace es un único destino de mensajería, como un token de inserción en dispositivos móviles, un número de teléfono móvil o una dirección de correo electrónico.

La importación de segmentos resulta útil si ya se han creado segmentos de los usuarios fuera de Amazon Pinpoint, pero se desea conectar con los usuarios en campañas de Amazon Pinpoint.

Al importar un segmento, Amazon Pinpoint obtiene los puntos de conexión del segmento desde Amazon Simple Storage Service (Amazon S3). Antes de importar, se agregan los puntos de conexión a Amazon S3 y se crea un rol de IAM que concede a Amazon Pinpoint acceso a Amazon S3. A continuación, se proporciona a Amazon Pinpoint la ubicación de Amazon S3 en la que se almacenan los puntos de conexión y Amazon Pinpoint agrega cada punto de conexión al segmento.

Para crear el rol de IAM, consulte Rol de IAM para importar puntos de conexión o segmentos. Para obtener información sobre la importación de un segmento mediante la consola de Amazon Pinpoint, consulte Importación de segmentos en la Guía del usuario de Amazon Pinpoint.

Importación de un segmento

En el siguiente ejemplo se muestra cómo importar un segmento mediante AWS SDK for Java.

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.pinpoint.PinpointClient; import software.amazon.awssdk.services.pinpoint.model.CreateImportJobRequest; import software.amazon.awssdk.services.pinpoint.model.ImportJobResponse; import software.amazon.awssdk.services.pinpoint.model.ImportJobRequest; import software.amazon.awssdk.services.pinpoint.model.Format; import software.amazon.awssdk.services.pinpoint.model.CreateImportJobResponse; import software.amazon.awssdk.services.pinpoint.model.PinpointException;
import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.pinpoint.PinpointClient; import software.amazon.awssdk.services.pinpoint.model.CreateImportJobRequest; import software.amazon.awssdk.services.pinpoint.model.ImportJobResponse; import software.amazon.awssdk.services.pinpoint.model.ImportJobRequest; import software.amazon.awssdk.services.pinpoint.model.Format; import software.amazon.awssdk.services.pinpoint.model.CreateImportJobResponse; import software.amazon.awssdk.services.pinpoint.model.PinpointException; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class ImportSegment { public static void main(String[] args) { final String usage = """ Usage: <appId> <bucket> <key> <roleArn>\s Where: appId - The application ID to create a segment for. bucket - The name of the Amazon S3 bucket that contains the segment definitons. key - The key of the S3 object. roleArn - ARN of the role that allows Amazon Pinpoint to access S3. You need to set trust management for this to work. See https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html """; if (args.length != 4) { System.out.println(usage); System.exit(1); } String appId = args[0]; String bucket = args[1]; String key = args[2]; String roleArn = args[3]; PinpointClient pinpoint = PinpointClient.builder() .region(Region.US_EAST_1) .build(); ImportJobResponse response = createImportSegment(pinpoint, appId, bucket, key, roleArn); System.out.println("Import job for " + bucket + " submitted."); System.out.println("See application " + response.applicationId() + " for import job status."); System.out.println("See application " + response.jobStatus() + " for import job status."); pinpoint.close(); } public static ImportJobResponse createImportSegment(PinpointClient client, String appId, String bucket, String key, String roleArn) { try { ImportJobRequest importRequest = ImportJobRequest.builder() .defineSegment(true) .registerEndpoints(true) .roleArn(roleArn) .format(Format.JSON) .s3Url("s3://" + bucket + "/" + key) .build(); CreateImportJobRequest jobRequest = CreateImportJobRequest.builder() .importJobRequest(importRequest) .applicationId(appId) .build(); CreateImportJobResponse jobResponse = client.createImportJob(jobRequest); return jobResponse.importJobResponse(); } catch (PinpointException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } return null; } }

Para ver el ejemplo completo del SDK, consulte ImportingSegments.java en GitHub.