Skip to content

Producing a Package From Source

Joe Schmitt edited this page Jun 28, 2017 · 1 revision

Check out the master branch and then do an npm install at the project root. Once all the dependencies are installed you have 2 options for deployment:

Manually package and upload

Run npm run package, which will create an alexa-libby.zip file in your project directory. From there you can follow the same instructions as using the pre-packaged zip file.

Deploy from the command line

You can also use node-lambda to deploy to your Lambda function directly from the command line. After running npm install, a .env file was created in the root of the project. Open the .env file and enter the 3 missing pieces of information necessary for deployment:

  1. Your AWS Access Key Id
  2. Your AWS Secret Access Key
  3. The role used to execute the function. This will be in the format of arn:aws:iam::ACCOUNT_ID:role/ROLENAME

You can get an access key id and secret by creating a new user in the IAM console. Make sure you enable the "Programmatic access" access type. For the role, just click on the Roles tab, choose a role, and copy its ARN. Make sure your user has access to create lambda functions. Unless you're an AWS IAM wizard, choosing the AWSLambdaFullAccess should work.

Finally, run npm run deploy and if you set everything up correctly, it should finish successfully and you'll now have a function on lambda called alexa-libby. If this is the first time you've created this function, you'll also have to make sure to go to the lambda console, edit your function, click on "Triggers", and set "Alexa Skills Kit" as your trigger. If you're just updating an existing function, then you're fine. Please visit the node-lambda project page for more information on deploying from the command line.