Skip to content

Instantly share code, notes, and snippets.

View dhavaln's full-sized avatar
💭
I may be slow to respond.

Dhaval Nagar dhavaln

💭
I may be slow to respond.
View GitHub Profile
@dhavaln
dhavaln / handler.js
Created June 8, 2019 15:13
Serverless Hello World Layer Dependency
'use strict';
const
moment = require('moment');
module.exports.helloWorld = (event, context, callback) => {
const response = {
statusCode: 200,
headers: {
'Access-Control-Allow-Origin': '*', // Required for CORS support to work
},
@dhavaln
dhavaln / output.txt
Created June 8, 2019 15:11
Serverless Hello World Layer Deployment Output
Serverless: Packaging service...
Serverless: Excluding development dependencies...
Serverless: Excluding development dependencies...
Serverless: Uploading CloudFormation file to S3...
Serverless: Uploading artifacts...
Serverless: Uploading service .zip file to S3 (1.07 KB)...
Serverless: Uploading service .zip file to S3 (839 KB)...
Serverless: Validating template...
Serverless: Updating Stack...
Serverless: Checking Stack update progress...
@dhavaln
dhavaln / serverless.yml
Created June 8, 2019 14:58
Serverless Hello World Layer
service: serverless-layers
# The `provider` block defines where your service will be deployed
provider:
name: aws
runtime: nodejs8.10
environment:
NODE_PATH: "./:/opt/node_modules"
# layers
@dhavaln
dhavaln / serverless.yml
Created June 8, 2019 14:55
Serverless Hello World
service: serverless-layers
# The `provider` block defines where your service will be deployed
provider:
name: aws
runtime: nodejs8.10
# The `functions` block defines what code to deploy
functions:
helloWorld:
@dhavaln
dhavaln / handler.js
Created June 8, 2019 14:53
Serverless Hello World
'use strict';
module.exports.helloWorld = (event, context, callback) => {
const response = {
statusCode: 200,
headers: {
'Access-Control-Allow-Origin': '*',
},
body: JSON.stringify({
message: `Hello World`
@dhavaln
dhavaln / package.json
Created June 8, 2019 14:52
moment-layer package.json
{
"name": "moment-layer",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
@dhavaln
dhavaln / IsItFriday.js
Last active May 25, 2019 08:42
IsItFriday Step Function
exports.handler = async (event) => {
const day = new Date().toDateString().substr(0,3);
const checkDay = 'Fri';
const dayLen = 24 * 60 * 60 * 1000;
const weekDays = [
new Date().toDateString().substr(0,3),
new Date(new Date().getTime() + (1 * dayLen)).toDateString().substr(0,3),
new Date(new Date().getTime() + (2 * dayLen)).toDateString().substr(0,3),
new Date(new Date().getTime() + (3 * dayLen)).toDateString().substr(0,3),
@dhavaln
dhavaln / IsItFridayYet-SF.json
Last active May 25, 2019 08:35
AWS Step Functions
{
"StartAt": "CheckDay",
"States": {
"CheckDay": {
"Type": "Task",
"Resource": "arn:aws:lambda:XXXXXXXXXX:XXXXXXXXXX:function:XXXXXXXX",
"Next": "IsItFriday"
},
"IsItFriday": {
"Type": "Choice",
@dhavaln
dhavaln / index.js
Created May 1, 2019 17:41
S3 Select query from NodeJS
const
AWS = require('aws-sdk'),
{ Readable } = require('readable-stream');
const s3 = new AWS.S3({
region: 'ap-northeast-2'
});
s3SelectQuery = (query) => {
return new Promise((resolve, reject) => {
@dhavaln
dhavaln / index.js
Created April 22, 2019 19:03
Firing Athena Queries from AWS Lambda
const
aws = require("aws-sdk"),
AthenaExpress = require("athena-express");
const awsCredentials = {
region: "ap-northeast-2"
};
aws.config.update(awsCredentials);
const athenaExpressConfig = { aws };