Mesebetsi ea Yandex e romella mangolo

Mesebetsi ea Yandex e romella mangolo

Kajeno re tla theha seo ho thoeng ke. Mosebetsi oa Yandex (lebitso la semmuso Mesebetsi ea Yandex Cloud), e tsamaellanang le tšebeletso ea poso SendGrid e tla romela "sesepa" ho basebelisi ba robetseng ka khotso (ho soasoa feela - kea tseba hore kaofela re khahlanong le spam).

Ke boetse ke mohanyetsi (empa ntle le ho cheseha) oa li-server tsa setso, le motšehetsi oa seo ho thoeng ke sona. e sa sebetseng (sesebelisuoa) litharollo, hobane ha ke rate ('me ha ke tsebe hantle hore na) ho tsamaisa li-server,' me ho feta moo, ho lefella nako eo li sa kang tsa laeloa. Ntho e 'ngoe ke mesebetsi. Motho e mong o ba sebeletsa ntle le 'na,' me ke lefella mehala feela. Mathoasong a Mphalane 2019, Yandex e hlahisitse eona Mesebetsi ea Yandex Cloud - ho bonahala eka ke ea pele ho Russia Federation e sa sebetseng. Mme se monate haholo ke hore bakeng sa litsebo tsa Alice hangata ha ba lefelloe, kahoo esale ba le ponong ea ka ho tloha ka nako eo. Empa a re qaleng hona joale.

A re nahaneng ka boemo bona. Kopo ea hau (mohlala, bokhoni ba Alice Hopola mme O Lebale eo, ka tsela, le eona e sebetsang Mesebetsi ea Yandex) e memela mosebelisi ho reka sehlahisoa sa dijithale, mohlala, likhetho tse ling, mme mosebelisi o etsa tefo. Mofuta o mong oa sistimi ea tefo (e ferekanyang e ts'oanang le Yandex.Money) e sebetsana le tefo ebe e e romela atereseng eo u fanang ka eona ('me re tla ba le khokahanyo ea ho letsetsa Mesebetsi ea Yandex) http-kopo e nang le lintlha tsa tefo, joalo ka chelete, lebitso le felletseng, nomoro ea mohala le lengolo-tsoibila la mofani. Re batla ho sebetsana le data ena ka tsela e itseng, mohlala: hlahloba chelete, etsa lipehelo tse nepahetseng ho database, romela ho basebelisi. SMS и Email ka netefatso ea ho fumana tefo le litaelo tse ling. Joalo ka uena microservice.

Mabapi le kamoo ho tloha Mesebetsi ea Yandex kenya lintho ho database Cloud Firestore re se re e shebile thutong Alice o hopola tsohle ('me nakong e tlang, ke nahana, re tla nahana ka mohlala bakeng sa database e 'ngoe - Yandex database). Mabapi le mokhoa oa ho romella basebelisi SMS le ho kopanya kopo ea rona le Yandex.Chelete - re tla e lokisa nakong e tlang. Joale ha re sebetsaneng feela le ho romella mangolo.

1. Etsa akhaonto ho SendGrid

mantsoeSendGrid ke khetho ea ka feela, eo ke e entseng ka mabaka a 'maloa, ea mantlha ke hore ba na le SDK e lokiselitsoeng bakeng sa Node.js. U ka khetha tšebeletso efe kapa efe ea poso.

Ha re tsoeleng pele ho leqephe la ngoliso ea akhaonto le ho tlatsa foromo ea ngoliso moo. Ebe re ea ho Dashboard, ho phanele ya ho tsamaya kgetha Imeile API -> Tataiso ea Kopanyo, le phanele e kholo - WebAPI le нажимаем кнопку khetha. Tsohle li joalo ka setšoantšong:

Mesebetsi ea Yandex e romella mangolo

Mohato o latelang re khetha Node.js:

Mesebetsi ea Yandex e romella mangolo

Ka mor'a moo, re tla bua ka rona API-lebitso la senotlolo (le tla bontšoa feela ka har'a khomphutha lethathamong la linotlolo, 'me ha le amane le khoutu ea rona ea nako e tlang; ke sa tsoa tla le ntho e sa senyeheng. demo-api-key) ebe o tobetsa konopo Theha Senotlolo:

Mesebetsi ea Yandex e romella mangolo

Senotlolo se tla hlahisoa, re tla se kopitsa 'me re se boloke ka kholiseho e tebileng. 'Me re tla ba le skrine e nang le konopo Netefatsa Kopanyo, joalo ka setšoantšong se ka tlase, empa re ke ke ra e tobetsa, empa ha re tsoeleng pele ho ngola khoutu:

Mesebetsi ea Yandex e romella mangolo

2. Khoutu ea ho ngola

Empa khoutu ka boeona, joalo ka ha u bona, e nyane ka mokhoa o makatsang - mela e 22!

Mesebetsi ea Yandex e romella mangolo

E mocheng #8 Lengolo-tsoibila la ka le ngotsoe ka thata (ka hona le ipatile ka lihlong) - ka kopo bonts'a ea hau. Bophelong ba 'nete, re tla fumana lintlha tsohle (ho kenyeletsoa imeile) ho tsoa ho ntho ketsahalo. Ka mohlala, haeba mokhoa POST ntho e romelwa mosebetsing wa rona user want-meet.ru le tšimo (thepa) imeile, boleng ba tšimo ena bo ka fumanoa ka tsela ena:

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

Mme haeba aterese ea lengolo-tsoibila e fetisetsoa tšebetsong ho sebelisoa mokhoa Fumanamohlala: https://functions.yandexcloud.net/123abc?[email protected]
boleng ba parameter imeile u ka e fumana ka tsela ena:

const email = event.queryStringParameters.email;

Ho sheba hore na hantle-ntle se fuperoeng ke ntho e itseng ketsahalo, o ka etsa tse bonolo ka ho fetisisa Mosebetsi oa Yandex 'me u e sothe ka lipotso:

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

Sena se tšohloa ka ho qaqileng haholoanyane (empa ho sa hlaka) litokomaneng tsa molao mona.

Kahoo, theha bukana ea morero (mohlala, poso), e-ea ho eona, qala morero, kenya litšepiso:

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

Mona ke sephutheloana feela se hlokahalang @sendgrid/mail. Mokotla oa polasetiki lengolo-tsoibila la netefatso e hlahloba aterese ea lengolo-tsoibila hore na e nepahetse (ke ne ke sa nahane joang hang-hang?), Empa haeba re na le bonnete ba eona (e se e hlahlobiloe nako e telele ntle le rona), ha ho hlokahale hore re e kenye (le, ea ehlile, ha ho hlokahale hore re e hlahlobe ka har'a khoutu). Mokotla oa polasetiki dotenv e etselitsoeng ho bala lirekoto ho tsoa faeleng .env joalo ka mefuta e fapaneng ea nako ea ho sebetsa. Empa ka Mesebetsi ea Yandex Hoa khoneha ho beha mefuta ena ka ho toba sebakeng sa nako ea ho sebetsa. Joang? - Ke tla e bontša ka tlase. Ka hona, sephutheloana dotenv u ka boela ua se ke ua e kenya, le faele .env - u se ke ua bōpa, 'me ka nako e ts'oanang khoutu e le faeleng index.js seke oa fetoha. Empa mona re kentse sephutheloana sena, kahoo re theha lifaele index.js и .env:

touch index.js
touch .env

Ka faele index.js ngola mela e 22 ea khoutu e bontšitsoeng skrineng e kaholimo (moleng feela #8 fetola lengolo-tsoibila la hau), le faeleng .env - (ntle le mantsoe a qotsitsoeng kapa matšoao a puo) hlakisa para - lebitso la bohlokoa / boleng APIeo re sa tsoa e fumana ho console SendGrid:
SENDGRID_API_KEY=senotlolo-sephiri-sephiri-se-sendgrid-api-key

'Me haeba u batla mosebetsi o fokolang, kopanya sebaka sa polokelo' me u kenye liphutheloana:

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

Ka faele index.js, e mocheng #8 fetola lengolo-tsoibila; theha faele bukeng ea motso .env, mme ho yona ho bonts'a lebitso/boleng ba senotlolo API, joalokaha ho bontšitsoe ka holimo.

3. Hlahisa

Ho feta kapa ka tlase ka ho hlaka le ka ho qaqileng ka Yandex.Cloud le mokhoa oa ho e beha moo Mesebetsi ea Yandex e hlalositsoeng sehloohong sa ka Alice Naheng ea Bitrix - Ke romela batho ba sa tsebeng letho naheng ena, le ho bohle (le ba khutletseng) - joale buka e nyenyane ea li-comic (e leng letoto la litšoantšo le mongolo).

Rea bopa dipto-archive (ha re e bitse, mohlala, mailer.zip), eo ho eona re kenyelletsang foldara node_modules le lifaele .env, index.js - tsohle ho tsoa lethathamong la merero ea rona:

Mesebetsi ea Yandex e romella mangolo

Re theha mosebetsi ka lebitso ... ka nepo - poso, ho menu ya ho tsamaya ka ho le letshehadi eo re e kenyang Mohlophisi, tlatsa libaka tse hlokahalang, 'me u fetohele ho tab Sebaka sa polokelo ea ZIP khoasolla polokelong ea rona mailer.zip:

Mesebetsi ea Yandex e romella mangolo

'Me mona ke khetho e boletsoeng pejana ea ho jarolla Senotlolo sa API ka kotloloho mona, ho ena le ho theha faele morerong .env, 'me u se ke ua kenya sephutheloana dotenv. Empa re se re entse tsena tsohle, kahoo ke li bontša bakeng sa tlhaiso-leseling feela. Ke hore, ha ho hlokahale hore u kopitse!

Mesebetsi ea Yandex e romella mangolo

Hona joale k'honeng e kaholimo ho le letona tobetsa konopo Etsa mofuta, 'me u eme metsotsoana e seng mekae. Ha tsohle li se li lokile, re tla ea karolong eo ka bo eona tjhebokakaretso. Moo re tla nolofalletsa khetho Mosebetsi oa sechabae le hore u ka sebelisana le eona ho tsoa lefats'eng le kantle.

Mesebetsi ea Yandex e romella mangolo

U bona sehokelo se seputsoa se shebaneng le mongolo Sehokelo sa mohala? E tobetse. Fesetere e se nang letho ea sebatli e tla buleha... Empa ema - ke fumane lengolo-tsoibila:

Mesebetsi ea Yandex e romella mangolo

Hona joale o ka khutlela ho console SendGrid, ebe o tobetsa konopo Netefatsa Kopanyo. Sistimi e tla hlahloba ntho e 'ngoe le e' ngoe ka liteishene tsa eona, 'me ka lebaka leo e lokela ho khutlisa skrine e kang ena:

Mesebetsi ea Yandex e romella mangolo

Ke eona, bashanyana (le banana, ehlile) - ntho e 'ngoe le e' ngoe e bonolo haholo ebile e ntle haholo! Ho tla ba le lingoliloeng tse ling. Haeba mang kapa mang a thahasella ho bala ntho e kang ena, ingolise hore u se ke oa fetoa.

4. Menehelo

Mesebetsi ea Yandex e romella mangolo

Source: www.habr.com

Eketsa ka tlhaloso