Menambahkan sejumlah titik akhir ke Amazon Pinpoint - Amazon Pinpoint

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menambahkan sejumlah titik akhir ke Amazon Pinpoint

Anda dapat menambahkan atau memperbarui beberapa titik akhir dalam satu operasi dengan menyediakan titik akhir dalam batch. Setiap permintaan batch dapat mencakup hingga 100 definisi titik akhir.

Jika Anda ingin menambahkan atau memperbarui lebih dari 100 titik akhir dalam satu operasi, lihat Mengimpor titik akhir ke Amazon Pinpoint sebagai gantinya.

Contoh

Contoh berikut menunjukkan cara menambahkan dua titik akhir sekaligus dengan menyertakan titik akhir dalam permintaan batch.

AWS CLI

Anda dapat menggunakan Amazon Pinpoint dengan menjalankan perintah dengan file. AWS CLI

contoh Perbarui perintah batch titik akhir

Untuk mengirimkan permintaan batch endpoint, gunakan update-endpoints-batchperintah:

$ aws pinpoint update-endpoints-batch \ > --application-id application-id \ > --endpoint-batch-request file://endpoint_batch_request_file.json

Di mana:

  • application-id adalah ID proyek Amazon Pinpoint tempat Anda menambahkan atau memperbarui titik akhir.

  • endpoint_batch_request_file.json adalah path file ke file JSON lokal yang berisi input untuk parameter. --endpoint-batch-request

contoh File permintaan batch titik akhir

update-endpoints-batchPerintah contoh menggunakan file JSON sebagai argumen untuk --endpoint-request parameter. File ini berisi sekumpulan definisi titik akhir seperti berikut:

{ "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" } } } ] }

Untuk atribut yang dapat Anda gunakan untuk menentukan kumpulan titik akhir, lihat EndpointBatchRequestskema di Referensi API Amazon Pinpoint.

AWS SDK for Java

Anda dapat menggunakan Amazon Pinpoint API di aplikasi Java Anda dengan menggunakan klien yang disediakan oleh. AWS SDK for Java

contoh Kode

Untuk mengirimkan permintaan batch endpoint, inisialisasi EndpointBatchRequest objek, dan meneruskannya ke updateEndpointsBatch metode klien. AmazonPinpoint Contoh berikut mengisi EndpointBatchRequest objek dengan dua EndpointBatchItem objek:

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); } } }

Untuk contoh SDK lengkap, lihat AddExampleEndpoints.java on. GitHub

HTTP

Anda dapat menggunakan Amazon Pinpoint dengan membuat permintaan HTTP langsung ke REST API.

contoh Masukkan permintaan titik akhir

Untuk mengirimkan permintaan batch titik akhir, terbitkan PUT permintaan ke sumber daya Endpoints di URI berikut:

/v1/apps/application-id/endpoints

Di mana application-id adalah ID proyek Amazon Pinpoint tempat Anda menambahkan atau memperbarui titik akhir.

Dalam permintaan Anda, sertakan header yang diperlukan, dan berikan EndpointBatchRequestJSON sebagai isi:

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" } } } ] }

Jika permintaan Anda berhasil, Anda menerima tanggapan seperti berikut:

{ "RequestID": "67e572ed-41d5-11e8-9dc5-db288f3cbb72", "Message": "Accepted" }

Untuk informasi selengkapnya tentang sumber daya Endpoint di Amazon Pinpoint API, termasuk metode HTTP yang didukung dan parameter permintaan, lihat Endpoint di Referensi API Amazon Pinpoint.