Ny fiasa Yandex dia mandefa mailaka

Ny fiasa Yandex dia mandefa mailaka

Anio dia hamorona ny antsoina hoe. Yandex asa (anarana ofisialy Yandex Cloud Functions), izay niray tsikombakomba tamin'ny serivisy mailaka SendGrid handefa “savony” ho an'ireo mpampiasa matory am-pilaminana (mivazivazy - fantatro fa manohitra ny spam isika rehetra).

Mpanohitra ihany koa aho (nefa tsy misy fanatisme) amin'ny mpizara nentim-paharazana, ary mpanohana ny antsoina hoe. serverless Vahaolana (tsy misy mpizara), satria tsy tiako (ary tsy dia haiko loatra) ny fitantanana ireo mpizara, ary mihoatra noho izany aza, mandoa ny fotoana tsy misy entana. Ny zavatra iray hafa dia ny functions. Misy olona manompo azy ireo tsy misy ahy, ary ny antso ihany no aloako. Tamin'ny fiandohan'ny Oktobra 2019, Yandex dia nanolotra azy Yandex Cloud Functions - toa ny voalohany ao amin'ny Federasiona Rosiana serverless. Ary ny tena mahafinaritra dia ny fahaizan'i Alice dia malalaka izy ireo amin'ny ankapobeny, noho izany dia tao amin'ny fahitako periferika izy ireo hatramin'izay. Fa andeha isika hanomboka sahady.

Alao sary an-tsaina izany toe-javatra izany. Ny fampiharanao (ohatra, ny fahaizan'i Alice Tsarovy ary adino izay, raha ny marina, miasa ihany koa Yandex asa) manasa ny mpampiasa hividy vokatra nomerika, ohatra, safidy fanampiny, ary mandoa vola ny mpampiasa. Karazana rafitra fandoavam-bola (mitovitovy amin'ny Yandex) dia manodina ny fandoavam-bola ary mandefa izany any amin'ny adiresy omenao (ary hanana rohy hiantsoana izahay Yandex asa) HTTP- fangatahana misy antsipirian'ny fandoavam-bola, toy ny vola, anarana feno, laharan-telefaona ary mailaka an'ny mpandoa vola. Te-hikarakara an'io angona io amin'ny fomba sasany izahay, ohatra: jereo ny vola, manaova fidirana mifanaraka amin'ny angon-drakitra, alefaso any amin'ny mpampiasa SMS и Mailaka miaraka amin'ny fanamafisana ny fandraisana ny fandoavam-bola sy ny toromarika fanampiny. Ka ny tenanao microservice.

Momba ny fomba avy Yandex asa manao entries amin'ny database Cloud Firestore efa nijery izany izahay tao amin'ny lesona Tsaroan'i Alice ny zava-drehetra (ary amin'ny ho avy, heveriko fa handinika ohatra iray ho an'ny tahiry hafa isika - Yandex Database). Momba ny fomba fandefasana amin'ny mpampiasa SMS ary ampifandraiso amin'ny Yandex.Money - handamina izany izahay ato ho ato. Andeha hojerentsika izao ny fandefasana taratasy.

1. Mamorona kaonty ao amin'ny SendGrid

fanamarihanaSendGrid dia safidiko fotsiny, izay nataoko noho ny antony maro, ny tena zava-dehibe dia ny manana SDK efa vonona ho an'ny Node.js. Afaka misafidy serivisy mailaka hafa ianao.

Andao handroso mankany amin'ny pejy fisoratana anarana kaonty ary fenoy ny taratasy fisoratana anarana ao. Dia mandeha any Dashboard, ao amin'ny tontonana fitetezana fidio Email API -> Torolàlana fampidirana, ary eo amin'ny tontonana lehibe - WebAPI ary tsindrio ny bokotra Mifidiana. Ny zava-drehetra dia toy ny eo amin'ny sary:

Ny fiasa Yandex dia mandefa mailaka

Amin'ny dingana manaraka dia misafidy isika Node.js:

Ny fiasa Yandex dia mandefa mailaka

Manaraka izany dia tonga amin'ny anay izahay API-anaran'ny fanalahidy (dia tsy haseho afa-tsy ao amin'ny console ao amin'ny lisitry ny fanalahidy, ary tsy misy ifandraisany amin'ny kaody ho avy; demo-api-key) ary tsindrio ny bokotra Mamorona Key:

Ny fiasa Yandex dia mandefa mailaka

Hamorona ny fanalahidy, handika izany isika ary hitazona izany ao anatin'ny fahatokisana lalina indrindra. Ary hanana efijery misy bokotra isika Hamarino ny Integration, toy ny amin'ny sary etsy ambany, fa tsy mbola manindry azy isika, fa andao hiroso amin'ny fanoratana ny code:

Ny fiasa Yandex dia mandefa mailaka

2. Kaody fanoratana

Fa ny fehezan-dalàna mihitsy, araka ny hitanao, dia mampihomehy kely - 22 andalana!

Ny fiasa Yandex dia mandefa mailaka

Milahatra #8 Ny mailakako dia voasokajy mafy (ary noho izany dia saro-kenatra) - azafady mba asehoy ny anao. Amin'ny tena fiainana dia hahazo ny angon-drakitra rehetra isika (anisan'izany mailaka) avy amin'ny zavatra hetsika. Ohatra, raha ny fomba POST misy zavatra alefa any amin'ny asantsika mpampiasa miaraka amin'ny saha (fananana) mailaka, ny sandan'ity saha ity dia azo alaina toy izao:

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

Ary raha ny adiresy mailaka dia alefa amin'ny asa mampiasa ny fomba GET, ohatra: https://functions.yandexcloud.net/123abc?email=user@example.com
sanda parameter mailaka azonao atao toy izao:

const email = event.queryStringParameters.email;

Mba hijerena izay tena ao anatin'ny zavatra iray hetsika, afaka mamorona ny tsotra indrindra ianao Yandex asa ary manodina azy amin'ny fanontaniana:

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

Izany dia resahina amin'ny antsipiriany kokoa (fa tsy dia mazava loatra) ao amin'ny antontan-taratasy ofisialy eto.

Noho izany, mamorona lahatahiry tetikasa (ohatra, mpandefa hafatra), mankanesa any, manomboka ny tetikasa, mametraka dependencies:

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

Ny fonosana ihany no ilaina eto @sendgrid/mail. Kitapo plastika mailaka-validator manamarina ny maha-azo itokiana ny adiresy mailaka (ahoana no tsy noheveriko avy hatrany?), fa raha azonay antoka izany (efa voamarika hatry ny ela izy io raha tsy misy anay), tsy mila mametraka azy izahay (ary, ny Mazava ho azy, tsy mila manamarina izany ao amin'ny kaody). Kitapo plastika dotenv natao hamakiana firaketana avy amin'ny rakitra iray .env toy ny runtime variables. Fa in Yandex asa Azo atao ny mametraka ireo fari-piainana ireo mivantana amin'ny tontolon'ny runtime. Ahoana? - Hasehoko eto ambany. Noho izany ny fonosana dotenv azonao atao koa ny tsy mametraka azy io, ary ny rakitra .env - aza mamorona, ary miaraka amin'izay koa ny code dia ao anaty rakitra index.js aza miova. Saingy eto izahay dia nametraka ity fonosana ity, ka mamorona rakitra index.js и .env:

touch index.js
touch .env

Ao anaty rakitra index.js soraty andalana 22 kaody aseho eo amin'ny pikantsary etsy ambony (ao amin'ny tsipika ihany #8 hanova ny mailakao), ary ao amin'ny rakitra .env - (tsy misy teny na teny na mari-piatoana) ambarao ny mpivady - anarana/soa APIizay noraisinay vao haingana tao amin'ny console SendGrid:
SENDGRID_API_KEY=ny-tena-miafina-sendgrid-api-key

Ary raha mila asa kely kokoa ianao, dia amboary ny tahiry ary apetraho ireo fonosana:

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

Ao anaty rakitra index.js, milahatra #8 manova mailaka; mamorona rakitra ao amin'ny lahatahiry fototra .env, ary ao anatin'izany dia manondro ny anaran'ny fanalahidy API, araka ny aseho etsy ambony.

3. Aparitaka

Mazava kokoa na latsaka ary amin'ny antsipiriany momba ny Yandex.Cloud ary ahoana ny fametrahana azy eo Yandex asa voalaza ao amin'ny lahatsoratro Alice ao amin'ny tanin'ny Bitrix - Alefako eto amin'ity firenena ity ny tsy mahalala, ary ho an'ny olon-drehetra (sy ireo niverina) - avy eo boky tantara an-tsary kely (izany hoe sary sy lahatsoratra maromaro).

Mamorona isika Zip-archive (aleo atao hoe, ohatra, mailer.zip), izay ahitana ny lahatahiry node_modules ary rakitra .env, index.js - ny zava-drehetra avy amin'ny katalaogin'ny tetikasa:

Ny fiasa Yandex dia mandefa mailaka

Mamorona fiasa miaraka amin'ny anarana isika ... marina - mpandefa hafatra, ao amin'ny menu navigation ankavia no idirantsika Ilay mpanoratra, fenoy ny saha ilaina, ary midira amin'ny tabilao ZIP archive alaivo ny rakitray mailer.zip:

Ny fiasa Yandex dia mandefa mailaka

Ary eto ny safidy voalaza teo aloha mba télécharger API key mivantana eto, fa tsy mamorona rakitra ao amin'ny tetikasa .env, ary aza mametraka ny fonosana dotenv. Efa vitantsika anefa izany rehetra izany, ka ho fampahafantarana fotsiny no asehoko. Izany hoe tsy ilaina ny manao duplicate!

Ny fiasa Yandex dia mandefa mailaka

Ankehitriny eo amin'ny zoro havanana ambony dia tsindrio ny bokotra Mamorona version, ary miandry segondra vitsy. Rehefa vonona ny zava-drehetra dia handeha ho azy any amin'ny fizarana isika topy maso. Any no ahafahantsika ny safidy Asa ampahibemasomba hahafahanao mifandray aminy avy any ivelany.

Ny fiasa Yandex dia mandefa mailaka

Hitanao ilay rohy manga manoloana ny soratra Rohy antso? Tsindrio izany. Hisokatra ny varavarankelin'ny navigateur tsy misy na inona na inona... Fa andraso - Nahazo mailaka aho:

Ny fiasa Yandex dia mandefa mailaka

Afaka miverina any amin'ny console ianao izao SendGrid, ary tsindrio ny bokotra Hamarino ny Integration. Ny rafitra dia hanamarina ny zava-drehetra amin'ny alàlan'ny fantsona, ary vokatr'izany dia tokony hamerina efijery toy izao izy:

Ny fiasa Yandex dia mandefa mailaka

Izay ihany ry zalahy (sy ny ankizivavy, mazava ho azy) - ny zava-drehetra dia tena tsotra sy kanto! Mbola hisy lahatsoratra bebe kokoa. Raha misy liana mamaky zavatra toy izao dia misoratra anarana mba tsy ho diso.

4. Fanomezana

Ny fiasa Yandex dia mandefa mailaka

Source: www.habr.com

Mividiana fampiantranoana azo antoka ho an'ny tranokala misy fiarovana DDoS, mpizara VPS VDS 🔥 Mividiana fampiantranoana tranonkala azo antoka miaraka amin'ny fiarovana DDoS, mpizara VPS VDS | ProHoster