このページでは

For AI agents: a documentation index is available at /docs/llms.txt. Append .md to any page URL for markdown, or send Accept: text/markdown.

Azure Blob Storage

AmplitudeのAzure Blob Storage送信先は、AmplitudeイベントデータとマージされたユーザーデータをAzure Blob Storageコンテナにエクスポートします。Azure Blob Storage コンテナ ポリシーを使用して、このデータをプログラムで管理したり、Azure コンテナにエクスポートしたりできます。 Amplitudeは最短で1時間ごとの定期同期をサポートしています。

前提条件

AmplitudeからAzure Blob Storageにデータをエクスポートする前に、Azure環境が以下の前提条件を満たしていることを確認してください。

  1. Azure ストレージ アカウントとコンテナを設定します。

    Azure ストレージ アカウントと Blob Storage コンテナをまだ設定していない場合は、以下のガイドに従ってください。

  2. Azure サービス プリンシパルの作成:

    AmplitudeがBlobストレージにアクセスするために使用するサービスプリンシパルをAzureに作成します。 tenantId、clientId、clientSecretをコピーします。Amplitudeは、Azureとの接続を確立するためにこれらの詳細情報を必要とします。 このガイドに従ってサービスプリンシパルを作成してください。

  3. サービスプリンシパルに必要な権限を付与する:

    サービス プリンシパルに必要な Azure Blob Storage 権限を割り当てます:

Amplitudeには以下のAzure権限が必要です

  • read これは、Amplitudeが繰り返しエクスポートするためにデータを複数回エクスポートしないことを保証するためです。
  • delete。この権限により、手動エクスポート時(バックフィルデータをエクスポートする場合など)に重複除外を有効にできます。

- Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write - Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read - Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete

Azure Blob Storage にこれらの権限を割り当てる手順については、以下を参照してください。

- サービス プリンシパルに Azure Blob Storage の権限を割り当てる - チュートリアル:Azureポータルを使用してBlobへのアクセスを制限するためにロールの割り当て条件を追加する

  1. ネットワークアクセスを設定します:

    Azure ストレージアカウントのファイアウォールと仮想ネットワーク設定が、以下のAmplitude IPアドレスからのアクセスを許可していることを確認してください:

    • Amplitude米国のIPアドレス:
      • 52.33.3.219
      • 35.162.216.242
      • 52.27.10.221
    • Amplitude EU の IP アドレス:
      • 3.124.22.25
      • 18.157.59.125
      • 18.192.47.195

    これらの設定を変更する方法については、「Azure Storage ファイアウォールと仮想ネットワークの構成」を参照してください。

連携を設定する

AmplitudeデータをAzure Blob Storageにエクスポートするには:

  1. Amplitudeで、データ > 管理 > 送信先 > 送信先を追加に移動します。
  2. [Azure Blob Storage - Events & Merged Users] を選択します。
  3. はじめにタブで、エクスポートするデータを選択します。オプションには、本日および今後取り込まれるイベントをエクスポートするか、マージされたすべてのAmplitude IDをエクスポートするか、またはその両方があります。イベントに対しては、特定の基準を満たすイベントのみをエクスポートするようにフィルタリング条件を指定することもできます。

必要に応じて、これら2つのデータタイプを別々のコンテナにエクスポートできます。セットアップフローを2回完了してください。データタイプごとに一度です。

  1. イベントテーブルとマージIDテーブルのスキーマを確認し、次へをクリックします。
  2. 認証情報の設定セクションで、作成したサービスプリンシパルからtenantId、clientId、clientSecretを入力します。
  3. 「Azure Blob Storage コンテナの詳細」セクションで Azure Blob Storage コンテナの詳細を入力します。 [次へ] をクリックします。
  4. 次へをクリックします。Amplitudeは認証情報が機能しているかどうかを確認するためにテストアップロードを試みます。 アップロードが成功したら、完了をクリックしてAzure Blob Storageの送信先の設定と有効化を完了します。

セットアップ後、Amplitudeはベストエフォートベースで今後のすべてのイベントとマージされたユーザーをAzure Blob Storageに送信します。 エクスポートは通常、1 時間ごとに実行され、1 時間のデータが含まれますが、実行頻度が低く、複数時間のデータが含まれている場合もあります。

手動エクスポートを実行する

手動でエクスポートしてバックフィルを行い、履歴データをAzure Blob Storageに送信します。

  1. 作成した Azure Blob Storage の送信先を開きます。[エクスポート接続] ページに移動します。
  2. [バックフィル] タブに移動します。
  3. エクスポートする日付範囲を選択します。
  4. [バックフィルの開始] をクリックします。

バックフィルの日付範囲がすでにエクスポートされたデータの日付範囲と重複する場合、Amplitudeは重複するデータをすべて重複排除します。

エクスポートされたデータ形式

生のイベントファイルとデータ形式

AmplitudeはデータをJSONファイルの圧縮アーカイブとしてエクスポートします。JSONファイルは時間ごとに1つ以上のファイルで分割されています。 各ファイルには、1 行あたり 1 つのイベント JSON オブジェクトが含まれています。

ファイル名の構文は次のとおりです。ここで、時刻はデータがAmplitudeサーバーにアップロードされた時刻をUTCで表します(例:server_upload_time)。

projectID_yyyy-MM-dd_H#partitionInteger.json.gz

たとえば、2020年1月25日午後5時から6時 (UTC) の間にこのプロジェクトにアップロードされたデータの最初のパーティションは、次のファイルにあります。

187520_2020-01-25_17#1.json.gz

エクスポートされたデータのJSONオブジェクトスキーマは次のとおりです。

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,
   "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のファイルとデータ形式

AmplitudeはデータをJSONファイルの圧縮アーカイブとしてエクスポートします。 各ファイルには、1行につき1つのマージされたAmplitude ID JSONオブジェクトが含まれています。

ファイル名の構文は次のとおりです。ここで、時刻はデータがAmplitudeサーバーにアップロードされた時刻をUTCで表します(例: server_upload_time)。

-OrgID_yyyy-MM-dd_H.json.gz

たとえば、2020年1月25日午後5時から6時(UTC)の間にこのプロジェクトにアップロードされたデータは、次のファイルにあります。

-189524_2020-01-25_17.json.gz

エクスポートされたデータのJSONオブジェクトスキーマは次のとおりです。

json
{
  "scope": int,
  "merge_time": long,
  "merge_server_time": long,
  "amplitude_id": long,
  "merged_amplitude_id": long
}

これは役に立ちましたか?