データフィードへのアクセス - AWS Marketplace

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

データフィードへのアクセス

AWS Marketplace では、AWS Marketplace システムから Amazon S3 バケットに構造化された最新の製品および顧客情報を送信し、販売者所有のビジネスインテリジェンスツール間で、ETL (Extract/Transform/Load) を行う仕組みとして、データフィードを使用できます。暗号化された Amazon S3 バケットでデータフィードを受信するように環境を設定する必要があります。このトピックでは、データフィードにアクセスしてサブスクライブを解除する方法について説明します。

データフィードにアクセスする

  1. SQL と ETL (Extract/Transform/Load) の経験があるビジネスインテリジェンスまたはデータエンジニアを割り当てます。また、API の設定経験も必要です。

  2. Amazon Simple Storage Service バケットとデータフィードのサブスクリプションを設定します。Marketplace 製品リストに関連付けられている AWS 販売者アカウント ID を使用します。これを行うには、この YouTube 動画を視聴するか、次の手順を実行します。

    ビデオと手順では、設定を簡素化するCloudFormation テンプレートの使用方法が説明されています。

    1. ウェブブラウザを開いて AWS Marketplace 管理ポータル にサインインし、「顧客データストレージの設定」に進みます。

    2. [Create resources with CloudFormation (CloudFormatiion テンプレートを使用してリソースを作成する)] を選択して、CloudFormation コンソールの別のウィンドウでテンプレートを開きます。

    3. テンプレートで以下を指定し、[Next (次へ)] を選択します。

      • スタック名 - データフィードへのアクセスを有効にするために作成するリソースのコレクション。

      • Amazon S3 バケット名 - データフィードを保存する先のバケット。

      • (オプション) Amazon SNS トピック名 - Amazon Simple Storage Service バケットに配信されたときに、通知を受信するためのトピック。

    4. [Review (確認)] ページで入力内容を確認し、[Create stack (スタックの作成)] を選択します。これにより、CloudFormation のステータスと詳細が記載された新しいページが開きます。

    5. [リソース] タブから、次のリソースの Amazon リソースネーム (ARN) を CloudFormation ページから AWS Marketplace の [顧客データストレージの設定] ページのフィールド内にコピーします。

      • データフィードを保存する先の Amazon S3 バケット

      • Amazon S3 バケットを暗号化するための AWS KMS キー

      • (オプション) AWS が新しいデータを Amazon S3 バケットに配信したときに、通知を受信するための Amazon SNS トピック。

    6. [Set up customer data storage (顧客データストレージの設定)] ページで、[Submit (送信)] を選択します。

    7. (オプション) CloudFormation テンプレートによって作成されたポリシーを編集します。詳細については、「データフィードポリシー」を参照してください。

      これで、データフィードにサブスクライブしました。次回にデータフィードが生成されると、データにアクセスできます。

  3. ETL (Extract/Transform/Load) オペレーションを使用すると、データフィードをデータウェアハウスまたはリレーショナルデータベースに接続します。

    注記

    データツールにはさまざまな機能があります。ツールの機能に合わせて統合を設定するには、ビジネスインテリジェンスエンジニアまたはデータエンジニアを関与させる必要があります。

  4. SQL クエリを実行または作成するには、データツールでプライマリキーと外部キーを適用するようにデータフィードを設定します。各データフィードは一意のテーブルを表し、エンティティ関係を使用してデータスキーマ内のすべてのデータフィードを設定する必要があります。テーブルとエンティティの関係の詳細については、このガイドの「データフィードテーブルの概要」を参照してください。

  5. Amazon Simple Notification Service をセットアップして、データウェアハウスまたはリレーショナルデータベースを自動的に更新します。各一意のフィードからのデータが Amazon S3 バケットに配信されたときにアラートを送信するように Amazon SNS 通知を設定できます。これらの通知を使用すると、販売者データツールがこの機能をサポートし、データフィードを介して新しいデータを受信する際に、販売者データウェアハウスを自動更新できます。詳細については、「Amazon Simple Notification Service デベロッパーガイド」の「Amazon SNS の開始方法」を参照してください。

    通知の例

    { "mainExecutionId": "1bc08b11-ab4b-47e1-866a-9c8f38423a98", "executionId": "52e862a9-42d2-41e0-8010-810af84d39b1", "subscriptionId": "27ae3961-b13a-44bc-a1a7-365b2dc181fd", "processedFiles": [], "executionStatus": "SKIPPED", "errors": [], "feedType": "[data feed name]" }

    通知には次の executionStatus ステータスがあります。

    • SKIPPED – 販売者に対するその日の新しいデータはありません。

    • COMPLETED – フィードに新しいデータを提供しました。

    • FAILED – フィード配信に問題があります。

  6. SQL クエリを実行してセットアップを検証します。このガイドの サンプルクエリ、または GitHub のクエリは、https://github.com/aws-samples/aws-marketplace-api-samples/tree/main/seller-data-feeds/queries で使用できます。

    注記

    このガイドのサンプルクエリは、AWS Athena 用に記述されています。ツールで使用するクエリは変更する必要がある場合があります。

  7. ビジネスユーザーがデータを使用する場所を決定します。例えば、以下のことが可能です。

    • データウェアハウスまたは SQL データベースから .csv データをエクスポートします。

    • PowerBI や Tableau などの視覚化ツールにデータを接続します。

    • Salesforce、Infor、Netsuite などの CRM、ERP、財務ツールにデータをマッピングします。

CloudFormation テンプレートの詳細については、「AWS CloudFormation ユーザーガイド」にある「CloudFormation テンプレートの使用」を参照してください。

データフィードポリシー

Amazon S3 バケットが CloudFormation テンプレートによって作成されると、そのバケット、AWS KMS キー、および Amazon SNS トピックにアタッチされたアクセスに関するポリシーが作成されます。このポリシーにより、AWS Marketplace レポートサービスはデータフィード情報をバケットと SNS トピックに書き込むことができます。各ポリシーには次のようなセクションがあります (この例は Amazon S3 バケットのものです)。

{ "Sid": "AwsMarketplaceDataFeedsAccess", "Effect": "Allow", "Principal": { "Service": "reports.marketplace.amazonaws.com" }, "Action": [ "s3:ListBucket", "s3:GetObject", "s3:PutObject", "s3:GetEncryptionConfiguration", "s3:GetBucketAcl", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] },

このポリシーでは、AWS Marketplace は reports.marketplace.amazonaws.com サービスプリンシパルを使用して、データを Amazon S3 バケットにプッシュします。CloudFormation テンプレートでは、amzn-s3-demo-bucket が指定されています。

AWS Marketplace レポートサービスが Amazon S3、AWS KMS、または Amazon SNS を呼び出すと、バケットに書き込む予定のデータの ARN が提供されます。バケットに書き込まれるデータが、ユーザーに代わって書き込まれるデータだけになるようにするには、ポリシーの条件に aws:SourceArn を指定します。次の例では、account-id を自分の AWS アカウント の ID に置き換える必要があります。

{ "Sid": "AwsMarketplaceDataFeedsAccess", "Effect": "Allow", "Principal": { "Service": "reports.marketplace.amazonaws.com" }, "Action": [ "s3:ListBucket", "s3:GetObject", "s3:PutObject", "s3:GetEncryptionConfiguration", "s3:GetBucketAcl", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" , "Condition": { "StringEquals": { "aws:SourceAccount": "account-id", "aws:SourceArn": ["arn:aws:marketplace::account-id:AWSMarketplace/SellerDataSubscription/DataFeeds_V1", "arn:aws:marketplace::account-id:AWSMarketplace/SellerDataSubscription/Example-Report"] } } },

データフィードからサブスクリプションを解除する

ウェブブラウザを開き、AWS Marketplace 管理ポータルにサインインします。次に、[お問い合わせ] ページに移動して、AWS Marketplace Seller Operations チームに受信解除のリクエストを送信します。受信解除のリクエストの処理が完了するのに、最大で 10 営業日かかる場合があります。