このページでは

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.

どのAPIを使用すればよいですか?

SDK、サードパーティの統合、クラウドソース、またはAmplitude APIを通じてAmplitudeにデータを送信できます。 最も一般的なAPIの2つは、HTTP V2 APIとバッチイベントアップロードAPIです。少量のリアルタイムイベント送信にはHTTP V2 APIを使用し、イベントの一括アップロードまたは非リアルタイムアップロードにはBatch Event Upload APIを使用します。

誰がHTTP V2 APIを使用すべきですか?

次の場合には、HTTP V2 APIを使用してください。

  • 小容量データパーティションをすばやく送信したい
  • できるだけリアルタイムに近い形でデータを取り込みたい
  • データを動的に調整できる柔軟性を必要としている

HTTP V2 API は、サーバーから HTTP V2 エンドポイントにデータを直接送信します。

HTTP V2 API の長所と短所は何ですか?

長所:Amplitudeのサーバーがデータを受信した後、比較的短時間でインスタンスに表示されます。このため、HTTP V2 API はリアルタイムまたはライブストリーミングデータにとって推奨される選択肢となっています。 AmplitudeはHTTP V2経由で送信されたイベントについても(同一のdevice_idの場合)、受信した正確な順序どおりに処理します。これは分析にとって必ずしも重要というわけではありませんが、時間に敏感なファネル分析などで順序が重要となる場合には、重要となる場合があります。

同じユーザーが複数のデバイスからデータを送信する場合、Amplitudeはデバイス間でのイベントの順序付けを保証しません。

短所:Amplitudeは、1秒間に30イベントを超えるユーザーおよびデバイスからのリクエストをスロットリングします(Amplitudeはこれを直近の時間枠内の平均値として測定します)。制限を超えた場合、エラーが発生するため、そのユーザーまたはデバイスに対するイベントの送信を30秒間停止してから再試行する必要があります。HTTP V2 API は、大量のデータがある場合や拡張が必要な場合には適していません。

HTTP V2 API の使用例にはどのようなものがありますか?

HTTP V2 APIは次のような場合に最も役立ちます:

  • リアルタイムデータの操作
  • 少ないデータ量での作業
  • 分割されたデータの小さな塊を扱う

バッチイベントアップロード API を使用すべきユーザーは誰ですか?

以下の場合には、Batch Event Upload APIを使用してください。

  • データの大量取り込みを計画する
  • 他のプラットフォームを使用していて、Amplitudeにデータを送信したい場合
  • HTTP V2 の制限に直面している

バッチイベントアップロード API は、大量のイベントデータを一度にアップロードします。

スロットリングは、Amplitudeにデータを送信する際に考慮すべき最も重要な事項の1つです。 データ処理パイプラインの仕組みにより、単一のデバイスまたはユーザーに対して大量のイベントを処理することは困難な場合があります。 Amplitudeは、単一のユーザーまたはデバイスにおいて、毎秒10イベント(EPUS/EPDS)のレートを高いと判断し、毎秒30イベントのレートをスパムと判断します。人間は通常この速度でイベントを発生させることはありません。そのため、この速度は計測の実装不備やスパムデータを示していることがよくあります。

正当なユースケースでは、依然として大量のデータ(主にバッチアップロード)を正当化しています。 たとえば、一部のお客様は、先に追加情報を付与できるように、一日の終わりまでイベントデータをアップロードしないことがあります。あるユーザーがその日に 10,000 件のイベントを生成し、そのイベントを 1 分以内にすべて送信しようとすると、平均で 100 EPUS を超えることになり、HTTP V2 API ではこの数値を処理できません。 Batch Event Upload APIは、こうしたバーストを吸収できます。HTTP V2 APIと比べて上限が非常に高く、データをバッファリングする期間も長くなっています。

バッチイベントアップロードAPIは、次のような場合に最も役立ちます。

  • バックフィル(履歴データセットをすべて一度に送信)
  • 別のシステムからのデータの移行
  • 非リアルタイムのワークロードを扱う
  • Amplitudeで今すぐ必要のないデータを扱う

他のオプションは何ですか?

HTTP V2 APIとバッチイベントアップロードAPIだけがAmplitudeにデータを送信する方法ではありません。 Amplitudeはまた以下の機能を提供します:

つまり、HTTP V2 はリアルタイムのワークロードに最適です。 Batch はバッチ処理に最適です。SDKとソース統合は、その他のほとんどの場合に対応しています。

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