지원 종료 공지: 2026년 10월 30일에 AWS 는 Amazon Pinpoint에 대한 지원을 종료합니다. 2026년 10월 30일 이후에는 Amazon Pinpoint 콘솔 또는 Amazon Pinpoint 리소스(엔드포인트, 세그먼트, 캠페인, 여정 및 분석)에 더 이상 액세스할 수 없습니다. 자세한 내용은 Amazon Pinpoint 지원 종료를 참조하세요. 참고: SMS, 음성, 모바일 푸시, OTP 및 전화번호 검증과 관련된 APIs는이 변경의 영향을 받지 않으며 AWS 최종 사용자 메시징에서 지원됩니다.
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon Pinpoint에 엔드포인트 배치 추가
엔드포인트를 배치로 제공하여 단일 작업에서 여러 엔드포인트를 추가하거나 업데이트할 수 있습니다. 각 배치 요청에는 최대 100개의 엔드포인트 정의가 포함될 수 있습니다.
단일 작업에서 100개보다 많은 엔드포인트를 추가하거나 업데이트하려는 경우 그 대산 Amazon Pinpoint로 엔드포인트 가져오기 단원을 참조하십시오.
예시
다음 예제에서는 엔드포인트를 배치 요청에 포함시켜 두 개의 엔드포인트를 한 번에 추가하는 방법을 보여줍니다.
- AWS CLI
-
AWS CLI에서 명령을 실행하여 Amazon Pinpoint를 사용할 수 있습니다.
예 엔드포인트 배치 업데이트 명령
엔드포인트 배치 요청을 제출하려면
update-endpoints-batch
명령을 사용합니다.$
aws pinpoint update-endpoints-batch \
>
--application-id
application-id
\>
--endpoint-batch-request file://
endpoint_batch_request_file.json
위치:
-
application-id
는 엔드포인트를 추가하거나 업데이트할 Amazon Pinpoint 프로젝트의 ID입니다. -
endpoint_batch_request_file.json
은--endpoint-batch-request
파라미터에 대한 입력이 포함된 로컬 JSON 파일의 파일 경로입니다.
예 엔드포인트 배치 요청 파일
예제
update-endpoints-batch
명령은 JSON 파일을--endpoint-request
파라미터의 인수로 사용합니다. 이 파일에는 다음과 같은 엔드포인트 배치 정의가 포함되어 있습니다.{ "Item": [ { "ChannelType": "EMAIL", "Address": "richard_roe@example.com", "Attributes": { "Interests": [ "Music", "Books" ] }, "Metrics": { "music_interest_level": 3.0, "books_interest_level": 7.0 }, "Id": "example_endpoint_1", "User":{ "UserId": "example_user_1", "UserAttributes": { "FirstName": "Richard", "LastName": "Roe" } } }, { "ChannelType": "SMS", "Address": "+16145550100", "Attributes": { "Interests": [ "Cooking", "Politics", "Finance" ] }, "Metrics": { "cooking_interest_level": 5.0, "politics_interest_level": 8.0, "finance_interest_level": 4.0 }, "Id": "example_endpoint_2", "User": { "UserId": "example_user_2", "UserAttributes": { "FirstName": "Mary", "LastName": "Major" } } } ] }
엔드포인트를 정의하는 데 사용할 수 있는 속성은 Amazon Pinpoint API 참조의 EndpointBatchRequest 스키마를 참조하세요.
-
- AWS SDK for Java
-
AWS SDK for Java에서 제공하는 클라이언트를 사용하여 Java 애플리케이션에서 Amazon Pinpoint API를 사용할 수 있습니다.
예 코드
엔드포인트 배치 요청을 제출하려면
EndpointBatchRequest
객체를 초기화하고 이를AmazonPinpoint
클라이언트의updateEndpointsBatch
메서드에 전달합니다. 다음 예제에서는EndpointBatchRequest
객체를 두 개의EndpointBatchItem
객체로 채웁니다.import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.pinpoint.PinpointClient; import software.amazon.awssdk.services.pinpoint.model.UpdateEndpointsBatchResponse; import software.amazon.awssdk.services.pinpoint.model.EndpointUser; import software.amazon.awssdk.services.pinpoint.model.EndpointBatchItem; import software.amazon.awssdk.services.pinpoint.model.ChannelType; import software.amazon.awssdk.services.pinpoint.model.EndpointBatchRequest; import software.amazon.awssdk.services.pinpoint.model.PinpointException; import software.amazon.awssdk.services.pinpoint.model.UpdateEndpointsBatchRequest; import java.util.Map; import java.util.List; import java.util.ArrayList; import java.util.HashMap;
import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.pinpoint.PinpointClient; import software.amazon.awssdk.services.pinpoint.model.UpdateEndpointsBatchResponse; import software.amazon.awssdk.services.pinpoint.model.EndpointUser; import software.amazon.awssdk.services.pinpoint.model.EndpointBatchItem; import software.amazon.awssdk.services.pinpoint.model.ChannelType; import software.amazon.awssdk.services.pinpoint.model.EndpointBatchRequest; import software.amazon.awssdk.services.pinpoint.model.PinpointException; import software.amazon.awssdk.services.pinpoint.model.UpdateEndpointsBatchRequest; import java.util.Map; import java.util.List; import java.util.ArrayList; import java.util.HashMap; /** * 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 AddExampleEndpoints { public static void main(String[] args) { final String usage = """ Usage: <appId> Where: appId - The ID of the application. """; if (args.length != 1) { System.out.println(usage); System.exit(1); } String applicationId = args[0]; PinpointClient pinpoint = PinpointClient.builder() .region(Region.US_EAST_1) .build(); updateEndpointsViaBatch(pinpoint, applicationId); pinpoint.close(); } public static void updateEndpointsViaBatch(PinpointClient pinpoint, String applicationId) { try { List<String> myList = new ArrayList<>(); myList.add("music"); myList.add("books"); Map myMap = new HashMap<String, List>(); myMap.put("attributes", myList); List<String> myNames = new ArrayList<String>(); myList.add("Richard"); myList.add("Roe"); Map myMap2 = new HashMap<String, List>(); myMap2.put("name", myNames); EndpointUser richardRoe = EndpointUser.builder() .userId("example_user_1") .userAttributes(myMap2) .build(); // Create an EndpointBatchItem object for Richard Roe. EndpointBatchItem richardRoesEmailEndpoint = EndpointBatchItem.builder() .channelType(ChannelType.EMAIL) .address("richard_roe@example.com") .id("example_endpoint_1") .attributes(myMap) .user(richardRoe) .build(); List<String> myListMary = new ArrayList<String>(); myListMary.add("cooking"); myListMary.add("politics"); myListMary.add("finance"); Map myMapMary = new HashMap<String, List>(); myMapMary.put("interests", myListMary); List<String> myNameMary = new ArrayList<String>(); myNameMary.add("Mary "); myNameMary.add("Major"); Map maryName = new HashMap<String, List>(); myMapMary.put("name", myNameMary); EndpointUser maryMajor = EndpointUser.builder() .userId("example_user_2") .userAttributes(maryName) .build(); // Create an EndpointBatchItem object for Mary Major. EndpointBatchItem maryMajorsSmsEndpoint = EndpointBatchItem.builder() .channelType(ChannelType.SMS) .address("+16145550100") .id("example_endpoint_2") .attributes(myMapMary) .user(maryMajor) .build(); // Adds multiple endpoint definitions to a single request object. EndpointBatchRequest endpointList = EndpointBatchRequest.builder() .item(richardRoesEmailEndpoint) .item(maryMajorsSmsEndpoint) .build(); // Create the UpdateEndpointsBatchRequest. UpdateEndpointsBatchRequest batchRequest = UpdateEndpointsBatchRequest.builder() .applicationId(applicationId) .endpointBatchRequest(endpointList) .build(); // Updates the endpoints with Amazon Pinpoint. UpdateEndpointsBatchResponse result = pinpoint.updateEndpointsBatch(batchRequest); System.out.format("Update endpoints batch result: %s\n", result.messageBody().message()); } catch (PinpointException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } } }
전체 SDK 예제를 보려면 GitHub
의 AddExampleEndpoints.java 를 참조하세요. - HTTP
-
REST API에 HTTP 요청을 직접 수행하여 Amazon Pinpoint를 사용할 수 있습니다.
예 엔드포인트 Put 요청
엔드포인트 배치 요청을 제출하려면 다음 URI에서 엔드포인트 리소스에
PUT
요청을 발행합니다./v1/apps/
application-id
/endpointsapplication-id
는 엔드포인트를 추가하거나 업데이트할 Amazon Pinpoint 프로젝트의 ID입니다.요청에 필수 헤더를 포함시키고 EndpointBatchRequest JSON을 본문으로 제공합니다.
PUT /v1/apps/
application_id
/endpoints HTTP/1.1 Host: pinpoint.us-east-1.amazonaws.com Content-Type: application/json Accept: application/json X-Amz-Date: 20180501T184948Z Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE
/20180501/us-east-1
/mobiletargeting/aws4_request, SignedHeaders=accept;content-length;content-type;host;x-amz-date, Signature=c25cbd6bf61bd3b3667c571ae764b9bf2d8af61b875cacced95d1e68d91b4170
Cache-Control: no-cache { "Item": [ { "ChannelType": "EMAIL", "Address": "richard_roe@example.com", "Attributes": { "Interests": [ "Music", "Books" ] }, "Metrics": { "music_interest_level": 3.0, "books_interest_level": 7.0 }, "Id": "example_endpoint_1", "User":{ "UserId": "example_user_1", "UserAttributes": { "FirstName": "Richard", "LastName": "Roe" } } }, { "ChannelType": "SMS", "Address": "+16145550100", "Attributes": { "Interests": [ "Cooking", "Politics", "Finance" ] }, "Metrics": { "cooking_interest_level": 5.0, "politics_interest_level": 8.0, "finance_interest_level": 4.0 }, "Id": "example_endpoint_2", "User": { "UserId": "example_user_2", "UserAttributes": { "FirstName": "Mary", "LastName": "Major" } } } ] }요청이 성공하면 다음과 비슷한 응답이 수신됩니다.
{ "RequestID": "67e572ed-41d5-11e8-9dc5-db288f3cbb72", "Message": "Accepted" }
관련 정보
지원되는 HTTP 메서드 및 요청 파라미터를 비롯하여, Amazon Pinpoint API의 엔드포인트 리소스에 대한 자세한 내용은 Amazon Pinpoint API 참조의 엔드포인트 섹션을 참조하세요.