Git Product home page Git Product logo

step-function-lambda-terraform-poc's Introduction

step-function-lambda-terraform-poc

First steps

  1. Install Terraform
  2. (Optional) Install Localstack, requires to do configuration to run properly
  3. Set your credentials:
    export AWS_ACCESS_KEY_ID=your-key-id
    export AWS_SECRET_ACCESS_KEY=your-secret-access-key
  4. Create a copy of terraform.tfvars.example to terraform.tfvars
  5. Create the infra:
    terraform init
    terraform plan
    terraform apply
  6. After testing it, destroy the resources, we don't want to spend money! ;)
    terraform destroy

Lambda

aws lambda list-functions
aws lambda invoke --function-name <<lambda-name>> --cli-binary-format raw-in-base64-out --payload '<<payload>>' /tmp/output.txt && cat /tmp/output.txt

Step Function

aws stepfunctions list-executions --state-machine-arn <<state-machine-arn>>
aws stepfunctions start-execution --state-machine-arn <<state-machine-arn>>
aws stepfunctions get-execution-history --execution-arn <<execution-arn>>

Diagram

graph TD
  id1([START]) --> long-running-lambda
  long-running-lambda --> random-number-generator-lambda-config
  random-number-generator-lambda-config --> random-number-generator-lambda
  random-number-generator-lambda --> id2{send-notification-if-less-than-5}
  id2 -->|less than 5| send-multiple-notification
  id2 -->|greater than or equals to 5| power-of-three-lambda
  power-of-three-lambda --> id3([END])
  send-multiple-notification --> id3

Logs

aws logs describe-log-groups
aws logs describe-log-streams --log-group-name "<<log-group-name>>" --order-by 'LastEventTime'
aws logs get-log-events --log-group-name "<<log-group-name>>" --log-stream-name "<<log-stream-name>>"

step-function-lambda-terraform-poc's People

Contributors

smontiel avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.