exit コールの作成または変更

関数が ES6 を使用している場合、または、HTTP コールまたは AWS Lambda 間のコール以外の exit コールが含まれている場合は、exit コールを作成する必要があります。

次のコードスニペットは、MySQL データベースを呼び出す AWS Lambda 関数の exit コールを作成する方法を示しています。

// Use the exit call API in your AWS Lambda handler function
module.exports.myLambdaHandler = async function () {
const queryPromise = new Promise(function (resolve, reject) {
const dbConfig = {
host: '127.0.0.1', // The host where MySQL server runs
port: 3306, // Note that this is not an identifying property. Identifying properties must be strings
user: 'root',
database: 'movies'
};
const mysql = require('mysql');
const mysqlClient = mysql.createPool(dbConfig);
mysqlClient.getConnection(function (err, connection) {
if (err) {
reject({
statusCode: 500,
body: 'Couldn\'t make the connection to mysql client.'
});
return;
}
// Create an Exit Call
var exitCall = tracer.startExitCall({
exitType: 'DB',
exitSubType: 'DB',
identifyingProperties: {
'HOST': '127.0.0.1', // The host where MySQL server runs
'PORT': '3306',
'DATABASE': 'movies',
'VENDOR': 'MYSQL'
}
});
connection.query('SELECT * FROM ClassicHits', function (err, results) {
connection.release();
if (err) {
reject({
statusCode: 500,
body: 'Mysql query failed'
});
return;
}
// Stop the Exit Call
tracer.stopExitCall(exitCall);
resolve({
statusCode: 200,
body: JSON.stringify(results)
});
});
});
});
return queryPromise;
}

exit コールタイプおよび識別プロパティ

コントローラでは、すべての exit コールに個別のタイプがあり、一連の識別プロパティによって決定されます。exit コールのタイプ、サブタイプ、および識別プロパティを次に示します。exit コールサブタイプの場合、表に記載されている例を使用するか、空の文字列を使用できます。識別プロパティは文字列である必要があります。

exit コールタイプ exit コールサブタイプ 識別プロパティ
HTTP HTTP

HOST

PORT

URL

QUERY STRING

DB

DB

URL

HOST

PORT

データベース

VERSION

VENDOR

キャッシュ

キャッシュ

VENDOR

サーバープール

カスタム

CASSANDRA CQL

COUCHBASE

AMAZON WEB SERVICES

MONGODB

ユーザ定義のプロパティセット。
注:

次のインターセプタがサポートされており、CommonJS での手動でのインストルメンテーションは必要ありません。

  • lambda.invokeaws_sdk および lambda.invokeAsync
  • httphttps ライブラリ