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はまた以下の機能を提供します:
- ウェブサイト、モバイルアプリ、デスクトップアプリケーションがデータを簡単に送信できるようにするさまざまな SDK
- クラウドストレージソースとの統合と外部システムからデータをインポートするサードパーティ製アプリとの統合
つまり、HTTP V2 はリアルタイムのワークロードに最適です。 Batch はバッチ処理に最適です。SDKとソース統合は、その他のほとんどの場合に対応しています。
これは役に立ちましたか?