Bidh gnìomhan Yandex a’ cur post

Bidh gnìomhan Yandex a’ cur post

An-diugh cruthaichidh sinn an rud ris an canar. Gnìomh Yandex (ainm oifigeil Gnìomhan Yandex Cloud), a bha an sàs anns an t-seirbheis puist SendGrid cuiridh sinn “siabann” gu luchd-cleachdaidh a tha a ’cadal gu sìtheil (dìreach a’ magadh - tha fios agam gu bheil sinn uile an-aghaidh spam).

Tha mi cuideachd na neach-dùbhlain (ach às aonais fanaticism) de luchd-frithealaidh traidiseanta, agus neach-taic ris an canar. gun fhrithealaiche (gun fhrithealaiche), oir cha toil leam (agus chan eil fios agam ciamar a nì mi) luchd-frithealaidh a rianachd, agus eadhon nas motha na sin, pàigh airson na h-ùine nuair nach eil iad air an luchdachadh. Is e rud eile gnìomhan. Bidh cuideigin gan seirbheis às aonais mise, agus cha phàigh mi ach airson fiosan. Aig toiseach an Dàmhair 2019, thaisbean Yandex a Gnìomhan Yandex Cloud - tha e coltach gur e seo a’ chiad fhear ann an Caidreachas na Ruis gun fhrithealaiche. Agus is e an rud a tha gu sònraichte snog gu bheil iad an-asgaidh airson sgilean Alice mar as trice, agus mar sin tha iad air a bhith nam lèirsinn iomaill bhon uair sin. Ach leig dhuinn tòiseachadh mar-thà.

Smaoinich sinn air an t-suidheachadh seo. An tagradh agad (mar eisimpleir, sgil Alice Cuimhnich agus Dearmad a tha, leis an t-slighe, cuideachd ag obair air adhart Gnìomhan airson Yandex) a’ toirt cuireadh don neach-cleachdaidh toradh didseatach a cheannach, mar eisimpleir, roghainnean a bharrachd, agus bidh an neach-cleachdaidh a’ pàigheadh. Seòrsa de shiostam pàighidh (gu mì-chinnteach coltach ri Yandex.Money) pròiseas a’ phàighidh agus ga chuir chun t-seòladh a bheir thu seachad (agus bidh ceangal againn ri ghairm Gnìomhan airson Yandex) HTTP- iarrtas anns a bheil mion-fhiosrachadh pàighidh, leithid suim, làn ainm, àireamh fòn agus post-d an neach-pàighidh. Tha sinn airson an dàta seo a phròiseasadh ann an dòigh air choireigin, mar eisimpleir: thoir sùil air an t-suim, dèan inntrigidhean iomchaidh san stòr-dàta, cuir gu luchd-cleachdaidh SMS и Seòladh post-dealain le dearbhadh gun d’ fhuaireadh pàigheadh ​​agus tuilleadh stiùiridh. Mar sin thu fhèin meanbh-sheirbheis.

Mu ciamar bho Gnìomhan airson Yandex cuir a-steach san stòr-dàta Stòr Smàlaidh Cloud thug sinn sùil air san oideachadh mu thràth Tha cuimhne aig Alice air a h-uile càil (agus san àm ri teachd, tha mi a’ smaoineachadh, beachdaichidh sinn air eisimpleir airson stòr-dàta eile - Stòr-dàta Yandex.). Mu mar a chuireas tu gu luchd-cleachdaidh SMS agus fhilleadh a-steach don tagradh againn le Yandex.Airgead - rèitichidh sinn e a dh’ aithghearr. A-nis leig leinn dìreach dèiligeadh ri bhith a 'cur litrichean.

1. Cruthaich cunntas ann an SendGrid

thuirtIs e SendGrid dìreach mo roghainn, a rinn mi airson grunn adhbharan, is e am prìomh fhear gu bheil SDK deiseil aca airson Node.js. Faodaidh tu seirbheis puist sam bith eile a thaghadh.

Rachamaid air adhart gu duilleag clàraidh a’ chunntais agus lìon am foirm clàraidh an sin. An uairsin thèid sinn gu Dashboard, anns a 'phannal seòlaidh tagh Post-d API -> Iùl Amalachaidh, agus air a’ phrìomh phannal - API lìn agus an cnoc Tagh. Tha a h-uile dad mar a tha san dealbh:

Bidh gnìomhan Yandex a’ cur post

Anns an ath cheum bidh sinn a 'taghadh Node.js:

Bidh gnìomhan Yandex a’ cur post

An ath rud thig sinn suas airson ar cuid API-key name (thèid a thaisbeanadh a-mhàin anns a’ chonsail anns an liosta iuchraichean, agus chan eil gnothach sam bith aige ris a ’chòd againn san àm ri teachd; thàinig mi suas le do-chreidsinneach iuchair demo-api) agus brùth air a’ phutan Cruthaich iuchair:

Bidh gnìomhan Yandex a’ cur post

Thèid an iuchair a chruthachadh, nì sinn leth-bhreac dheth agus cumaidh sinn e anns a’ mhisneachd as doimhne. Agus bidh sgrion againn le putan Dearbhaich Integration, mar a tha san dealbh gu h-ìosal, ach cha bhriog sinn air fhathast, ach gluaisidh sinn air adhart gu bhith a’ sgrìobhadh a’ chòd:

Bidh gnìomhan Yandex a’ cur post

2. Còd sgrìobhaidh

Ach tha an còd fhèin, mar a chì thu, gu math beag - 22 loidhne!

Bidh gnìomhan Yandex a’ cur post

Ann an loidhne #8 Tha còd cruaidh air a’ phost-d agam (agus mar sin falaichte gu diùid) - feuch an innis thu do phost-d. Ann am fìor bheatha, gheibh sinn an dàta gu lèir (a ’toirt a-steach post-d) bho nì tachartas. Mar eisimpleir, ma tha an dòigh-obrach DÈIDH tha nì air a chuir gu ar gnìomh -cleachdaidh le achadh (seilbh) post-d, gheibhear luach an raoin seo mar seo:

const { user } = event;
const email = user.email;

Agus ma thèid an seòladh puist-d a chuir chun ghnìomh a’ cleachdadh an dòigh GETmar eisimpleir: https://functions.yandexcloud.net/123abc?[email protected]
luach paramadair post-d gheibh thu e mar seo:

const email = event.queryStringParameters.email;

Airson sùil a thoirt air dè dìreach a tha ann an nì tachartas, faodaidh tu an fheadhainn as sìmplidh a chruthachadh Gnìomh Yandex agus cuir a-steach e le ceistean:

module.exports.handler = async function (event) {
  return {
   'statusCode': 200, 
   'body': JSON.stringify(event)
  };
};

Tha seo air a dheasbad nas mionaidiche (ach cho soilleir) anns na sgrìobhainnean oifigeil an seo.

Mar sin, cruthaich eòlaire pròiseict (mar eisimpleir, mailers), rachaibh thuige, tòisich am pròiseact, stàlaich eisimeileachd:

mkdir mailer
cd mailer
npm init -y
npm i @sendgrid/mail email-validator dotenv

An seo chan eil ach am pasgan a dhìth @sendgrid/post. Poca plastaig post-d dearbhaidh thoir sùil air an t-seòladh post-d airson dligheachd (ciamar nach do rinn mi tuairmse sa bhad?), Ach ma tha sinn cinnteach às (chaidh a sgrùdadh airson ùine mhòr às aonais), chan fheum sinn a stàladh (agus, de gu dearbh, chan fheum sinn a sgrùdadh sa chòd). Poca plastaig dotenv air a dhealbhadh gus clàran bho fhaidhle a leughadh .env mar chaochladairean runtime. Ach ann an Gnìomhan airson Yandex Tha e comasach na caochladairean sin a chuir gu dìreach a-steach don àrainneachd runtime. Ciamar? - Bidh mi ga shealltainn gu h-ìosal. Mar sin a 'phacaid dotenv chan urrainn dhut cuideachd a stàladh, agus am faidhle .env - na cruthaich, agus aig an aon àm tha an còd anns an fhaidhle clàr-amais.js na atharraich. Ach an seo tha sinn air a’ phacaid seo a chuir a-steach, agus mar sin cruthaichidh sinn faidhlichean clàr-amais.js и .env:

touch index.js
touch .env

Ann am faidhle clàr-amais.js sgrìobh 22 loidhne de chòd a chithear san dealbh gu h-àrd (dìreach san loidhne #8 atharraich am post-d agad), agus san fhaidhle .env - (gun luachan no puingeachadh sam bith) sònraich am paidhir - prìomh ainm / luach APIa fhuair sinn o chionn ghoirid sa chonsal SendGrid:
SENDGRID_API_KEY=an iuchair-dhìomhair-sendgrid-api-api agad

Agus ma tha thu ag iarraidh nas lugha de dh'obair, clon an stòr agus stàlaich na pacaidean:

git clone https://github.com/stmike/ycf-sendgrid-mailer-tutorial.git
cd ycf-sendgrid-mailer-tutorial
npm i

Ann am faidhle clàr-amais.js, ann an loidhne #8 post-d atharrachadh; cruthaich faidhle anns an eòlaire root .env, agus ann an sin comharraich ainm/luach na h-iuchrach API, mar a chithear dìreach gu h-àrd.

3. Dealachadh

Barrachd no nas lugha gu soilleir agus gu mionaideach mu dheidhinn Yandex.Cloud agus mar a chuirear ann e Gnìomhan airson Yandex air a mhìneachadh san artaigil agam Alice ann an tìr na Bitrix - Bidh mi a 'cur an aineolach dhan dùthaich seo, agus airson a h-uile duine eile (agus an fheadhainn a thill) - an uairsin leabhar comaig beag (ie sreath de dhealbhan agus teacsa).

Bidh sinn a 'cruthachadh zip-archive (canaidh sinn e, mar eisimpleir, mailer.zip), anns a bheil sinn a’ toirt a-steach an eòlaire nód_modalan agus faidhlichean .env, clàr-amais.js - a h-uile càil bhon chatalog pròiseict againn:

Bidh gnìomhan Yandex a’ cur post

Bidh sinn a’ cruthachadh gnìomh leis an ainm... gu ceart - mailers, anns a’ chlàr seòlaidh clì thèid sinn a-steach An neach-deasachaidh, lìon a-steach na raointean a tha a dhìth, agus gluais chun tab Tasglann ZIP luchdaich sìos an tasglann againn mailer.zip:

Bidh gnìomhan Yandex a’ cur post

Agus seo an roghainn a chaidh ainmeachadh roimhe airson luchdachadh sìos Iuchair API dìreach an seo, seach a bhith a’ cruthachadh faidhle sa phròiseact .env, agus na stàlaich am pasgan dotenv. Ach tha sinn air seo a dhèanamh mu thràth, agus mar sin tha mi ga shealltainn dìreach airson fiosrachadh. Is e sin, chan eil feum air dùblachadh!

Bidh gnìomhan Yandex a’ cur post

A-nis san oisean gu h-àrd air an làimh dheis cliog air a’ phutan Cruthaich dreach, agus fuirich diog no dhà. Nuair a bhios a h-uile càil deiseil, thèid sinn gu fèin-ghluasadach chun roinn sealladh farsaing. An sin cuiridh sinn an comas an roghainn Gnìomh poblachgus an urrainn dhut eadar-obrachadh leis bhon t-saoghal a-muigh.

Bidh gnìomhan Yandex a’ cur post

Chì thu an ceangal gorm mu choinneamh an sgrìobhadh Cuir fòn gu ceangal? Cliog air. Fosglaidh uinneag brabhsair falamh... Ach fuirich - fhuair mi post-d:

Bidh gnìomhan Yandex a’ cur post

A-nis faodaidh tu tilleadh chun consol SendGrid, agus brùth air a’ phutan Dearbhaich Integration. Nì an siostam sgrùdadh air a h-uile càil tro na seanailean aige, agus mar thoradh air sin bu chòir dha scrion mar seo a thilleadh:

Bidh gnìomhan Yandex a’ cur post

Sin e, balaich (agus nigheanan, gu dearbh) - tha a h-uile dad gu math sìmplidh agus eireachdail! Bidh barrachd artaigilean ann. Ma tha ùidh aig duine ann a bhith a’ leughadh rudeigin mar seo, fo-sgrìobh gus nach caill thu a-mach.

4. Tabhartais

Bidh gnìomhan Yandex a’ cur post

Source: www.habr.com

Cuir beachd ann