Giter VIP home page Giter VIP logo

tnits2's Introduction

TN-ITS 2.0

Sisältää TN-ITS CEN TS 17268 standardin mukaan toteutetut API sekä konversio toteutukset. Toteutus pitää sisällään neljä lambda funktiota (konversio, validointi, datasettien listaus sekä datasetin luku).

Projektin kloonaaminen omalle koneelle

git clone https://github.com/finnishtransportagency/tnits2.git

Lambdojen testaaminen lokaalisti

Lamdojen testaamiseen lokaalisti hyödynnetään AWS SAM CLI komentorivityökalua.

Testaamisessa hyödynnetään dev ympäristön resursseja (s3, roolit yms). Jotkin tuotannossa käytössä olevat lambda eventit on otettu käsin pois käytöstä dev ympäristöstä testauksen helpottamiseksi.

Testaamisessa käytettävät tiedostot

  • ./aws/sam/template.yaml Funktioiden testaamiseen käytettävä SAM template
  • ./env.json Sisältää testaamiseen tarvittavat ympäristömuuttujat lambdoille
  • "Events" kansiosta löytyy testi eventit lambdoille. Huom! Viitattavien tiedostojen on sijaittava oikeasti dev ympäristön s3 bucketissa. Validointi lambdan eventissä oleva object key tulee olla url enkoodattu.

Testaaminen lambdojen omilla rooleilla

Jotta lambdoja voitaisiin testata oikeilla pääsyoikeuksilla, tulee koneen .aws/config tiedostoon lisätä tiedot jokaiselle lambdan roolille, jotta niitä voidaan käyttää testaamisessa.

[profile LambdaRoleName]
role_arn = arn:aws:iam::ACCOUNT_ID:role/LAMBDA_ROLE_NAME
source_profile = vaylaapp
output = json
region = eu-west-1
  • [profile LambdaRoleName] Korvaa kuvaavalla nimellä. Tätä käytetään myöhemmin sam local invoke kutsun yhteydessä --profile option kanssa.
  • account_id Korvaa oikealla AWS account id:llä
  • lambda_role_name Korvaa oikealla funktion dev ympäristön roolilla.

Lokaali debug

sam build -t aws/sam/template.yaml --region REGION
sam local invoke LAMBDA_NAME --profile LAMBDA_ROLE_NAME --region REGION --env-vars env.json --event PATH_TO_EVENT_JSON --log-file debug.log
  • "sam build" muodostaa container imagen. Ajetaan aina muutoksien jälkeen.
  • "sam local invoke" käynnistää lokaalin lambda funktion annetuilla parametreilla

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.