Lero tidzapanga otchedwa. Yandex ntchito (dzina lovomerezeka
Ndinenso wotsutsa (koma wopanda kutengeka) kwa ma seva achikhalidwe, komanso wothandizira otchedwa. serverless (zopanda seva) zothetsera, chifukwa sindimakonda (ndipo sindikudziwa kwenikweni) kuyang'anira ma seva, ndipo makamaka, kulipira nthawi yomwe sakunyamulidwa. Chinthu china ndi ntchito. Winawake amawathandizira popanda ine, ndipo ndimalipira mafoni okha. Kumayambiriro kwa Okutobala 2019, Yandex idawonetsa zake Yandex Cloud Functions - zikuwoneka ngati woyamba mu Russian Federation serverless. Ndipo chomwe chili chabwino kwambiri ndichakuti chifukwa cha luso la Alice nthawi zambiri amakhala aulere, chifukwa chake akhala ali m'masomphenya anga kuyambira pamenepo. Koma tiyeni tiyambe kale.
Tiyeni tiyerekeze zimenezi. Ntchito yanu (mwachitsanzo, luso la Alice
Za momwe kuchokera Yandex ntchito kupanga zolemba mu database Cloud Firestore tinaziwona kale mu phunziroli
1. Pangani akaunti mu SendGrid
ndemangaSendGrid ndikusankha kwanga, komwe ndidapanga pazifukwa zingapo, chachikulu ndikuti ali ndi SDK yokonzekera Node.js. Mutha kusankha ntchito ina iliyonse yamakalata.
Tiyeni tipitirire
Mu sitepe yotsatira ife kusankha Node.js:
Kenako timabwera ndi zathu API-dzina lofunikira (lidzawonetsedwa kokha mu console pamndandanda wa makiyi, ndipo ilibe kanthu kochita ndi code yathu yamtsogolo; Ndidabwera ndi chosawonongeka demo-api-key) ndikudina batani Pangani Chinsinsi:
Chinsinsi chidzapangidwa, tidzachikopera ndikuchisunga mozama kwambiri. Ndipo tidzakhala ndi chophimba ndi batani Tsimikizani Kuphatikiza, monga momwe zilili pachithunzi pansipa, koma sitidzadinabe, koma tiyeni tipitirire kulemba kachidindo:
2. Khodi yolembera
Koma code yokha, monga mukuonera, ndi yaing'ono mopusa - mizere 22!
Motsatana #8 Imelo yanga ndi ya hardcode (ndipo yobisika mwamanyazi) - chonde onetsani yanu. M'moyo weniweni, tidzalandira zonse (kuphatikiza imelo) kuchokera ku chinthu chochitika. Mwachitsanzo, ngati njira POST chinthu chimatumizidwa ku ntchito yathu wosuta ndi munda (katundu) imelo, mtengo wamundawu ukhoza kupezeka motere:
const { user } = event;
const email = user.email;
Ndipo ngati adilesi ya imelo yaperekedwa ku ntchitoyo pogwiritsa ntchito njirayo GETANI, mwachitsanzo: https://functions.yandexcloud.net/123abc?[email protected]
mtengo wa parameter imelo mukhoza kuzipeza motere:
const email = event.queryStringParameters.email;
Kuti muwone zomwe zili mu chinthu chochitika, mutha kupanga zosavuta Yandex ntchito ndi kuwapotoza ndi mafunso:
module.exports.handler = async function (event) {
return {
'statusCode': 200,
'body': JSON.stringify(event)
};
};
Izi zikukambidwa mwatsatanetsatane (koma mocheperapo) muzolemba zovomerezeka
Chifukwa chake, pangani chikwatu cha polojekiti (mwachitsanzo, wopanga), pitani kwa iyo, yambitsani polojekitiyo, yikani zodalira:
mkdir mailer
cd mailer
npm init -y
npm i @sendgrid/mail email-validator dotenv
Apa phukusi lokha ndilofunika @sendgrid/mail. Chikwama chapulasitiki imelo-validator imayang'ana adilesi ya imelo kuti ndiyovomerezeka (momwe sindinaganizirepo nthawi yomweyo?), Koma ngati tili otsimikiza (yafufuzidwa kale kwa nthawi yayitali popanda ife), sitiyenera kuyiyika (ndipo, ya Inde, sitiyenera kuyang'ana mu code). Chikwama chapulasitiki pansi adapangidwa kuti aziwerenga zolemba kuchokera mufayilo .fm monga zosintha za nthawi yothamanga. Koma mu Yandex ntchito Ndizotheka kuyika zosinthazi molunjika kumalo othamanga. Bwanji? - Ndiziwonetsa pansipa. Choncho paketi pansi simungathenso kukhazikitsa, ndi wapamwamba .fm - osalenga, ndipo nthawi yomweyo code ili mu fayilo index.js osasintha. Koma apa tayika phukusili, kotero timapanga mafayilo index.js ΠΈ .fm:
touch index.js
touch .env
Mu fayilo index.js lembani mizere 22 yamakhodi omwe akuwonetsedwa pazithunzi pamwambapa (pamzere wokhawo #8 sinthani imelo yanu), ndi mu fayilo .fm - (popanda mawu kapena zopumira) tchulani awiriwo - dzina lofunikira/mtengo APIzomwe talandira posachedwa mu console SendGrid:
SENDGRID_API_KEY=key-secret-sendgrid-api-key
Ndipo ngati mukufuna ntchito yocheperako, phatikizani zosungira ndikuyika phukusi:
git clone https://github.com/stmike/ycf-sendgrid-mailer-tutorial.git
cd ycf-sendgrid-mailer-tutorial
npm i
Mu fayilo index.js, motsatana #8 kusintha imelo; pangani fayilo mu root directory .fm, ndipo m'menemo amasonyeza dzina/mtengo wa kiyi API, monga momwe tawonetsera pamwambapa.
3. Ikani
Mochuluka kapena mochepa momveka bwino komanso mwatsatanetsatane za Yandex.Cloud ndi momwe angachiyike pamenepo Yandex ntchito zafotokozedwa m'nkhani yanga
Pangani zipi-archive (tiyeni titchule, mwachitsanzo, mailer.zip), momwe timaphatikiziramo chikwatu zigawo ndi mafayilo .env, index.js - Chilichonse kuchokera mgulu la polojekiti yathu:
Timapanga ntchito ndi dzina ... molondola - wopanga, kumanzere navigation menyu ife kulowa Mkonzi, lembani magawo ofunikira, ndikusintha ku tabu Zip archive tsitsani zolemba zathu mailer.zip:
Ndipo nayi njira yomwe yatchulidwa kale kuti mutsitse API kiyi molunjika apa, m'malo mopanga fayilo mu polojekitiyi .fm, ndipo musayike phukusi pansi. Koma tachita kale zonsezi, kotero ndikuwonetsa kuti ndingodziwa. Ndiko kuti, palibe chifukwa chobwereza!
Tsopano mu ngodya chapamwamba kumanja dinani batani Pangani mtundu, ndipo dikirani masekondi angapo. Zonse zikakonzeka, tidzapita kugawoli mwachidule. Kumeneko tidzatsegula mwayi Ntchito zapagulukotero kuti mutha kulumikizana nazo kuchokera kudziko lakunja.
Mukuwona ulalo wabuluu moyang'anizana ndi zolembedwazo Ulalo woyimba? Dinani izo. Zenera lopanda msakatuli lidzatsegulidwa... Koma dikirani - Ndalandira imelo:
Tsopano mutha kubwerera ku console SendGrid, ndi kukanikiza batani Tsimikizani Kuphatikiza. Dongosolo lidzayang'ana chilichonse kudzera mumayendedwe ake, ndipo chifukwa chake liyenera kubweza chinsalu chonchi:
Ndizo, anyamata (ndi atsikana, ndithudi) - chirichonse chiri chophweka kwambiri komanso chokongola! Padzakhala zolemba zambiri. Ngati wina ali ndi chidwi chowerenga zinazake ngati izi, lembetsani kuti musaphonye.
4. Zopereka
Source: www.habr.com