Tämä dokumentaatio kattaa Azure Functions -sovelluksen, joka on kehitetty ratkaisemaan ePerusteet REST API:n puutteita. Sovelluksen avulla pystymme hakemaan tarvittavat tiedot ePerusteista, käsittelemään ne ja tallentamaan MongoDB-tietokantaan (Azure Cosmos DB). Tämä dokumentaatio auttaa käyttäjiä ymmärtämään sovelluksen toimintaa ja käyttämään sen toimintoja.
ePerusteet REST API on ajoittain hidas, ja joskus tietyt rajapinnat eivät ole käytettävissä. Lisäksi tiukat CORS-säännöt vaikeuttavat suoria API-kutsuja front-endistä. Näiden ongelmien ratkaisemiseksi olemme kehittäneet Azure Functions -sovelluksen, joka:
'0 0 0 * * *'
(joka päivä klo 00:00)/api/manualUpdateEperusteet
/api/getDegrees
pageNumber
: Sivunumero (oketus: 1)pageSize
: Sivun koko (oletus: 10)s
: hakusana tutkinnon nimelle (vapaaehtoinen)propName
: projektioparametri (vapaaehtoinen, useita arvoja)curl "https://<function-app-name>.azurewebsites.net/api/getDegrees?pageNumber=1&pageSize=20&s=hammastekn&propName=name"
, tämä esimerkki palauttaa ainoastaan tuloksia joiden nimi sisältää osan “hammastekn”, jokaisesta tuloksesta palautetaan vain name property sillä “propName=name” on määritetty. tuloksia sivulle annetaan max 20 kpl ja esitetty sivu on 1./api/getDegreeById/{id}
TODO: Check the pathdegreeId
: Tutkinnon Mongo documentin IDcurl "https://<function-app-name>.azurewebsites.net/api/getDegreeById?degreeId=12345"
git clone https://github.com/VirittamoHelsinki/saukko-app.git
cd saukko-app/functions
npm install
.env
tiedosto functions projektin juureen ja lisää tarvittavat ympäristömuuttujat
ENVIRONMENT=production | development |
npm run start
ENVIRONMENT : Määriittää mitä ympäristöä käytetään development |
production |
MONGODB_URI_DEV
: Projektin kehitysversion MongoDB yhteysmerkkijono (ConnecitonString)MONGODB_URI_PROD
: Tuotantoversion MongoDB yhteysmerkkijono (ConnectionString), siinä tapauksessa jos projektia on tarkoituksenmukaista ajaa tyotantoympäristössä. Kuitenkaan tämä ei ole suositeltavaa devatessa.Tämä on tärkeä osio sovelluksen toiminnan sekä resurssi-turvallisuuden kannalta. Käy tämä osio huolellisesti läpi tästä linkinstä CORS-DOCS
resource groups
ja valitse Resource groupssaukko-<env>-fn-<uniq-str>
essentials
osiossa, sivun yläosassa/api
. Osoitteen tulisi näyttää suurinpiirtein tältä: https://saukko-<env>-fn-<uniq-str>.azurewebsites.net/api