Amplitudeユーザーは、Amplitudeイベントデータとマージされたユーザーデータを、Googleクラウドストレージ(GCS)アカウントにエクスポートできるようになりました。Googleクラウドバケットポリシーにより、データを簡単に管理、およびプログラムでGoogleクラウドバケットにエクスポートできます。Amplitude UIを使用すると、頻繁に1時間に1回の繰り返し同期を設定できます。
注意: この機能は、すべての有料顧客に使用できます。
GCSサービスアカウントを作成して、アクセス許可を設定する
まだ作成していない場合は、GoogleクラウドコンソールでAmplitudeのサービスアカウントを作成してください。これにより、AmplitudeがデータをGoogleクラウドプロジェクトにエクスポートできるようになります。
サービスアカウントを作成したら、サービスアカウントキーファイルを生成してダウンロードして、Amplitudeにアップロードします。AmplitudeのアカウントキーをJSON形式でエクスポートするようにしてください。
データをエクスポートするバケットにメンバーとしてこのサービスアカウントを追加して、このメンバーにストレージ管理者の役割を与え、Amplitudeがデータをバケットにエクスポートするのに必要なアクセス許可を持てるようにします。
希望する場合は、独自の役割を作成することもできます。
エクスポートプロセスには、少なくとも次の許可が必要になることに留意してください:
storage.buckets.get
storage.objects.get
storage.objects.create
storage.objects.delete
storage.objects.list
繰り返しデータエクスポートをGoogleクラウドストレージに設定する
Amplitudeデータの繰り返しエクスポートをGCSに設定するには、次のステップに従ってください:
注意: Amplitudeでの管理権と、GCSでリソースを有効にできる役割が必要になります。
- ソースとデスティネーション→デスティネーションに移動します。
- [+デスティネーションを追加]ボタンを選択して、[GCS]パネルを選択します。
- [GCSにデータをエクスポートする]ページは、[始める]タブに開きます。
- [データをGoogleクラウドにエクスポート]で、エクスポートするデータを選択します。イベントデータ、マージされたAmplitude ID、または両方をエクスポートできます。
注意: 希望する場合は、これら2つの異なるデータタイプ別々のバケットにエクスポートできます。その場合、セットアップフローを2回完了する必要があります: それぞれのデータタイプに対して1回ずつです。
- イベントテーブルと[IDをマージ]テーブルのスキーマを確認し、[次へ]をクリックします。[エクスポートを設定]タブが開きます。
- AmplitudeのGoogleクラウド資格情報セクションで、サービスアカウントキーファイルをアップロードします。このファイルは、JSON形式でなければなりません。
- アカウントサービスキーがアップロードされたら、Googleクラウドバケットの詳細セクションで、Googleクラウドバケットの詳細を記入してください。
- 完了したら、[次へ]をクリックします。Amplitudeは、入力した資格情報が機能するようにテストアップロードを行います。アップロードが成功した場合は、[終了]をクリックして、GCSデスティネーション構成とアクティブ化を完了します。
将来のイベント/マージされたユーザーは、自動的にGCSに送信されます。Amplitudeは、1時間ごとにファイルをGCSアカウントにエクスポートします。
エクスポートされたデータフォーマット
生イベントファイルとデータフォーマット
データは、圧縮されたアーカイブJSONファイルとして1時間ごとにエクスポートされ、1時間に1つまたは複数のファイルで、1時間ごとにパーティション化されます。各ファイルには、行ごとに1つのイベントJSONオブジェクトが含まれます。
ファイル名には、次の構文があります。ここでは、時間は、UTCでAmplitudeサーバーにデータがアップロード日付を表します(例: server_upload_time):
projectID_yyyy-MM-dd_H#partitionInteger.json.gz
たとえば、2020年1月25日に、UTC 5pmから6pmの間に、このプロジェクトにアップロードされたデータ最初のパーティションは、次のファイルに含まれます:
187520_2020-01-25_17#1.json.gz
エクスポートされたデータJSONオブジェクトスキーマは次の通りです:
{
"server_received_time": UTC ISO-8601 timestamp,
"app": int,
"device_carrier": string,
"$schema":int,
"city": string,
"user_id": string,
"uuid": UUID,
"event_time": UTC ISO-8601 timestamp,
"platform": string,
"os_version": string,
"amplitude_id": long,
"processed_time": UTC ISO-8601 timestamp,
"user_creation_time": UTC ISO-8601 timestamp,
"version_name": string,
"ip_address": string,
"paying": boolean,
"dma": string,
"group_properties": dict,
"user_properties": dict,
"client_upload_time": UTC ISO-8601 timestamp,
"$insert_id": string,
"event_type": string,
"library":string,
"amplitude_attribution_ids": string,
"device_type": string,
"device_manufacturer": string,
"start_version": string,
"location_lng": float,
"server_upload_time": UTC ISO-8601 timestamp,
"event_id": int,
"location_lat": float,
"os_name": string,
"amplitude_event_type": string,
"device_brand": string,
"groups": dict,
"event_properties": dict,
"data": dict,
"device_id": string,
"language": string,
"device_model": string,
"country": string,
"region": string,
"is_attribution_event": bool,
"adid": string,
"session_id": long,
"device_family": string,
"sample_rate": null,
"idfa": string,
"client_event_time": UTC ISO-8601 timestamp,
}
マージされたAmplitude IDファイルとデータフォーマット
データは、圧縮されたアーカイブJSONファイルとして1時間ごとにエクスポートされます。各ファイルには、1行ごとに1つのマージされたAmplitude ID JSONオブジェクトが含まれています。
ファイル名には、次の構文があります。ここでは、時間は、UTCでAmplitudeサーバーにデータがアップロード日付を表します(例: server_upload_time):
-OrgID_yyyy-MM-dd_H.json.gz
たとえば、2020年1月25日に、UTC 5pmから6pmの間に、このプロジェクトにアップロードされたデータは、次のファイルに含まれます:
-189524_2020-01-25_17.json.gz
マージされたID JSONオブジェクトには、次のスキーマがあります:
{
"scope": int,
"merge_time": long,
"merge_server_time": long,
"amplitude_id": long,
"merged_amplitude_id": long
}