此nodejs代码中exports.handler的用途是什么?
我正在探索AWS开发工具包,并且遇到了用于Amazon connect的代码。
const AWS = require('aws-sdk');
AWS.config.update({ region: 'us-east-1' });
console.log('initiated')
exports.handler = (event, context, callback) => {
console.log('Running...')
let connect = new AWS.Connect();
console.log('Connect...')
const customerName = event.name;
const customerPhoneNumber = event.number;
const dayOfWeek = event.day;
let params = {
"InstanceId" : '12345l-abcd-1234-abcde-123456789bcde',
"ContactFlowId" : '987654-lkjhgf-9875-abcde-poiuyt0987645',
"SourcePhoneNumber" : '+1123456789',
"DestinationPhoneNumber" : customerPhoneNumber,
"Attributes" : {
'name' : customerName,
'dayOfWeek' : dayOfWeek
}
}
connect.startOutboundVoiceContact(
params, function (error, response){
if(error) {
console.log(error)
callback("Error", null);
} else
{
console.log('Initiated an outbound call with Contact Id ' + JSON.stringify(response.ContactId));
callback(null, 'Success');
}
}
);
};
console.log('completed')
当我以standalone代码(例如node test.js
)运行时,我同时收到以下日志,并且代码终止。
node test.js
initiated
completed
为什么exports.handler
内部的代码未运行?还是异步运行?如果是这样,我如何以node test.js
之类的独立方式运行此代码?
exports.handler是由路由器调用的入口点。
通常在expressjs路由器中,需要两个最小参数。第一个是URL,第二个是处理程序。所以当你点击URL
app.get('/',handler)
const handler = function (req, res) {
res.send('Hello World!')
}
所以现在您的问题是在此nodejs代码中exports.handler的用途是什么?
您基本上在AWS Lambda中点击了Lambda函数。处理程序是Lambda函数中处理事件的方法。调用函数时,运行时将运行处理程序方法。当处理程序退出或返回响应时,它可用于处理另一个事件。
AWS Lambda Function Handler in Node.js
此nodejs代码中exports.handler的用途是什么?
我正在探索AWS开发工具包,并且遇到了用于Amazon connect的代码。
const AWS = require('aws-sdk');
AWS.config.update({ region: 'us-east-1' });
console.log('initiated')
exports.handler = (event, context, callback) => {
console.log('Running...')
let connect = new AWS.Connect();
console.log('Connect...')
const customerName = event.name;
const customerPhoneNumber = event.number;
const dayOfWeek = event.day;
let params = {
"InstanceId" : '12345l-abcd-1234-abcde-123456789bcde',
"ContactFlowId" : '987654-lkjhgf-9875-abcde-poiuyt0987645',
"SourcePhoneNumber" : '+1123456789',
"DestinationPhoneNumber" : customerPhoneNumber,
"Attributes" : {
'name' : customerName,
'dayOfWeek' : dayOfWeek
}
}
connect.startOutboundVoiceContact(
params, function (error, response){
if(error) {
console.log(error)
callback("Error", null);
} else
{
console.log('Initiated an outbound call with Contact Id ' + JSON.stringify(response.ContactId));
callback(null, 'Success');
}
}
);
};
console.log('completed')
当我以standalone代码(例如node test.js
)运行时,我同时收到以下日志,并且代码终止。
node test.js
initiated
completed
为什么exports.handler
内部的代码未运行?还是异步运行?如果是这样,我如何以node test.js
之类的独立方式运行此代码?
exports.handler是由路由器调用的入口点。
通常在expressjs路由器中,需要两个最小参数。第一个是URL,第二个是处理程序。所以当你点击URL
app.get('/',handler)
const handler = function (req, res) {
res.send('Hello World!')
}
所以现在您的问题是在此nodejs代码中exports.handler的用途是什么?
您基本上在AWS Lambda中点击了Lambda函数。处理程序是Lambda函数中处理事件的方法。调用函数时,运行时将运行处理程序方法。当处理程序退出或返回响应时,它可用于处理另一个事件。
AWS Lambda Function Handler in Node.js