Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Ρ.Π½. Kazi ya Yandex (jina rasmi
Mimi pia ni mpinzani (lakini bila ushabiki) wa seva za jadi, na mfuasi wa kinachojulikana. salama (Π±Π΅ΡΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ
) ΡΠ΅ΡΠ΅Π½ΠΈΠΉ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π΅ Π»ΡΠ±Π»Ρ (Π΄Π° ΠΈ ΡΠΎΠ»ΠΊΠΎΠΌ Π½Π΅ ΡΠΌΠ΅Ρ) Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°, Π° Π΅ΡΡ Π±ΠΎΠ»ΡΡΠ΅ β ΠΏΠ»Π°ΡΠΈΡΡ Π·Π° ΡΠΎ Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π½Π΅ Π½Π°Π³ΡΡΠΆΠ΅Π½Ρ. ΠΡΡΠ³ΠΎΠ΅ Π΄Π΅Π»ΠΎ β ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡ
ΠΊΡΠΎ-ΡΠΎ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π΅Ρ Π±Π΅Π· ΠΌΠ΅Π½Ρ, Π° Ρ ΠΏΠ»Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π·Π° Π²ΡΠ·ΠΎΠ²Ρ. Π Π½Π°ΡΠ°Π»Π΅ ΠΎΠΊΡΡΠ±ΡΡ 2019 Π³. Π―Π½Π΄Π΅ΠΊΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ» ΡΠ²ΠΎΠΈ Kazi za Wingu la Yandex - inaonekana kuwa ya kwanza katika Shirikisho la Urusi salama. Π ΡΡΠΎ ΠΎΡΠΎΠ±ΠΎ ΠΏΡΠΈΡΡΠ½ΠΎ β Π΄Π»Ρ Π½Π°Π²ΡΠΊΠΎΠ² ΠΠ»ΠΈΡΡ ΠΎΠ½ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π±Π΅ΡΠΏΠ»Π°ΡΠ½Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΡΠ΅Ρ
ΠΏΠΎΡ Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π² ΠΏΠΎΠ»Π΅ ΠΌΠΎΠ΅Π³ΠΎ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΉΠ½ΠΎΠ³ΠΎ Π·ΡΠ΅Π½ΠΈΡ. ΠΠΎ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠΆΠ΅ ΠΏΡΠΈΡΡΡΠΏΠΈΠΌ.
Hebu tuwazie kisa hiki. Maombi yako (kwa mfano, ustadi wa Alice
Kuhusu jinsi kutoka Π―Π½Π΄Π΅ΠΊΡ-ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π΅Π»Π°ΡΡ Π·Π°ΠΏΠΈΡΠΈ Π² ΠΠ Hifadhi ya Moto ya Wingu tayari tumeiangalia kwenye somo
1. Fungua akaunti katika SendGrid
KumbukaSendGrid ni chaguo langu tu, ambalo nilifanya kwa sababu kadhaa, moja kuu ni kwamba wana SDK iliyotengenezwa tayari kwa Node.js. Unaweza kuchagua huduma nyingine yoyote ya utumaji barua.
Perekodim yangu
Katika hatua inayofuata tunachagua node.js:
ΠΠ°Π»Π΅Π΅ ΠΏΡΠΈΠ΄ΡΠΌΡΠ²Π°Π΅ΠΌ Π΄Π»Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ API-jina la ufunguo (itaonyeshwa tu kwenye koni kwenye orodha ya funguo, na haina uhusiano wowote na nambari yetu ya siku zijazo; nimekuja na isiyoweza kuharibika. demo-api-key) na bonyeza kitufe Unda Ufunguo:
Ufunguo utatolewa, tutainakili na kuiweka kwa ujasiri wa kina. Na tutakuwa na skrini iliyo na kitufe Thibitisha Ujumuishaji, ΠΊΠ°ΠΊ Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅ Π½ΠΈΠΆΠ΅, Π½ΠΎ ΠΌΡ Π΅Ρ ΠΏΠΎΠΊΠ° Π½Π°ΠΆΠΈΠΌΠ°ΡΡ Π½Π΅ ΡΡΠ°Π½Π΅ΠΌ, Π° ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΡΠΌ ΠΊ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π°:
2. Nambari ya kuandika
Lakini nambari yenyewe, kama unavyoona, ni ndogo sana - mistari 22!
Katika mstari #8 Barua pepe yangu ina msimbo ngumu (na kwa hivyo imefichwa kwa aibu) - tafadhali onyesha yako. Katika maisha halisi, tutapokea data zote (pamoja na enamel) ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠ° tukio. Kwa mfano, ikiwa njia POST kitu kinatumwa kwa kazi yetu user na shamba (mali) enamel, thamani ya uwanja huu inaweza kupatikana kama hii:
const { user } = event;
const email = user.email;
Na ikiwa barua pepe inapitishwa kwa kazi kwa kutumia njia GET, kwa mfano: https://functions.yandexcloud.net/123abc?[email protected]
thamani ya parameta enamel ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΄Π°ΠΊ:
const email = event.queryStringParameters.email;
Π§ΡΠΎΠ±Ρ Π²Π·Π³Π»ΡΠ½ΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ tukio, unaweza kuunda rahisi zaidi Kazi ya Yandex na uizungushe na maswali:
module.exports.handler = async function (event) {
return {
'statusCode': 200,
'body': JSON.stringify(event)
};
};
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ (Π½ΠΎ ΠΌΠ΅Π½Π΅Π΅ Π΄ΠΎΡ
ΠΎΠ΄ΡΠΈΠ²ΠΎ) ΠΎΠ± ΡΡΠΎΠΌ Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ Π² ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
ΠΡΠ°ΠΊ, ΡΠΎΠ·Π΄Π°ΡΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΏΡΠΎΠ΅ΠΊΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, mtumaji), nenda kwake, anzisha mradi, sasisha utegemezi:
mkdir mailer
cd mailer
npm init -y
npm i @sendgrid/mail email-validator dotenv
Hapa kifurushi pekee kinahitajika @sendgrid/barua. Mfuko wa plastiki email-validator huangalia barua pepe ili kubaini uhalali (sikudhania mara moja?), lakini ikiwa tuna uhakika nayo (tayari imeangaliwa kwa muda mrefu bila sisi), sio lazima kuisakinisha (na, ya kwa kweli, sio lazima tuiangalie kwenye nambari). Mfuko wa plastiki dotenv iliyoundwa kusoma rekodi kutoka kwa faili .a kama vigezo vya wakati wa kukimbia. Lakini katika Kazi za Yandex ΠΈΠΌΠ΅Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ ΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΡΡΠ΅Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. ΠΠ°ΠΊ? β Ρ ΠΏΠΎΠΊΠ°ΠΆΡ ΡΡΠΎ Π½ΠΈΠΆΠ΅. ΠΠΎΡΡΠΎΠΌΡ ΠΏΠ°ΠΊΠ΅Ρ dotenv ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡΡΠ°Π²ΠΈΡΡ, ΠΈ ΡΠ°ΠΉΠ» .a β Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ, ΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΊΠΎΠ΄ Π² ΡΠ°ΠΉΠ»Π΅ index.js usibadilike. Lakini hapa tumeweka kifurushi hiki, kwa hiyo tunaunda faili index.js ΠΈ .a:
touch index.js
touch .env
Katika faili index.js ΠΏΠΈΡΠ΅ΠΌ 22 ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π½Π° ΡΠΊΡΠΈΠ½ΡΠΎΡΠ΅ Π²ΡΡΠ΅ (ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΡΡΠΎΠΊΠ΅ #8 ΠΏΠΎΠΌΠ΅Π½ΡΠΉΡΠ΅ ΠΏΠΎΡΡΡ), Π° Π² ΡΠ°ΠΉΠ»Π΅ .a - (bila nukuu au alama za uakifishaji) taja jozi - jina/thamani muhimu API, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ SendGrid:
SENDGRID_API_KEY=your-very-secret-sendgrid-api-key
Na ikiwa unataka kazi kidogo, unganisha hazina na usakinishe vifurushi:
git clone https://github.com/stmike/ycf-sendgrid-mailer-tutorial.git
cd ycf-sendgrid-mailer-tutorial
npm i
Katika faili index.js, katika mstari #8 ΠΏΠΎΠΌΠ΅Π½ΡΠΉΡΠ΅ ΠΏΠΎΡΡΡ; Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ» .a, ΠΈ Π² Π½ΡΠΌ ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΈΠΌΡ/Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ° API, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΡΡΡΡ Π²ΡΡΠ΅.
3. Weka
Zaidi au chini ya wazi na kwa undani kuhusu Yandex.Cloud ΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ°ΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ Kazi za Yandex ΡΠ°ΡΡΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΌΠΎΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅
Ninaweka mipangilio zip-hifadhi (wacha tuiite, kwa mfano, mailer.zip), Π² ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ moduli za moduli ΠΈ ΡΠ°ΠΉΠ»Ρ .env, index.js - kila kitu kutoka kwa orodha yetu ya mradi:
Tunaunda kitendakazi na jina... kwa usahihi - mtumaji, Π² Π»Π΅Π²ΠΎΠΌ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½ΠΎΠΌ ΠΌΠ΅Π½Ρ Π²Π±ΠΈΡΠ°Π΅ΠΌ Mhariri, jaza sehemu zinazohitajika, na ubadilishe kwa kichupo Kumbukumbu ya ZIP pakua kumbukumbu yetu mailer.zip:
Na hapa kuna chaguo lililotajwa hapo awali la kupakua API-key moja kwa moja hapa, badala ya kuunda faili kwenye mradi .a, na usisakinishe kifurushi dotenv. Lakini tayari tumefanya haya yote, kwa hivyo ninaionyesha kwa habari tu. Hiyo ni, hakuna haja ya kurudia!
Π’Π΅ΠΏΠ΅ΡΡ Π² ΠΏΡΠ°Π²ΠΎΠΌ Π²Π΅ΡΡ
Π½Π΅ΠΌ ΡΠ³Π»Ρ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ Unda toleo, ΠΈ ΠΆΠ΄ΡΠΌ ΠΏΠ°ΡΡ ΡΠ΅ΠΊΡΠ½Π΄. ΠΠΎΠ³Π΄Π° Π²ΡΡ Π±ΡΠ΄Π΅Ρ Π³ΠΎΡΠΎΠ²ΠΎ, ΠΌΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΡΠΌ Π² ΡΠ°Π·Π΄Π΅Π» Pitia. Π’Π°ΠΌ Π²ΠΊΠ»ΡΡΠΈΠΌ ΠΎΠΏΡΠΈΡ Shughuli ya umma, ΡΡΠΎΠ±Ρ Ρ Π½Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΈΠ· Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΌΠΈΡΠ°.
Unaona kiunga cha bluu kinyume na maandishi Kiungo cha simu? ΠΠ°ΠΆΠΌΠΈΡΠ΅ Π΅Ρ. ΠΡΠΊΡΠΎΠ΅ΡΡΡ ΠΏΡΡΡΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π±ΡΠ°ΡΠ·Π΅ΡΠ°β¦ ΠΠΎ ΠΏΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡΠ΅ β ΠΌΠ½Π΅ ΠΏΡΠΈΡΠ»ΠΎ ΠΏΠΈΡΡΠΌΠΎ:
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²Π΅ΡΠ½ΡΡΡΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ SendGrid, ΠΈ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Thibitisha Ujumuishaji. Mfumo utaangalia kila kitu kupitia chaneli zake, na kwa sababu hiyo inapaswa kurudisha skrini kama hii:
ΠΠΎΡ ΡΠ°ΠΊ, ΡΠ΅Π±ΡΡΠ° (ΠΈ Π΄Π΅Π²ΡΠ°ΡΠ°, ΡΠ°Π·ΡΠΌΠ΅Π΅ΡΡΡ) β Π²ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ ΠΈ ΡΠ»Π΅Π³Π°Π½ΡΠ½ΠΎ! ΠΡΠ΄ΡΡ Π΅ΡΡ ΡΡΠ°ΡΡΠΈ. ΠΠΎΠΌΡ ΡΠΈΡΠ°ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ β ΠΏΠΎΠ΄ΠΏΠΈΡΡΠ²Π°ΠΉΡΠ΅ΡΡ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ.
4. Michango
Chanzo: mapenzi.com