PostgREST 9.0.0-ի թողարկում՝ տվյալների բազան RESTful API-ի վերածելու հավելումներ

Թողարկվել է PostgREST 9.0.0-ը՝ առանձին գործող վեբ սերվեր՝ PostgreSQL DBMS-ի թեթև հավելման ներդրմամբ՝ գոյություն ունեցող տվյալների բազայից օբյեկտները թարգմանելով RESTful API-ի: Փոխհարաբերական տվյալները օբյեկտների (ORMs) քարտեզագրելու փոխարեն, PostgREST-ը դիտումներ է ստեղծում անմիջապես տվյալների բազայում: Տվյալների բազան նաև իրականացնում է JSON պատասխանների սերիականացում, տվյալների վավերացում և թույլտվություն: Համակարգի աշխատանքը բավարար է տիպիկ սերվերի վրա վայրկյանում մինչև 2000 հարցում մշակելու համար: Ծրագրի կոդը գրված է Haskell-ում և տարածվում MIT լիցենզիայի ներքո:

Օրինակ, օգտագործելով միայն տվյալների բազայի արտոնությունների մեխանիզմը, դուք կարող եք մուտք գործել տվյալների (աղյուսակներ, դիտման տեսակներ և պահված ընթացակարգեր) HTTP-ի միջոցով: Այս դեպքում նման թարգմանությունը կոդավորելու կարիք չկա, և սովորաբար մեկ GRANT հրամանը բավական է REST API-ի միջոցով աղյուսակը հասանելի դարձնելու համար։ Հնարավոր է կարգավորել մուտքն ըստ նշանի (JWT) և կազմակերպել «բազմաֆունկցիոնալություն»՝ օգտագործելով տողերի մակարդակի դինամիկ անվտանգության (Row Level Security):

Ճարտարապետական ​​առումով PostgREST-ը մղում է դեպի տվյալների վրա հիմնված ճարտարապետություն (Տվյալների վրա հիմնված ճարտարապետություն), որտեղ միկրոսերվիսներն իրենք չեն պահպանում վիճակները, այլ դրա համար օգտագործում են տվյալների մեկ մուտք (Տվյալների հասանելիության շերտ):

PostgREST 9.0.0-ի թողարկում՝ տվյալների բազան RESTful API-ի վերածելու հավելումներ

Նոր տարբերակի փոփոխություններից.

  • Բաժանված աղյուսակները ավելացվել են պահեստավորման սխեմայի քեշին, ինչը հնարավորություն է տվել նման աղյուսակներին տեղադրել UPSERT և INSERT գործողությունները Location պատասխանում, կատարել OPTIONS հարցումներ և իրականացնել OpenAPI աջակցություն:
  • RPC POST-ի միջոցով թույլատրվում է ֆունկցիաներ կանչել մեկ անանուն պարամետրով։
  • Թույլատրվում է ֆունկցիաներ կանչել մեկ JSON պարամետրով՝ առանց «Prefer: params=single-object» վերնագրի։
  • Թույլատրվում է բայթի տիպի տվյալները բեռնել ֆունկցիաների մեջ՝ օգտագործելով «Բովանդակության տեսակը. հավելված/օկտետ հոսք» հարցումները:
  • Թույլատրվում է բեռնել տեքստը գործառույթների մեջ՝ օգտագործելով հարցումներ «Բովանդակության տեսակ՝ տեքստ/պարզ»:
  • Ավելացվեց կրկնակի փակագծերում նիշերի փախուստի աջակցություն, օրինակ՝ «?col=in.(«Double\»Quote»), ?col=in.(«Back\\slash»)»:
  • Ապահովված է առաջին մակարդակի ռեսուրսները զտելու հնարավորություն՝ հիմնված ներկառուցված զտիչների վրա (“/projects?select=*,clients!inner(*)&clients.id=eq.12”:
  • «է» օպերատորը թույլ է տալիս «անհայտ» արժեքը:
  • PostgreSQL 14-ի հետ համատեղելիությունը ձեռք է բերվել, և PostgreSQL 9.5-ի աջակցությունը դադարեցվել է:

Source: opennet.ru

Добавить комментарий