Loni a yoo ṣẹda awọn ti a npe ni. Yandex iṣẹ (orukọ osise
Emi tun jẹ alatako (ṣugbọn laisi fanaticism) ti awọn olupin ibile, ati alatilẹyin ti awọn ti a pe. laisi olupin Awọn solusan (aini olupin), nitori Emi ko fẹran (ati Emi ko mọ gaan bi o ṣe le) ṣakoso awọn olupin, ati paapaa diẹ sii, sanwo fun akoko ti wọn ko ba kojọpọ. Ohun miiran ni awọn iṣẹ. Ẹnikan ṣe iṣẹ wọn laisi mi, ati pe Mo sanwo fun awọn ipe nikan. Ni ibẹrẹ Oṣu Kẹwa ọdun 2019, Yandex ṣafihan rẹ Awọn iṣẹ awọsanma Yandex - dabi ẹnipe akọkọ ni Russian Federation laisi olupin. Ati pe kini o dara julọ ni pe fun awọn ọgbọn Alice wọn jẹ ọfẹ ni gbogbogbo, nitorinaa wọn ti wa ninu iran agbeegbe mi lati igba naa. Ṣugbọn jẹ ki a bẹrẹ tẹlẹ.
Jẹ ki a foju inu wo oju iṣẹlẹ yii. Ohun elo rẹ (fun apẹẹrẹ, ọgbọn Alice
Nipa bi lati Awọn iṣẹ Yandex ṣe awọn titẹ sii ni database Awọsanma Firestore a ti wo tẹlẹ ninu ikẹkọ
1. Ṣẹda iroyin ni SendGrid
DaakọSendGrid jẹ yiyan mi nikan, eyiti Mo ṣe fun awọn idi pupọ, akọkọ ni pe wọn ni SDK ti a ti ṣetan fun Node.js. O le yan eyikeyi iṣẹ ifiweranṣẹ miiran.
Jẹ ki a tẹsiwaju
Ni nigbamii ti igbese a yan Node.js:
Next a wá soke pẹlu wa APIOrukọ bọtini (yoo han nikan ni console ninu atokọ ti awọn bọtini, ati pe ko ni nkankan lati ṣe pẹlu koodu iwaju wa; Mo kan wa pẹlu alaigbagbọ kan. demo-api-bọtini) ki o si tẹ bọtini naa Ṣẹda Key:
Bọtini naa yoo ṣe ipilẹṣẹ, a yoo daakọ rẹ ki o tọju rẹ ni igbẹkẹle ti o jinlẹ. Ati pe a yoo ni iboju pẹlu bọtini kan Daju Integration, bi ninu aworan ni isalẹ, ṣugbọn a ko ni tẹ sibẹ, ṣugbọn jẹ ki a lọ si kikọ koodu naa:
2. koodu kikọ
Ṣugbọn koodu funrararẹ, bi o ti le rii, jẹ ẹgan kekere - awọn laini 22!
Ni tito #8 Imeeli mi jẹ koodu lile (ati nitorinaa fi ara pamọ pẹlu itiju) - jọwọ tọkasi tirẹ. Ni igbesi aye gidi, a yoo gba gbogbo data naa (pẹlu imeeli) lati nkan iṣẹlẹ. Fun apẹẹrẹ, ti o ba awọn ọna post ohun kan ranṣẹ si iṣẹ wa olumulo pẹlu aaye (ohun-ini) imeeli, iye ti aaye yii le gba bi eleyi:
const { user } = event;
const email = user.email;
Ati pe ti adirẹsi imeeli ba ti kọja si iṣẹ naa nipa lilo ọna naa gbafun apẹẹrẹ: https://functions.yandexcloud.net/123abc?[email protected]
paramita iye imeeli o le gba bi eleyi:
const email = event.queryStringParameters.email;
Lati wo kini gangan ti o wa ninu ohun kan iṣẹlẹ, o le ṣẹda awọn ti o rọrun Yandex iṣẹ ki o si yi o pẹlu awọn ibeere:
module.exports.handler = async function (event) {
return {
'statusCode': 200,
'body': JSON.stringify(event)
};
};
Eyi ni a jiroro ni awọn alaye diẹ sii (ṣugbọn kere si kedere) ninu iwe aṣẹ osise
Nitorinaa, ṣẹda itọsọna iṣẹ akanṣe (fun apẹẹrẹ, ifiweranse), lọ si rẹ, bẹrẹ iṣẹ akanṣe, fi awọn igbẹkẹle sii:
mkdir mailer
cd mailer
npm init -y
npm i @sendgrid/mail email-validator dotenv
Nibi package nikan ni o nilo @sendgrid/mail. Apo olora imeeli-validator ṣayẹwo adirẹsi imeeli fun iwulo (bawo ni Emi ko ṣe gboju lẹsẹkẹsẹ?), Ṣugbọn ti a ba ni idaniloju rẹ (o ti ṣayẹwo tẹlẹ fun igba pipẹ laisi wa), a ko ni lati fi sii (ati, ti dajudaju, a ko ni lati ṣayẹwo rẹ ni koodu). Apo olora dotenv ṣe apẹrẹ lati ka awọn igbasilẹ lati faili kan .env bi asiko isise oniyipada. Sugbon ninu Awọn iṣẹ Yandex O ṣee ṣe lati gbe awọn oniyipada wọnyi taara sinu agbegbe asiko asiko. Bawo? - Emi yoo fi han ni isalẹ. Nitorina package dotenv o tun le ko fi o, ati awọn faili .env - ma ṣe ṣẹda, ati ni akoko kanna koodu wa ninu faili naa atọka.js maṣe yipada. Ṣugbọn nibi a ti fi package yii sori ẹrọ, nitorinaa a ṣẹda awọn faili atọka.js и .env:
touch index.js
touch .env
Ninu faili atọka.js kọ awọn laini koodu 22 ti o han ninu sikirinifoto loke (nikan ni laini #8 yi imeeli rẹ pada), ati ninu faili naa .env - (laisi eyikeyi awọn agbasọ tabi aami ifamisi) pato awọn bata - orukọ bọtini / iye APIeyi ti a laipe gba ni console FiranṣẹGrid:
SENDGRID_API_KEY=aṣiri-rẹ-sendgrid-api-bọtini
Ati pe ti o ba fẹ iṣẹ ti o kere si, kọlu ibi ipamọ ki o fi awọn idii sii:
git clone https://github.com/stmike/ycf-sendgrid-mailer-tutorial.git
cd ycf-sendgrid-mailer-tutorial
npm i
Ninu faili atọka.js, ni tito #8 yi imeeli; ṣẹda faili ninu awọn root liana .env, ati ninu rẹ tọkasi orukọ/iye bọtini API, bi a ṣe han loke.
3. Ranse
Diẹ ẹ sii tabi kere si kedere ati ni apejuwe awọn nipa Yandex.Cloud ati bi o ṣe le gbe sibẹ Awọn iṣẹ Yandex se apejuwe ninu mi article
A ṣẹda zip- pamosi (jẹ ki a pe, fun apẹẹrẹ, mailer.zip), ninu eyi ti a fi awọn liana node_modulu ati awọn faili .env, index.js - ohun gbogbo lati katalogi ise agbese wa:
A ṣẹda iṣẹ kan pẹlu orukọ ... ni deede - ifiweranse, ninu akojọ aṣayan lilọ kiri osi a tẹ Olootu, fọwọsi awọn aaye ti a beere, ki o si yipada si taabu ZIP pamosi gba lati ayelujara wa pamosi mailer.zip:
Ati pe eyi ni aṣayan ti a mẹnuba tẹlẹ lati ṣe igbasilẹ API bọtini taara nibi, dipo ṣiṣẹda faili kan ninu iṣẹ naa .env, ati ki o ma ṣe fi sori ẹrọ ni package dotenv. Ṣugbọn a ti ṣe gbogbo eyi tẹlẹ, nitorinaa Mo n ṣafihan fun alaye nikan. Iyẹn ni, ko si iwulo lati ṣe pidánpidán!
Bayi ni igun apa ọtun tẹ bọtini naa Ṣẹda ti ikede, ati ki o duro kan tọkọtaya ti iseju. Nigbati ohun gbogbo ba ṣetan, a yoo lọ laifọwọyi si apakan Akopọ. Nibẹ a yoo mu aṣayan ṣiṣẹ Àkọsílẹ iṣẹki o le ṣe ajọṣepọ pẹlu rẹ lati ita aye.
O ri ọna asopọ buluu ti o lodi si akọle naa Ipe ọna asopọ? Tẹ e. Ferese aṣawakiri ti o ṣofo yoo ṣii… Ṣugbọn duro - Mo gba imeeli kan:
Bayi o le pada si console FiranṣẹGrid, ki o si tẹ bọtini naa Daju Integration. Eto naa yoo ṣayẹwo ohun gbogbo nipasẹ awọn ikanni rẹ, ati bi abajade o yẹ ki o pada iboju kan bii eyi:
Iyẹn ni, awọn eniyan (ati awọn ọmọbirin, nitorinaa) - ohun gbogbo rọrun pupọ ati yangan! Awọn nkan yoo wa diẹ sii. Ti ẹnikẹni ba nifẹ lati ka nkan bii eyi, ṣe alabapin ki o maṣe padanu.
4. Awọn ẹbun
orisun: www.habr.com