DVAトラブルシューティングと最適化
開発者がAWS X-Rayを使用してLambda関数のトレーシングを実装しています。注文処理のトレースに顧客IDや大きな注文詳細JSONを記録したいと考えています。X-Rayコンソールで顧客IDを使ってトレースをフィルタリングできるようにする必要があります。正しい実装方法はどれですか?
AputAnnotations(アノテーション)に顧客IDと注文詳細JSONの両方を記録する
アノテーション(Annotations)はインデックス化されており検索可能ですが、大きなJSONオブジェクトをアノテーションに格納するとインデックス化コストが増大し非効率です。
BputMetadata(メタデータ)に顧客IDと注文詳細JSONの両方を記録する
メタデータ(Metadata)は任意のオブジェクトを格納できますが、インデックス化されないため、アノテーションのような検索フィルタリングには使用できません。
C顧客IDはputAnnotationsで記録し、注文詳細JSONはputMetadataで記録する
✓ 正解
顧客IDなどの検索キーはアノテーションで記録して検索可能にし、大きなJSONはメタデータに格納することで、インデックス効率と詳細情報保存のバランスが最適です。
Dカスタムサブセグメントを作成して、顧客IDをサブセグメント名に含める
カスタムサブセグメントのセグメント名には長さ制限があり、顧客IDを含める方法は実装上の制限により現実的ではありません。
解説
X-Rayのアノテーション(Annotations)はインデックス化されており、コンソールのフィルター式でトレース検索に使用できます。値は文字列・数値・ブール値のみ対応。メタデータ(Metadata)は任意のオブジェクトを格納できますが、インデックス化されないためフィルタリング不可です。大きなJSONはメタデータに格納し、検索キーとなる値のみアノテーションに使用するのがベストプラクティスです。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでDVAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →