PostgREST, API REST airson stòr-dàta PostgreSQL sam bith sgrìobhte ann an Haskell

postgREST-suaicheantas

PostgREST na fhrithealaiche lìn neo-eisimeileach a tha cruth-atharrachadh stòr-dàta PostgreSQL sam bith gu dìreach gu API RESTful. Sgrìobhte ann an Haskell, a ’tabhann AP tòrr nas glaine, a tha a’ gèilleadh ri inbhean. Ged a tha cuingealachaidhean structarail agus ceadan an stòr-dàta a ’dearbhadh puingean-crìochnachaidh agus obair an API.

Tha na sgrìobhainnean PostgREST a ’toirt cunntas air mar" roghainn eile an àite prògramadh CRUD làimhe. " Tha PostgREST na mheadhanware stòr fosgailte agus tha na APIan a tha PostgREST a ’nochdadh a’ gèilleadh ri sònrachadh OpenAPI (air an robh an t-sònrachadh Swagger roimhe). A rèir na sgrìobhainnean aige, bidh e gu dùthchasach a ’riaghladh na h-eisimeileachd eadar na clàran stòr-dàta agad, a’ toirt cothrom dhut tro iarrtas sìmplidh REST dàta fhaighinn air ais bho cheangal eadar dà chlàr.

Bhiodh PostgREST gu math luath le ùine freagairt nas lugha na diog airson suas ri 2000 iarrtas gach dàrna fear air an t-sreath an-asgaidh Heroku.

“Ma tha thu cleachdte ri luchd-frithealaidh sgrìobhte ann an cànanan eadar-mhìneachaidh, ullaich gu bhith a’ cur iongnadh ort le coileanadh PostgREST, ”arsa an sgioba.

Tha trì factaran a ’cur ris an astar seo a rèir na sgioba.

  1. Primero, tha an frithealaiche sgrìobhte ann an Haskell a ’cleachdadh frithealaiche HTTP Warp (cànan cruinnichte).
  2. An uairsin tiomnadh uiread de àireamhachadh sa ghabhas chun stòr-dàta, a ’toirt a-steach seirbheiseachadh freagairtean JSON gu dìreach a-steach do SQL, a’ dearbhadh dàta, msaa.
  3. Mu dheireadh, cleachd leabharlann Hasql gus cruinneachadh de cheanglaichean stòr-dàta a chumail suas, am protocol binary PostgreSQL, agus tha e gun stàit gus leigeil le sgèileadh còmhnard.

PostgREST a ’làimhseachadh dearbhadh (tro JSON Web Tokens) agus tiomnadh ùghdarras don fhiosrachadh dreuchd a tha air a mhìneachadh san stòr-dàta. Bidh seo a ’dèanamh cinnteach nach eil ann ach aon stòr dearbhaidh airson fìrinn.

Nuair a bhios tu a ’dèiligeadh ris an stòr-dàta, bidh an frithealaiche a ’gabhail ri dearbh-aithne an neach-cleachdaidh a tha dearbhte an-dràsta agus tron ​​cheangal chan urrainn dha dad a dhèanamh nach urrainn don neach-cleachdaidh fhèin a dhèanamh. Faodar seòrsachan dearbhaidh eile a thogail anns an JWT primitive.

Air an làimh eile nuair a thig e gu ionracas dàta, PostgREST an àite a bhith an urra ri Mapa Dàimheil Rud (ORM) agus còdachadh gnàthach àbhaisteach, tha an siostam seo a ’cur cuingealachaidhean dearbhach gu dìreach air an stòr-dàta agad.

Mar sin, chan urrainn dha tagradh sam bith cron a dhèanamh air an dàta agad (a ’toirt a-steach do fhrithealaiche API). Bidh PostgREST a ’nochdadh an eadar-aghaidh HTTP le diofar chùl-taic gus duilgheadasan a sheachnadh, a’ gabhail a-steach cuir a-steach iarrtasan PUT. Ann am faclan eile, chan eil ORM an sàs.

Tha cruthachadh bheachdan ùra a ’tachairt ann an SQL le buaidh coileanaidh aithnichte. Is e an rud sgoinneil mu PostgREST gum faod rianadair stòr-dàta API a chruthachadh bhon fhìor thoiseach gun phrògramadh àbhaisteach.

Dha cuid, Tha PostgREST cuideachd na roghainn inntinneach eile an àite stòr-dàta NoSQL no GraphQL fosgailte gu dùthchasach ann an API ma dh ’fheumas tu modal dàimh a chumail suas. Tha iad ga fhaighinn mì-fhortanach nach eil am meadhanware seo ri fhaighinn mar ìre àbhaisteach ann an stòran pacaid sgaoilidhean mòra Linux.

Mar a stàlaicheas tu PostgREST air Linux?

Chaidh dreach 6.0.2 fhoillseachadh san Lùnastal an-uiridh le cur-ris ùr agus cuid de dh ’atharrachaidhean. Gheibhear an dreach seo bho github.

Is e seo an ceangal.

San aon dòigh, dhaibhsan aig a bheil ùidh ann a bhith comasach air PostgREST a stàladh, bu chòir fios a bhith aca gum faighear an dreach làithreach an-dràsta le cuideachadh bho neach-crìochnachaidh. Is ann dìreach ann a tha sinn a ’dol a thaidhpeadh:

wget https://github.com/PostgREST/postgrest/releases/download/v6.0.2/postgrest-v6.0.2-linux-x64-static.tar.xz

A-nis feumaidh iad am pasgan fhosgladh leis an àithne a leanas:

tar Jxf postgrest-v6.0.2-linux-x64-static.tar.xz

Fhad ‘s a tha iad airson cùis shònraichte an fheadhainn a chleachdas dreach 64-bit de Ubuntu:

wget https://github.com/PostgREST/postgrest/releases/download/v6.0.2/postgrest-v6.0.2-ubuntu.tar.xz
tar Jxf postgrest-v6.0.2-ubuntu.tar.xz

No dhaibhsan a tha a ’cleachdadh dreach 32-bit de Ubuntu

wget https://github.com/PostgREST/postgrest/releases/download/v6.0.2/postgrest-v6.0.2-ubuntui386.tar.xz
tar Jxf postgrest-v6.0.2-ubuntui386.tar.xz

Agus faodaidh iad ruith le:

./postgrest --help

San aon dòigh, tha ìomhaigh Docker air ullachadh, gheibhear e le bhith a ’taipeadh:

docker slaodadh postgrest / postgrest

Mu dheireadh, gheibh thu barrachd fiosrachaidh mu dheidhinn mar a chaidh a dhealbhadh, bhon sgrìobhainnean air an làrach-lìn aige. Is e seo an ceangal.


Tha susbaint an artaigil a ’cumail ri na prionnsapalan againn de moraltachd deasachaidh. Gus aithris a dhèanamh air mearachd cliog an seo.

Bi a 'chiad fhear a thog beachd

Fàg do bheachd

Seòladh-d cha tèid fhoillseachadh.

*

*

  1. Uallach airson an dàta: Miguel Ángel Gatón
  2. Adhbhar an dàta: Smachd air SPAM, riaghladh bheachdan.
  3. Dìleab: Do chead
  4. Conaltradh an dàta: Cha tèid an dàta a thoirt do threas phàrtaidhean ach a-mhàin fo dhleastanas laghail.
  5. Stòradh dàta: Stòr-dàta air a chumail le Occentus Networks (EU)
  6. Còraichean: Aig àm sam bith faodaidh tu am fiosrachadh agad a chuingealachadh, fhaighinn air ais agus a dhubhadh às.