Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Not compatible on Lambda Node.js 8.10 #33

Closed
harleyguru opened this issue Jul 11, 2018 · 8 comments
Closed

Not compatible on Lambda Node.js 8.10 #33

harleyguru opened this issue Jul 11, 2018 · 8 comments

Comments

@harleyguru
Copy link

harleyguru commented Jul 11, 2018

I have one lambda node.js 8.10 function of importing just this module.
But it gets module initialization error on Lambda.

This issue needs to be fixed ASAP.

Here are some details:

'use strict';

var mws = require('amazon-mws')(process.env.ACCESS_KEY_ID, process.env.SECRET_ACCESS_KEY);

module.exports.handler = async event => {
    console.log(JSON.stringify(event));

    return;
};

Of course, I am setting environment variables correctly and cofirmed.
This simple code will get error on Lambda.

I attached CloudWatch log for this lambda function.
screen shot 2018-07-11 at 7 24 01 pm

@harleyguru
Copy link
Author

btw, this is working well on my local machine(macOS 10.13.1) and I've confirmed.
But when we deploy it on Lambda, it's not working.

@bhushankummar
Copy link
Owner

bhushankummar commented Jul 13, 2018

@harleyguru
Kindly debug it on Lambda whether this value is coming or not process.env.ACCESS_KEY_ID and process.env.SECRET_ACCESS_KEY.
This should come during intiatlization of the library.

consoel.log('process.env.ACCESS_KEY_ID, process.env.SECRET_ACCESS_KEY' , process.env.ACCESS_KEY_ID, process.env.SECRET_ACCESS_KEY);
var mws = require('amazon-mws')(process.env.ACCESS_KEY_ID, process.env.SECRET_ACCESS_KEY);

@harleyguru
Copy link
Author

Oh @bhushankumarl Thanks for your suggestion,
I will try and find the problem.

@harleyguru
Copy link
Author

@bhushankumarl , this is the issue with this module itself.
I am getting correct passed env values on Lambda function.
This is really weird issue...
Please help me.

@harleyguru
Copy link
Author

harleyguru commented Jul 13, 2018

@bhushankumarl

var MWS = require('amazon-mws');

module.exports.handler = async event => {
    console.log(JSON.stringify(event));

    return;
}

I deploy my Lambda function with only this simple code.
I just tried to import only amazon-mws module.
But getting same error on Lambda...

START RequestId: 2d9e9eef-157a-497a-95f0-e579d83b0206 Version: $LATEST
module initialization error: Error
    at Object.Module._extensions..node (module.js:681:18)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at bindings (/var/task/functions/node_modules/bindings/bindings.js:81:44)
    at Object.<anonymous> (/var/task/functions/node_modules/node-expat/lib/node-expat.js:4:32)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
END RequestId: 2d9e9eef-157a-497a-95f0-e579d83b0206
REPORT RequestId: 2d9e9eef-157a-497a-95f0-e579d83b0206  Duration: 96.89 ms      Billed Duration: 100 ms         Memory Size: 128 MBMax Memory Used: 22 MB

This is the error I am getting.
It seems node-expat&node-gyp sub-modules have some issues.
You don't see this error on Lambda?

@raymatos
Copy link
Contributor

What was the solution here?

@harleyguru
Copy link
Author

@raymatos
node-expat & node-gyp modules were native packages deeply related with running OS.
That means you need to install them on the acctually deployed OS environment.

In my case, I deploy and run my app on Lambda.
The solution is to dockerize.

@raymatos
Copy link
Contributor

Can you post your dockerfile?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants