У меня есть функция в node.js , которая должна быть размещена как лямбда в AWS . Но прежде чем разместить его, нам нужно проверить, правильно ли работает эта функция. Я пытался запустить функцию, используя lambda-local . Но проблема в том, что в моей логике есть внешние HTTP-вызовы. Я использую Axios для этого, но я получаю ответ как undefined . Есть ли способ поразить эти внешние конечные точки HTTP и получить ответ?
Ниже приведен журнал командной строки. Заранее спасибо.
D:\Billing_&_Consumption\P2D-Phase2 - Billings\POC\scripts\controller>lambda-local -l DocumentsHandler.js -h getDocumentsList -e event.js
warning Using both auth systems: aws_access_key/id and secret_access_token !
info: START RequestId: 155ee184-1a7b-464a-eeac-d5593bde5abe
Response: undefined
TypeError: Cannot read property 'access_token' of undefined
at Object.DocumentsController.getDocumentsList (D:\Billing_&_Consumption\P2D-Phase2 - Billings\POC\scripts\controller\DocumentsController.js:26:87)
at Object._executeSync (C:\Users\429732\AppData\Roaming\npm\node_modules\lambda-local\lib\lambdalocal.js:169:47)
at Object._execute [as execute] (C:\Users\429732\AppData\Roaming\npm\node_modules\lambda-local\lib\lambdalocal.js:40:22)
at C:\Users\429732\AppData\Roaming\npm\node_modules\lambda-local\bin\lambda-local:133:21
at Object.<anonymous> (C:\Users\429732\AppData\Roaming\npm\node_modules\lambda-local\bin\lambda-local:169:3)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
error: End - Error
error: ------
error: {
"errorMessage": "Cannot read property 'access_token' of undefined",
"errorType": "TypeError",
"stackTrace": [
"Object.DocumentsController.getDocumentsList (D:\\Billing_&_Consumption\\P2D-Phase2 - Billings\\POC\\scripts\\controller\\DocumentsController.js:26:87)",
"Object._executeSync (C:\\Users\\429732\\AppData\\Roaming\\npm\\node_modules\\lambda-local\\lib\\lambdalocal.js:169:47)",
"Object._execute [as execute] (C:\\Users\\429732\\AppData\\Roaming\\npm\\node_modules\\lambda-local\\lib\\lambdalocal.js:40:22)",
"C:\\Users\\429732\\AppData\\Roaming\\npm\\node_modules\\lambda-local\\bin\\lambda-local:133:21",
"Object.<anonymous> (C:\\Users\\429732\\AppData\\Roaming\\npm\\node_modules\\lambda-local\\bin\\lambda-local:169:3)",
"Module._compile (module.js:652:30)",
"Object.Module._extensions..js (module.js:663:10)",
"Module.load (module.js:565:32)",
"tryModuleLoad (module.js:505:12)",
"Function.Module._load (module.js:497:3)"
]
}
error: ------
error: Lambda failed in 135ms.
Я могу предоставить вам вызов axios, его разрешение и отклонение
public getAccessToken(): AxiosPromise<any> {
return axios({
method: 'post',
url: `${URL}`,
data: this.data,
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
});
}
Service.ts
this.documentStoreBroker.getAccessToken()
.then((token: any) => {
console.log(token);
return new ADSAccessToken(token);
})
.catch(error => {
console.log(error);
throw new InternalServerError('99x100');
});
}