Skip to content

Latest commit

 

History

History
69 lines (51 loc) · 1.68 KB

README.md

File metadata and controls

69 lines (51 loc) · 1.68 KB

queueprocessor

Process queued items from SQS via Aws lambda function and put them in S3 bucket as a we page.

Installation:

  • Node.js
  • AWS CLI
  • Serverless framework: npm install -g serverless

Setup:

  • Create an user in AWS IAM with apt rights eg: sls-usr.
  • Configure Serverless framework in your system with the user profile (created in previous step) by providing key and secret: serverless config credentials --provider aws --key key-created-for-sls-usr --secret sls-usr-secret --profile sls-usr

Create a lambda function by using serverless create:

sls create --template aws-nodejs
sls create -t aws-nodejs
sls create -t aws-nodejs --path folder-path

Open serverless.yml : Check service, providers (name, runtime, profile: sls-user-name, region) Also set profile to the user above sls-usr

Update the code in handler.

To deploy: sls deploy -v

To test the function: sls invoke --function functionName --logs

Test function locally: sls invoke local --function functionName


To locally debug via VS Code:

  • Install serverless as a dev dependency npm install serverless -D
  • Add launch.json in .vscode:
{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Debug process",
            "program": "${workspaceFolder}\\node_modules\\serverless\\bin\\serverless",
            "args": ["invoke", "local", "-f", "process", "--data", "{}"]
        }
    ]
}

After updating a function in order to avoid updating whole stack, we can update a single function by: sls deploy function --function functionName

To fetch logs: sls logs -f functionName -t

Cleanup: sls remove