レスポンスヘッダーマッピングの設定
レスポンスヘッダー マッピングを設定して、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);
}