Amazon Pinpoint を使用したエンドポイントの検索 - Amazon Pinpoint

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Pinpoint を使用したエンドポイントの検索

Amazon Pinpoint プロジェクトに追加されたエンドポイントの詳細を個々に検索することができます。これらの詳細には、メッセージの送信先アドレス、メッセージングチャネル、ユーザーのデバイスに関するデータ、ユーザーの場所に関するデータ、エンドポイントに記録するカスタム属性が含まれます。

エンドポイントを検索するには、エンドポイント ID が必要です。ID が不明な場合は、エクスポートしてエンドポイントデータを取得できます。エンドポイントをエクスポートするには、「Amazon Pinpoint からエンドポイントをエクスポートする」を参照してください。

以下の例は、ID を指定して、エンドポイントを個々に検索する方法を示します。

AWS CLI

Amazon Pinpoint を使用するには、AWS CLI でコマンドを実行します。

例 Get Endpoint コマンド

エンドポイントを検索するには、get-endpoint コマンドを使用します。

$ aws pinpoint get-endpoint \ > --application-id application-id \ > --endpoint-id endpoint-id

実行する条件は以下のとおりです。

  • application-id は、エンドポイントを含む Amazon Pinpoint プロジェクトの ID です。

  • endpoint-id は、検索するエンドポイントの ID です。

このコマンドのレスポンスは、次の例のように、エンドポイントの JSON 定義です。

{ "EndpointResponse": { "Address": "1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p7q8r9s0t1u2v3w4x5y6z7a8b9c0d1e2f", "ApplicationId": "application-id", "Attributes": { "Interests": [ "Technology", "Music", "Travel" ] }, "ChannelType": "APNS", "CohortId": "63", "CreationDate": "2018-05-01T17:31:01.046Z", "Demographic": { "AppVersion": "1.0", "Make": "apple", "Model": "iPhone", "ModelVersion": "8", "Platform": "ios", "PlatformVersion": "11.3.1", "Timezone": "America/Los_Angeles" }, "EffectiveDate": "2018-05-07T19:03:29.963Z", "EndpointStatus": "ACTIVE", "Id": "example_endpoint", "Location": { "City": "Seattle", "Country": "US", "Latitude": 47.6, "Longitude": -122.3, "PostalCode": "98121" }, "Metrics": { "music_interest_level": 6.0, "travel_interest_level": 4.0, "technology_interest_level": 9.0 }, "OptOut": "ALL", "RequestId": "7f546cac-6858-11e8-adcd-2b5a07aab338", "User": { "UserAttributes": { "Gender": "Female", "FirstName": "Wang", "LastName": "Xiulan", "Age": "39" }, "UserId": "example_user" } } }
AWS SDK for Java

AWS SDK for Java が提供するクライアントにより、Java アプリケーションで Amazon Pinpoint API を使用できます。

例 Code

エンドポイントを検索するには、GetEndpointRequest オブジェクトを初期化します。次に、このオブジェクトを クライアントの getEndpointAmazonPinpoint クライアントに渡します。

import com.google.gson.FieldNamingPolicy; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.pinpoint.PinpointClient; import software.amazon.awssdk.services.pinpoint.model.EndpointResponse; import software.amazon.awssdk.services.pinpoint.model.GetEndpointResponse; import software.amazon.awssdk.services.pinpoint.model.PinpointException; import software.amazon.awssdk.services.pinpoint.model.GetEndpointRequest;
import com.google.gson.FieldNamingPolicy; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.pinpoint.PinpointClient; import software.amazon.awssdk.services.pinpoint.model.EndpointResponse; import software.amazon.awssdk.services.pinpoint.model.GetEndpointResponse; import software.amazon.awssdk.services.pinpoint.model.PinpointException; import software.amazon.awssdk.services.pinpoint.model.GetEndpointRequest; /** * 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 LookUpEndpoint { public static void main(String[] args) { final String usage = """ Usage: <appId> <endpoint> Where: appId - The ID of the application to delete. endpoint - The ID of the endpoint.\s """; if (args.length != 2) { System.out.println(usage); System.exit(1); } String appId = args[0]; String endpoint = args[1]; System.out.println("Looking up an endpoint point with ID: " + endpoint); PinpointClient pinpoint = PinpointClient.builder() .region(Region.US_EAST_1) .build(); lookupPinpointEndpoint(pinpoint, appId, endpoint); pinpoint.close(); } public static void lookupPinpointEndpoint(PinpointClient pinpoint, String appId, String endpoint) { try { GetEndpointRequest appRequest = GetEndpointRequest.builder() .applicationId(appId) .endpointId(endpoint) .build(); GetEndpointResponse result = pinpoint.getEndpoint(appRequest); EndpointResponse endResponse = result.endpointResponse(); // Uses the Google Gson library to pretty print the endpoint JSON. Gson gson = new GsonBuilder() .setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE) .setPrettyPrinting() .create(); String endpointJson = gson.toJson(endResponse); System.out.println(endpointJson); } catch (PinpointException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } System.out.println("Done"); } }

読み取り可能な形式でエンドポイントデータを出力するために、この例では、Google GSON ライブラリを使用して、EndpointResponse オブジェクトを JSON 文字列に変換します。

HTTP

HTTP リクエストを直接 REST API に送信して Amazon Pinpoint を使用することができます。

例 GET Endpoint リクエスト

エンドポイントを検索するには、エンドポイントリソースに対して GET リクエストを発行します。

GET /v1/apps/application_id/endpoints/endpoint_id HTTP/1.1 Host: pinpoint.us-east-1.amazonaws.com Content-Type: application/json Accept: application/json Cache-Control: no-cache

実行する条件は以下のとおりです。

  • application-id は、エンドポイントを含む Amazon Pinpoint プロジェクトの ID です。

  • endpoint-id は、検索するエンドポイントの ID です。

このリクエストのレスポンスは、次の例のように、エンドポイントの JSON 定義です。

{ "ChannelType": "APNS", "Address": "1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p7q8r9s0t1u2v3w4x5y6z7a8b9c0d1e2f", "EndpointStatus": "ACTIVE", "OptOut": "NONE", "RequestId": "b720cfa8-6924-11e8-aeda-0b22e0b0fa59", "Location": { "Latitude": 47.6, "Longitude": -122.3, "PostalCode": "98121", "City": "Seattle", "Country": "US" }, "Demographic": { "Make": "apple", "Model": "iPhone", "ModelVersion": "8", "Timezone": "America/Los_Angeles", "AppVersion": "1.0", "Platform": "ios", "PlatformVersion": "11.3.1" }, "EffectiveDate": "2018-06-06T00:58:19.865Z", "Attributes": { "Interests": [ "Technology", "Music", "Travel" ] }, "Metrics": { "music_interest_level": 6, "travel_interest_level": 4, "technology_interest_level": 9 }, "User": {}, "ApplicationId": "application_id", "Id": "example_endpoint", "CohortId": "39", "CreationDate": "2018-06-06T00:58:19.865Z" }

Amazon Pinpoint API のエンドポイントリソースの詳細については、「Amazon Pinpoint API リファレンス」の「エンドポイント」を参照してください。