プロバイダー統合のテスト - AWS Entity Resolution

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

プロバイダー統合のテスト

はデータマッチングサービスを AWS Entity Resolution ホストしますが、プロバイダー統合はend-to-endのマッチングワークフローにとって重要なサードパーティーコンポーネントです。この統合が失敗したときに保護を追加するテスト AWS Entity Resolution がプロバイダーに定義されています。このアプローチは、プロバイダーがこれらのend-to-endのテストケースに従ってサービスのヘルスをモニタリングする機会を提供します。

プロバイダーは、テストアカウントと独自のデータを使用して、 AWS Entity Resolution Software Development Kit (SDK) を使用してこれらのend-to-endのテストケースを実行できます。プロバイダーから問題が発生した場合、 は優先エスカレーションパス AWS Entity Resolution を使用して問題をエスカレーションします。さらに、プロバイダーはテスト結果に独自のモニタリングを実装する必要があります。プロバイダーは、これらのテストの実行に使用される AWS アカウント IDsを共有する必要があります AWS Entity Resolution。

実行が成功すると、プロバイダーはデータをセットアップし、 を通じて独自のサービスを使用でき AWS Entity Resolution、ジョブのステータスはエラーなしで完了を返します。これは、 が提供する APIs を使用してプログラムで実現できます AWS Entity Resolution。

例えば、プロバイダーは、サービスに応じて S3 バケット、入力ソース、ロール、スキーマ、ワークフローを設定できます。これらのセットアップが完了すると、プロバイダーはこれらのワークフローを 1 日 1 回 200 レコードで実行してサービスをテストできます。このアプローチでは、プロバイダーは選択した SDK を使用し、テストアカウント AWS Data Exchange を使用して を通じて提供されるサービスに対してend-to-endのテストを実行します。プロバイダーは、サービスまたはサービスごとにこれらのテストを実行することが期待されます。

注記

プロバイダーは AWS Entity Resolution 、テストのためにこれらのワークフローを実行するために使用する AWS アカウント ID (accountId)) を提供する必要があります。さらに、プロバイダーはこれらのテストをモニタリングし、合格することを確認する必要があります。つまり、障害が発生した場合にプロバイダーはそれに応じて問題に対処するための通知を有効にする必要があります。

次の図は、一般的なend-to-endのワークフローテストケースを示しています。

A diagram of an end-to-end test workflow for a new provider integrating with AWS Data Exchange.

プロバイダー統合をテストするには
  1. 1 回限りのセットアップ) AWS Entity Resolution の手順に従って のリソースを設定しますセットアップ AWS Entity Resolution

    1 回限りのセットアップ手順が完了したら、ロール、データ、データソースの準備が整っているはずです。これで、 AWS Entity Resolution コンソールまたは APIs。

  2. AWS Entity Resolution APIsまたはコンソールを使用してプロバイダー統合をテストします。

API
AWS Entity Resolution APIs
  1. CreateSchemaMapping API を使用してスキーママッピングを作成します。サポートされているプログラミング言語の完全なリストについては、CreateSchemaMapping APIhttps://docs.aws.amazon.com/entityresolution/latest/apireference/API_CreateSchemaMapping.html#API_CreateSchemaMapping_SeeAlso「」セクションを参照してください。

    スキーママッピングは、マッチングのためにデータを解釈 AWS Entity Resolution する方法を に指示するプロセスです。AWS Entity Resolution が一致するワークフローに読み込む入力データテーブルのスキーマを定義します。

    スキーママッピングを作成するときは、一意の識別子を指定し、AWS Entity Resolution が読み取る入力データの各行に割り当てる必要があります。例えば、Primary_keyRow_IDRecord_ID などが挙げられます。

    id と を含むデータソースのスキーママッピングの作成 email

    以下は、 idと を含むデータソースのスキーママッピングの例ですemail

    [ { "fieldName": "id", "type": "UNIQUE_ID" }, { "fieldName": "email", "type": "EMAIL_ADDRESS" } ]
    例 Java SDK を含むデータソースidと Java SDK emailを使用するデータソースのスキーママッピングの作成

    以下は、Java SDK を含むデータソースidemailを使用するデータソースのスキーママッピングの例です。

    EntityResolutionClient.createSchemaMapping( CreateSchemaMappingRequest.builder() .schemaName(<schema-name>) .mappedInputFields([ SchemaInputAttribute.builder().fieldName("id").type("UNIQUE_ID").build(), SchemaInputAttribute.builder().fieldName("email").type("EMAIL_ADDRESS").build() ]) .build() )
  2. CreateMatchingWorkflow API を使用して一致するワークフローを作成します。サポートされているプログラミング言語の完全なリストについては、CreateMatchingWorkflow API https://docs.aws.amazon.com/entityresolution/latest/apireference/API_CreateMatchingWorkflow.html#API_CreateMatchingWorkflow_SeeAlso「」セクションを参照してください。

    例 Java SDK を使用して一致するワークフローを作成する

    以下は、Java SDK を使用した一致するワークフローの例です。

    EntityResolutionClient.createMatchingWorkflow( CreateMatchingWorkflowRequest.builder() .workflowName(<workflow-name>) .inputSourceConfig( InputSource.builder().inputSourceARN(<glue-inputsource-from-step1>).schemaName(<schema-name-from-step2>).build() ) .outputSourceConfig(OutputSource.builder().outputS3Path(<output-s3-path>).output(<output-1>, <output-2>, <output-3>).build()) .resolutionTechniques(ResolutionTechniques.builder() .resolutionType(PROVIDER) .providerProperties(ProviderProperties.builder() .providerServiceArn(<provider-arn>) .providerConfiguration(<configuration-depending-on-service>) .intermediateSourceConfiguration(<intermedaite-s3-path>) .build()) .build() .roleArn(<role-from-step1>) .build() )

    一致するワークフローを設定したら、ワークフローを実行できます。

  3. StartMatchingJob API を使用して、一致するワークフローを実行します。一致するワークフローを実行するには、 CreateMatchingWorkflowエンドポイントを使用して一致するワークフローを作成しておく必要があります。

    サポートされているプログラミング言語の完全なリストについては、StartMatchingJob APIhttps://docs.aws.amazon.com/entityresolution/latest/apireference/API_StartMatchingJob.html#API_StartMatchingJob_SeeAlso「」セクションを参照してください。

    例 Java SDK を使用して一致するワークフローを実行する

    以下は、Java SDK を使用して一致するワークフローを実行する例です。

    EntityResolutionClient.startMatchingJob(StartMatchingJobRequest.builder() .workflowName(<name-of-workflow-from-step3) .build() )
  4. GetMatchingJob API を使用してワークフローのステータスをモニタリングします。

    この API は、ジョブに関連付けられているステータス、メトリクス、エラー (存在する場合) を返します。

    例 Java SDK を使用した一致するワークフローのモニタリング

    以下は、Java SDK を使用して一致するワークフロージョブをモニタリングする例です。

    EntityResolutionClient.getMatchingJob(GetMatchingJobRequest.builder() .workflowName(<name-of-workflow-from-step3) .jobId(jobId-from-startMatchingJob) .build() )

    ワークフローが正常に完了するとend-to-endのテストは完了です。

Console
AWS Entity Resolution コンソールを使用してプロバイダー統合をテストするには
  1. 「」の手順に従ってスキーママッピングを作成しますスキーママッピングの作成

    スキーママッピングは、マッチングのためにデータを解釈 AWS Entity Resolution する方法を に指示するプロセスです。一致するワークフローに AWS Entity Resolution 読み込む入力データテーブルのスキーマを定義します。

    スキーママッピングを作成するときは、一意の識別子を指定し、 が AWS Entity Resolution 読み取る入力データの各行に割り当てる必要があります。例えば、Primary_keyRow_IDRecord_ID などが挙げられます。

    id と を含むデータソースのスキーママッピング email

    以下は、 idと を含むデータソースのスキーママッピングの例ですemail

    [ { "fieldName": "id", "type": "UNIQUE_ID" }, { "fieldName": "email", "type": "EMAIL_ADDRESS" } ]
  2. 「」の手順に従って、一致するワークフローを作成して実行しますプロバイダーのサービスベースのマッチングワークフローの作成

    一致するワークフローの作成は、一致する入力データとマッチングの実行方法を指定するようにセットアップしたプロセスです。プロバイダーベースのワークフローでは、 アカウントが を通じてプロバイダーサービスとサブスクリプションを持っている場合 AWS Data Exchange、既知の識別子を任意のプロバイダーと照合できます。エンドツーエンドのテストを実行するために使用しているプロバイダーとサービスに応じて、一致するワークフローを設定できます。

    AWS Entity Resolution コンソールは、作成と実行のアクションを 1 つのボタンで組み合わせます。作成と実行を選択すると、一致するワークフローが作成され、ジョブが開始されたことを示すメッセージが表示されます。

  3. 一致するワークフローページでワークフローのステータスをモニタリングします。

    ワークフローが正常に完了すると (ジョブのステータス完了)、end-to-endのテストは完了です。

    一致するワークフローの詳細ページのメトリクスタブで、「最後のジョブメトリクス」で以下を表示できます。

    • ジョブ ID

    • 一致するワークフロージョブのステータス: QueuedIn progressCompletedFailed

    • ワークフロージョブの完了時刻

    • 処理されたレコードの数。

    • 処理されなかったレコードの数。

    • 生成された一意の一致 IDs。

    • 入力レコードの数。

    ジョブ履歴で以前に実行された一致するワークフロージョブのジョブメトリクスを表示することもできます。