اڄ اسين ٺاهينداسين نام نهاد. Yandex فنڪشن (سرڪاري نالو
مان روايتي سرورن جو مخالف (پر جنونيت کان سواءِ) به آهيان، ۽ نام نهاد حامي به آهيان. سرور (سرور بيس) حل، ڇو ته مان پسند نٿو ڪريان (۽ مان واقعي نه ٿو ڄاڻان) سرور جو انتظام ڪيئن ڪجي، ۽ ان کان به وڌيڪ، ان وقت جي ادائيگي ڪريو جڏهن اهي لوڊ نه ڪيا وڃن. ٻي شيء فنڪشن آهي. ڪو ماڻهو مون کان سواءِ انهن جي خدمت ڪندو آهي، ۽ مان صرف ڪالن لاءِ ادا ڪندو آهيان. آڪٽوبر 2019 جي شروعات ۾، Yandex ان جي پيش ڪئي Yandex Cloud افعال - لڳي ٿو روسي فيڊريشن ۾ پهريون سرور. ۽ خاص طور تي سٺي ڳالهه اها آهي ته ايلس جي صلاحيتن لاءِ اهي عام طور تي آزاد آهن، تنهن ڪري اهي تڏهن کان منهنجي پردي جي نظر ۾ آهن. پر اچو ته اڳ ۾ ئي شروع ڪريون.
اچو ته هن منظر جو تصور ڪريون. توهان جي درخواست (مثال طور، ايلس جي مهارت
جي باري ۾ ڪيئن کان Yandex افعال ڊيٽابيس ۾ داخل ڪريو ڪلائوڊ فيرسٽور اسان ان کي اڳ ۾ ئي سبق ۾ ڏٺو آهي
1. SendGrid ۾ اڪائونٽ ٺاهيو
ويچاريSendGrid صرف منهنجي پسند آهي، جنهن کي مون ڪيترن ئي سببن لاءِ ٺاهيو آهي، هڪ اهم اهو آهي ته انهن وٽ Node.js لاءِ تيار ٿيل SDK آهي. توھان ڪنھن ٻئي ميلنگ سروس کي منتخب ڪري سگھو ٿا.
اچو ته اڳتي وڌون
ايندڙ قدم ۾ اسان چونڊيو Node.js:
اڳتي هلي اسان وٽ اچي اسان جي لاءِ API-key نالو (صرف ڪنسول ۾ ڏيکاريو ويندو چاٻين جي لسٽ ۾، ۽ اسان جي مستقبل جي ڪوڊ سان ڪو به واسطو نه آهي؛ مان صرف هڪ ناقابل برداشت سان آيو آهيان demo-api-key) ۽ بٽڻ کي دٻايو چاٻي ٺاھيو:
چاٻي ٺاهي ويندي، اسان ان کي نقل ڪنداسين ۽ ان کي تمام گهڻي اعتماد ۾ رکون ٿا. ۽ اسان وٽ هڪ بٽڻ سان اسڪرين هوندي انضمام جي تصديق ڪريو، جيئن هيٺ ڏنل تصوير ۾، پر اسان ان تي اڃا ڪلڪ نه ڪنداسين، پر اچو ته ڪوڊ لکڻ تي اڳتي وڌون:
2. لکڻ جو ڪوڊ
پر ڪوڊ پاڻ، جيئن توهان ڏسي سگهو ٿا، مضحکہ خیز طور تي ننڍڙو آهي - 22 لائين!
قطار ۾ #8 منهنجي اي ميل هارڊ ڪوڊ ٿيل آهي (۽ ان ڪري شرم سان لڪايو ويو آهي) - مهرباني ڪري پنهنجو اشارو ڏيو. حقيقي زندگي ۾، اسان سڀ ڊيٽا حاصل ڪنداسين (بشمول اي ميل) اعتراض کان واقعي. مثال طور، جيڪڏهن طريقو پوسٽ هڪ اعتراض اسان جي فنڪشن ڏانهن موڪليو ويو آهي يوزر فيلڊ سان گڏ (ملڪيت) اي ميلهن فيلڊ جي قيمت هن طرح حاصل ڪري سگهجي ٿي:
const { user } = event;
const email = user.email;
۽ جيڪڏهن اي ميل پتي جو طريقو استعمال ڪندي فنڪشن ڏانهن منتقل ڪيو ويو آهي GETمثال طور https://functions.yandexcloud.net/123abc?[email protected]
پيٽرولر جو قدر اي ميل توهان ان کي هن طرح حاصل ڪري سگهو ٿا:
const email = event.queryStringParameters.email;
هڪ نظر وٺڻ لاءِ ته ڪنهن شئي ۾ اصل ۾ ڇا آهي واقعي، توهان آسان بڻائي سگهو ٿا Yandex فنڪشن ۽ ان کي سوالن سان ٽوڙيو:
module.exports.handler = async function (event) {
return {
'statusCode': 200,
'body': JSON.stringify(event)
};
};
اهو وڌيڪ تفصيل سان بحث ڪيو ويو آهي (پر گهٽ واضح طور تي) سرڪاري دستاويزن ۾
تنهن ڪري، هڪ پروجيڪٽ ڊاريڪٽري ٺاهيو (مثال طور، ميلر)، ان ڏانهن وڃو، منصوبي کي شروع ڪريو، انحصار کي انسٽال ڪريو:
mkdir mailer
cd mailer
npm init -y
npm i @sendgrid/mail email-validator dotenv
هتي صرف پيڪيج جي ضرورت آهي @sendgrid/mail. پلاسٽڪ جي ٿيلھي اي ميل جي تصديق ڪندڙ صحيحيت لاءِ اي ميل ايڊريس چيڪ ڪري ٿو (مون کي ڪيئن اندازو نه ٿيو ته فوري طور تي؟)، پر جيڪڏهن اسان ان جي باري ۾ يقين رکون ٿا (اهو اڳ ۾ ئي اسان کان سواءِ ڪافي عرصي کان چيڪ ڪيو ويو آهي)، اسان کي ان کي انسٽال ڪرڻ جي ضرورت ناهي (۽، مان يقينن، اسان کي ان کي ڪوڊ ۾ چيڪ ڪرڻ جي ضرورت ناهي). پلاسٽڪ جي ٿيلھي dotenv فائل مان رڪارڊ پڙهڻ لاء ٺهيل .env جيئن رن ٽائم متغير. پر ۾ Yandex افعال اهو ممڪن آهي ته انهن متغيرن کي سڌو سنئون رن ٽائم ماحول ۾. ڪيئن؟ - مان ان کي هيٺ ڏيکاريندس. تنهن ڪري پيڪيج dotenv توھان پڻ ان کي انسٽال نٿا ڪري سگھو، ۽ فائل .env - نه ٺاهيو، ۽ ساڳئي وقت ڪوڊ فائل ۾ آهي index.js تبديل نه ڪريو. پر هتي اسان هن پيڪيج کي نصب ڪيو آهي، تنهنڪري اسان فائلون ٺاهيندا آهيون index.js и .env:
touch index.js
touch .env
فائل ۾ index.js مٿي ڏنل اسڪرين شاٽ ۾ ڏيکاريل ڪوڊ جون 22 لائينون لکو (صرف لائن ۾ #8 پنھنجي اي ميل کي تبديل ڪريو) ۽ فائل ۾ .env - (بغير ڪنهن اقتباس يا اوقاف جي) جوڙو بيان ڪريو - اهم نالو / قدر APIجيڪو اسان تازو کنسول ۾ حاصل ڪيو موڪليو ويو:
SENDGRID_API_KEY=توھانجي-بلڪل-ڳجھي-sendgrid-api-key
۽ جيڪڏھن توھان گھٽ ڪم چاھيو ٿا، مخزن کي ڪلون ڪريو ۽ پيڪيجز کي انسٽال ڪريو:
git clone https://github.com/stmike/ycf-sendgrid-mailer-tutorial.git
cd ycf-sendgrid-mailer-tutorial
npm i
فائل ۾ index.js، قطار ۾ #8 اي ميل تبديل ڪريو؛ روٽ ڊاريڪٽري ۾ فائل ٺاھيو .env، ۽ ان ۾ ڪنجي جو نالو/ قدر ڏيکاريو API، جيئن مٿي ڏيکاريل آهي.
3. مقرر ڪريو
وڌيڪ يا گهٽ واضح ۽ تفصيل سان Yandex.Cloud ۽ ان کي اتي ڪيئن رکڻ لاء Yandex افعال منهنجي مضمون ۾ بيان ڪيو ويو آهي
اسان ٺاهيندا آهيون زپ-آرڪائيو (اچو ته ان کي سڏيو، مثال طور، mailer.zip)، جنهن ۾ اسان ڊاريڪٽري شامل ڪندا آهيون نوڊ_ ماڊلول ۽ فائلون .env، index.js - اسان جي منصوبي جي فهرست مان سڀڪنھن شيء کي:
اسان نالي سان هڪ فنڪشن ٺاهي رهيا آهيون ... صحيح - ميلر، کاٻي نيويگيشن مينيو ۾ اسان داخل ٿينداسين ايڊ ايڊيٽر, ڀريو گھربل فيلڊ، ۽ سوئچ ڏانھن ٽيب ZIP آرڪائيو اسان جي آرڪائيو ڊائون لوڊ ڪريو mailer.zip:
۽ هتي ڊائون لوڊ ڪرڻ لاء اڳ ذڪر ڪيل اختيار آهي API چيڪ پروجيڪٽ ۾ فائل ٺاهڻ بجاءِ سڌو هتي .env، ۽ پيڪيج کي انسٽال نه ڪريو dotenv. پر اسان اڳ ۾ ئي اهو سڀ ڪجهه ڪري چڪا آهيون، تنهنڪري مان صرف معلومات لاءِ ڏيکاري رهيو آهيان. اهو آهي، نقل ڪرڻ جي ڪا ضرورت ناهي!
ھاڻي مٿي ساڄي ڪنڊ ۾ بٽڻ تي ڪلڪ ڪريو نسخو ٺاهيو، ۽ ڪجهه سيڪنڊن جو انتظار ڪريو. جڏهن سڀ ڪجهه تيار آهي، اسان خودڪار طريقي سان سيڪشن ڏانهن وڃو جو جائزو. اتي اسان اختيار کي فعال ڪنداسين عوامي فنڪشنته جيئن توهان ٻاهرئين دنيا مان ان سان رابطو ڪري سگهو.
توهان لکت جي سامهون نيري لنڪ ڏسو ڪال ڪرڻ لاءِ لنڪ؟ ان تي ڪلڪ ڪريو. هڪ خالي برائوزر ونڊو کلي ويندي... پر انتظار ڪريو - مون کي هڪ اي ميل ملي آهي:
ھاڻي توھان واپس ڪري سگھوٿا ڪنسول ڏانھن موڪليو ويو، ۽ بٽڻ کي دٻايو انضمام جي تصديق ڪريو. سسٽم هر شي کي ان جي چينلن ذريعي چيڪ ڪندو، ۽ نتيجي طور ان کي اسڪرين وانگر موٽڻ گهرجي:
اهو آهي، ڇوڪرو (۽ ڇوڪريون، يقينا) - هر شيء بلڪل سادو ۽ خوبصورت آهي! وڌيڪ مضمون هوندا. جيڪڏهن ڪو به اهڙو ڪجهه پڙهڻ ۾ دلچسپي رکي ٿو، رڪنيت حاصل ڪريو ته جيئن توهان کي ياد نه ڪيو وڃي.
4. عطيو
جو ذريعو: www.habr.com