レスポンスヘッダーマッピングの設定

レスポンスヘッダー マッピングを設定して、ADRUM_n ヘッダーをブラウザに戻します。レスポンスヘッダーマッピングを次のように設定できます。

  • AWS API ゲートウェイの使用
  • AWS Lambda プロキシ統合を介して直接渡す
  • 関数コードで EUM メタデータを返す

Amazon API ゲートウェイでのレスポンスヘッダーマッピング

Amazon API ゲートウェイの各 ADRUM_n ヘッダーのヘッダーマッピングを追加します。「Amazon API Gateway API request and response data mapping reference」を参照してください。

次の表に、必要なレスポンスヘッダーとそのマッピング値を示します。

レスポンスヘッダー マッピング値
ADRUM_3 integration.response.body.headers.ADRUM_3
ADRUM_2 integration.response.body.headers.ADRUM_2
ADRUM_1 integration.response.body.headers.ADRUM_1
ADRUM_0 integration.response.body.headers.ADRUM_0

AWS Lambda プロキシ統合でのレスポンスヘッダーマッピング

カスタム統合の代わりに、AWS Lambda プロキシ統合により、クライアントはバックエンドの各機能を呼び出し、JSON 形式の出力を返すことができます。このようなレスポンスをマッピングするには、出力オブジェクトクラスのヘッダーフィールドに各シングル値 ADRUM_n ヘッダーを直接追加します。詳細については、Amazon ドキュメントを参照してください。

すべての他の呼び出しのレスポンスヘッダーマッピング

EUM メタデータを収集するには、レスポンスヘッダーマッピングを設定する必要があります。次のコード例では、トレーサで appDEumHeaders メソッドを呼び出します。このメソッドは、ADRUM_n ヘッダーを含むオブジェクトを返します。ダウンストリームの JavaScript エージェントによって、消費用のダウンストリームサービスにこのオブジェクトを渡します。

次のコードスニペットは、EUM メタデータを返す方法を示しています。

module.exports.myLambdaHandler = function (event, context, callback) {
setTimeout(function () {
////Call a transaction object
let appDBusinessTxn = tracer.getCurrentTransaction();
//Stop the transaction
tracer.stopTransaction();
//Return EUM Metadata
let appDEumHeaders = tracer.getEumMetadata(appDBusinessTxn);
callback(null, {
eumMetadata: appDEumHeaders,
data: 'Call to Lambda is a success'
});
}, 300);
}