Skip to content

Repository for course CSYE 6225 Network Structures and Cloud Computing offered by Northeastern University and taken in Spring 2024.

License

Notifications You must be signed in to change notification settings

Abhinav-Choudhary/Serverless

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

GCP (Google Cloud) Serverless Lambda Function

This Lambda function is designed to handle events triggered by an GCP Pub/Sub topic. The primary purpose of this function is to process messages received from the GCP topic, retrieve username from message, sent verification email to user and update Cloud SQL database.

Linked Repositories

Explore the 2 additional repositories that complement this project, housing code for the REST-based CRUD operations APIs (Webapp) crafted in Java Enterprise Edition (J2EE), and the Infrastructure as Code (IaC) crafted in Terraform.
Webapp
Infrastructure as Code

Functionality

This function performs following tasks:

  • Retrieve base64 decoded body from GCP topic
  • Decode the body and parse the JSON generated to retrieve username
  • Send a verification email to the user using SMTP from Mailgun
  • Update database to reflect email sent

Environment Variables

Following environment variables are present:

  • SMTP_HOST
    • default = "smtp.mailgun.org"
  • SMTP_PORT
    • default = 587
  • SMTP_USERNAME
  • SMTP_PASSWORD
  • SMTP_VERIFICATION_LINK
  • SMTP_FROM_EMAIL
    • From email address to send the mail
  • DB_HOST_IP
    • Private IP of Cloud SQL instance
  • DB_USER
    • User for CLoud SQL instance
  • DB_PASSWORD
    • Password for Cloud SQL instance
  • DB_DATABASE
    • Database name for Cloud SQL instance
  • DB_TABLE
    • Table name for Cloud SQL instance

About

Repository for course CSYE 6225 Network Structures and Cloud Computing offered by Northeastern University and taken in Spring 2024.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages