翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
販売者配送データフィードサービス
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_from
と update_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 バケットにデータフィードを受信するように環境を設定する必要があります。データフィードにアクセスするには、複数ステップのプロセスに従います。以下の一連のステップでその方法について説明します。
SQL および ETL (抽出、変換、ロード) の経験を持つビジネスインテリジェンスまたはデータエンジニアを割り当てます。このユーザーには、 の設定経験も必要ですAPIs。
Amazon Simple Storage Service バケットとデータフィードへのサブスクリプションを設定します。Marketplace 製品リストに関連付けられているAWS販売者アカウント ID を使用します。そのためには、この YouTube 動画を視聴
するか、以下のステップに従います。 ビデオとステップでは、設定を簡素化するAWS CloudFormation テンプレート
の使用方法を説明します。 -
ウェブブラウザを開いて AWS Marketplace 管理ポータル
にサインインし、「顧客データストレージの設定 」に進みます。 -
テンプレートを使用してリソースを作成する AWS CloudFormation を選択して、別のウィンドウの AWS CloudFormation コンソールでテンプレートを開きます。
-
テンプレートで以下を指定し、[Next (次へ)] を選択します。
-
スタック名 - データフィードへのアクセスを有効にするために作成するリソースのコレクション。
-
Amazon S3 バケット名 - データフィードを保存する先のバケット。
-
(オプション) Amazon SNSトピック名 — が新しいデータを Amazon S3 バケットに AWS 配信するときに通知を受け取るためのトピック。
-
-
[Review (確認)] ページで入力内容を確認し、[Create stack (スタックの作成)] を選択します。これにより、 CloudFormation ステータスと詳細を含む新しいページが開きます。
-
リソース タブから、次のリソースの Amazon リソースネーム (ARNs) を CloudFormation ページから AWS Marketplace カスタマーデータストレージの設定
ページのフィールドにコピーします。 -
データフィードを保存する先の Amazon S3 バケット
-
AWS KMS Amazon S3 バケットを暗号化するための キー
-
(オプション) が新しいデータを Amazon S3 バケットに AWS 配信するときに通知を受け取るための Amazon SNSトピック Amazon S3
-
-
[Set up customer data storage (顧客データストレージの設定)] ページで、[Submit (送信)] を選択します。
-
(オプション) CloudFormation テンプレートによって作成されたポリシーを編集します。詳細については、「データフィードポリシー」を参照してください。
これで、データフィードにサブスクライブしました。次回にデータフィードが生成されると、データにアクセスできます。
-
ETL (抽出、変換、ロード) オペレーションを使用して、データフィードをデータウェアハウスまたはリレーショナルデータベースに接続します。
注記
データツールにはさまざまな機能があります。ツールの機能に合わせて統合を設定するには、ビジネスインテリジェンスエンジニアまたはデータエンジニアを関与させる必要があります。
SQL クエリを実行または作成するには、データフィードを設定して、データツールでプライマリキーと外部キーを適用します。各データフィードは一意のテーブルを表し、エンティティ関係を持つデータスキーマ内のすべてのデータフィードを設定する必要があります。テーブルとエンティティの関係の詳細については、このガイドデータフィードテーブルの概要の「」を参照してください。
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
– フィード配信に問題があります。
SQL クエリを実行してセットアップを検証します。このガイドのサンプルクエリ、または のクエリは GitHub、 https://github.com/aws-samples/aws-marketplace-api-samples/tree/main/seller-data-feeds/queries
で使用できます。 注記
このガイドのサンプルクエリは、Athena AWS 用に記述されています。ツールで使用するクエリを変更する必要がある場合があります。
-
ビジネスユーザーがデータを使用する場所を決定します。例えば、以下のことが可能です。
データウェアハウスまたは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 管理ポータル
データフィードの使用
Amazon S3 バケットのデータが使用可能な場合、次の方法でデータフィードを使用できます。
-
スプレッドシートでデータを表示データフィードへのアクセスできるように、 で作成した Amazon S3 バケットから .CSV ファイルをダウンロードします。
-
(ETL抽出、変換、ロード)、SQLクエリ、ビジネス分析ツールを使用してデータを収集および分析します。
AWS サービスを使用して、データを収集および分析したり、. CSVベースのデータセットの分析を実行できるサードパーティーツールを使用したりできます。
例: AWS サービスを使用したデータの収集と分析
次の手順では、データフィードの送信先を Amazon S3 バケットとするように環境を設定済みであり、バケットにデータフィードが含まれていることを前提としています。
データフィードからデータを収集して分析するには
-
AWS Glue コンソール
から、データフィードを格納する Amazon S3 バケットに接続するクローラーを作成し、必要なデータを抽出して、 AWS Glue Data Catalogにメタデータテーブルを作成します。 の詳細については AWS Glue、「 AWS Glue デベロッパーガイド」を参照してください。
-
Athena コンソール から
、 のデータに対してSQLクエリを実行します AWS Glue Data Catalog。 Athena の詳細については、「Amazon Athena ユーザーガイド」を参照してください。
-
Amazon QuickSight コンソール
から分析を作成し、データのビジュアルを作成します。 Amazon の詳細については QuickSight、「Amazon ユーザーガイド QuickSight 」を参照してください。
AWS サービスを使用してデータフィード内のデータを収集および分析する方法の詳細な例については、 AWS Marketplace ブログの「Using Seller Data Feed Delivery Service, Amazon Athena, and Amazon QuickSight to create seller reports