販売者配送データフィードサービス - AWS Marketplace

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

販売者配送データフィードサービス

AWS Marketplace は、構造化された up-to-date 製品および顧客情報を AWS Marketplace システムから販売者 Amazon S3 バケットに送信し、販売者が所有するビジネスインテリジェンスツール間で ETL (抽出、変換、ロード) するためのメカニズムとしてデータフィードを提供します。

取引データは双時構造で配信および追加されるため、販売者は両方のタイムスタンプ付きの 2 つのタイムラインに沿ってデータを保存し、クエリを実行できます。

  • 有効時間: 現実世界で事実が発生した日時 (「知ったこと」)

  • システム時間: その事実がデータベースに記録された日時 (「知ったとき」)

データフィードは、前日の 24 時間分のデータを含む前日の更新UTC後、毎日午前 0 時に配信されます。更新は、顧客サブスクライブ、請求を受けている顧客、または支払い AWS によって定義できます。

このセクションでは、データフィードの概要を示し、データフィードにアクセスして使用する方法について説明します。以降のセクションでは、各データフィードについて説明します。

データフィードの保存と構造

データフィードは、カンマ区切り値 (CSV) ファイルを収集し、指定した暗号化された Amazon S3 バケットに配信します。CSV ファイルには次の特性があります。

  • 4180 標準に準拠しています。

  • 文字エンコーディングは なしで UTF-8 ですBOM。

  • カンマは、値間の区切り文字として使用されます。

  • フィールドは二重引用符でエスケープ

  • \n は改行文字です。

  • 日付はUTCタイムゾーンで報告され、8601 ISO の日付と時刻の形式であり、1 秒以内に正確です。

  • すべての *_period_start_date 値および *_period_end_date 値は包括的です。つまり、23:59:59 は任意の日の最後のタイムスタンプです。

  • すべての金銭情報フィールドの先頭に通貨フィールドが付きます。

  • 金銭情報フィールドでは、小数点の区切り文字としてピリオド (.) を使用し、3 桁の区切り文字としてカンマ (,) を使用しません。

データフィードは次のように生成されて保存されます。

  • データフィードは 1 日以内に生成され、前日の 24 時間のデータが含まれます。

  • Amazon S3 バケットの場合、データフィードは次の形式を使用して月別に整理されます。

    bucket-name/data-feed-name_version/year=YYYY/month=MM/data.csv

  • 毎日のデータフィードが生成されるたびに、その月の既存のCSVファイルに追加されます。新しい月が始まると、データフィードごとに新しいCSVファイルが生成されます。

  • データフィードの情報は 2010/01/01 から 2020/04/30 (含む) にバックフィルされ、 year=2010/month=01 サブフォルダの CSV ファイルで使用できます。

    特定のデータフィードの当月のファイルに列ヘッダーのみが含まれ、データが含まれていない場合があります。これは、当月のフィードに新しいエントリがなかったことを意味します。製品フィードなど、更新頻度が低いデータフィードで発生する場合があります。このような場合、データはバックフィルされたフォルダで利用できます。

  • Amazon S3 では、Amazon S3 ライフサイクルポリシーを作成して、バケットにファイルを保持する期間を管理できます。

  • 暗号化された S3 バケットSNSにデータが配信されたときに通知するように Amazon を設定できます。通知の設定方法については、Amazon Simple Notification Service デベロッパーガイドのSNS「Amazon の開始方法」を参照してください。

データの履歴化

各データフィードには、データの履歴を示す列があります。valid_to を除き、これらの列はすべてのデータフィードに共通です。これらは共通の履歴スキーマとして含まれており、データのクエリに役立ちます。

列名 説明
valid_from 主キーの値が他のフィールドの値に関連して有効である最初の日付。
valid_to この列は住所データフィードにのみ表示され、常に空白です。
insert_date レコードがデータフィードに挿入された日付。
update_date レコードが最後に更新された日付。
delete_date この列は常に空白です。

これらの列の例を次に示します。

valid_from valid_to insert_date update_date delete_date
2018-12-12T02:00:00Z 2018-12-12T02:00:00Z 2018-12-12T02:00:00Z
2019-03-29T03:00:00Z 2019-03-29T03:00:00Z 2019-03-29T03:00:00Z
2019-03-29T03:00:00Z 2019-03-29T03:00:00Z 2019-04-28T03:00:00Z

valid_fromupdate_date フィールドが一緒になって双時データモデルを形成します。valid_from フィールドは、その名のとおり、アイテムがいつ有効になるかがわかります。項目が編集された場合、フィードにはそれぞれ、update_date が異なり、valid_from の日付が同じレコードが複数含まれている可能性があります。例えば、ある項目の現在の値を調べるには、最新の valid_from の日付があるレコードのリストから最新の update_date のレコードを検索します。

上の例では、レコードは元々 2018 年 12 月 12 日に作成されたものです。その後、2019 年 3 月 29 日に変更されました (レコード内のアドレスが変更された場合など)。その後、2019 年 4 月 28 日に、アドレスの変更が修正されました (valid_from は変更されず、update_date は変更されました)。アドレスを修正すると (まれなイベント)、レコードが元の valid_from の日付から遡って変更されるため、そのフィールドは変更されませんでした。最新の valid_from レコードを検索するクエリでは 2 つのレコードが返され、最新の update_date から現在の実際のレコードが得られます。

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

データフィードにアクセスするには、暗号化された Amazon S3 バケットにデータフィードを受信するように環境を設定する必要があります。データフィードにアクセスするには、複数ステップのプロセスに従います。以下の一連のステップでその方法について説明します。

  1. SQL および ETL (抽出、変換、ロード) の経験を持つビジネスインテリジェンスまたはデータエンジニアを割り当てます。このユーザーには、 の設定経験も必要ですAPIs。

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

    ビデオとステップでは、設定を簡素化するAWS CloudFormation テンプレートの使用方法を説明します。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  3. ETL (抽出、変換、ロード) オペレーションを使用して、データフィードをデータウェアハウスまたはリレーショナルデータベースに接続します。

    注記

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

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

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

    通知の例

    { "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 で使用できます。

    注記

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

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

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

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

    • SalesforceCRM、InforERP、Netsuite などの 、、または財務ツールにデータをマッピングします。

AWS CloudFormation テンプレートの詳細については、「 ユーザーガイド」の AWS CloudFormation 「テンプレートの使用AWS 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:::datafeed-bucket", "arn:aws:s3:::datafeed-bucket/*" ] },

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

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

{ "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:::datafeed-amzn-s3-demo-bucket", "arn:aws:s3:::datafeed-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 営業日かかる場合があります。

データフィードの使用

Amazon S3 バケットのデータが使用可能な場合、次の方法でデータフィードを使用できます。

  • スプレッドシートでデータを表示データフィードへのアクセスできるように、 で作成した Amazon S3 バケットから .CSV ファイルをダウンロードします。

  • (ETL抽出、変換、ロード)、SQLクエリ、ビジネス分析ツールを使用してデータを収集および分析します。

    AWS サービスを使用して、データを収集および分析したり、. CSVベースのデータセットの分析を実行できるサードパーティーツールを使用したりできます。

例: AWS サービスを使用したデータの収集と分析

次の手順では、データフィードの送信先を Amazon S3 バケットとするように環境を設定済みであり、バケットにデータフィードが含まれていることを前提としています。

データフィードからデータを収集して分析するには
  1. AWS Glue コンソールから、データフィードを格納する Amazon S3 バケットに接続するクローラーを作成し、必要なデータを抽出して、 AWS Glue Data Catalogにメタデータテーブルを作成します。

    の詳細については AWS Glue、「 AWS Glue デベロッパーガイド」を参照してください。

  2. Athena コンソール からのデータに対してSQLクエリを実行します AWS Glue Data Catalog

    Athena の詳細については、「Amazon Athena ユーザーガイド」を参照してください。

  3. Amazon QuickSight コンソール から分析を作成し、データのビジュアルを作成します。

    Amazon の詳細については QuickSight、「Amazon ユーザーガイド QuickSight 」を参照してください。

AWS サービスを使用してデータフィード内のデータを収集および分析する方法の詳細な例については、 AWS Marketplace ブログの「Using Seller Data Feed Delivery Service, Amazon Athena, and Amazon QuickSight to create seller reports」を参照してください。