نن ورځ موږ به تش په نامه جوړ کړو. د Yandex فعالیت (رسمي نوم
زه هم د دودیزو سرورونو مخالف (مګر پرته له جنون) او د تش په نامه ملاتړی یم. serverless (بې سرور) حلونه، ځکه چې زه نه خوښوم (او زه واقعیا نه پوهیږم چې څنګه) سرورونه اداره کړم، او حتی نور هم، د هغه وخت لپاره پیسې ورکړئ کله چې دوی بار شوي نه وي. بله خبره د افعالو ده. یو څوک زما پرته دوی ته خدمت کوي، او زه یوازې د تلیفونونو لپاره پیسې ورکوم. د اکتوبر 2019 په پیل کې، Yandex خپل وړاندې کړ د Yandex کلاوډ فعالیتونه - داسې ښکاري چې د روسیې په فدراسیون کې لومړی وي serverless. او هغه څه چې په ځانګړي ډول ښه دي دا دي چې د ایلیس مهارتونو لپاره دوی عموما وړیا دي، نو دوی له هغه وخت راهیسې زما په لید لید کې دي. مګر راځئ چې لا دمخه پیل وکړو.
راځئ چې دا سناریو تصور کړو. ستاسو غوښتنلیک (د مثال په توګه، د ایلیس مهارت
د څرنګوالي په اړه د Yandex دندې په ډیټابیس کې ننوتل Cloud Firestore موږ دا دمخه په ټیوټوریل کې لیدلي
1. په SendGrid کې یو حساب جوړ کړئ
تبصرهSendGrid یوازې زما انتخاب دی، کوم چې ما د څو دلیلونو لپاره جوړ کړی، اصلي یې دا دی چې دوی د Node.js لپاره چمتو شوي SDK لري. تاسو کولی شئ کوم بل بریښنالیک خدمت وټاکئ.
موږ تېر شو
په بل ګام کې موږ انتخاب کوو Node.js:
بیا موږ د خپل لپاره سره راځو API-کیلي نوم (د کیلي لیست کې به یوازې په کنسول کې ښودل شي ، او زموږ د راتلونکي کوډ سره هیڅ تړاو نلري؛ زه د نه هیریدونکي سره راغلی یم demo-api-key) او تڼۍ فشار کړئ کیلي جوړول:
کلیدي به پیدا شي، موږ به یې کاپي کړو او په ژور باور کې به یې وساتو. او موږ به د تڼۍ سره یو سکرین ولرو د ادغام تصدیق، لکه څنګه چې لاندې عکس کې دی ، مګر موږ به یې لاهم کلیک نه کړو ، مګر راځئ چې د کوډ لیکلو ته لاړ شو:
2. د لیکلو کوډ
مګر کوډ پخپله، لکه څنګه چې تاسو لیدلی شئ، په خندا وړ کوچنی دی - 22 لینونه!
په لیکه کې #8 زما بریښنالیک هارډ کوډ شوی (او له همدې امله په شرم سره پټ شوی) - مهرباني وکړئ خپل په ګوته کړئ. په ریښتیني ژوند کې، موږ به ټول معلومات ترلاسه کړو (پشمول ایمیل) له څيز څخه پيښه. د مثال په توګه، که میتود وروستۍ یو شی زموږ فعالیت ته لیږل کیږي د کارونکي عکس د ساحې سره (ملکیت) ایمیلد دې ساحې ارزښت په لاندې ډول ترلاسه کیدی شي:
const { user } = event;
const email = user.email;
او که د بریښنالیک پته د میتود په کارولو سره فنکشن ته لیږدول کیږي ترلاسه سرهد بیلګې په توګه: 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:
SENDGRID_API_KEY=ستاسو-خورا-پټ-Sendgrid-api-کیلي
او که تاسو لږ کار غواړئ، ذخیره کلون کړئ او کڅوړې نصب کړئ:
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 - زموږ د پروژې کتلاګ څخه هرڅه:
موږ د نوم سره یو فنکشن جوړوو ... په سمه توګه - میلر، په کیڼ نیویګیشن مینو کې موږ ننوځو سمونګرد اړتیا وړ ساحې ډک کړئ، او ټب ته لاړ شئ زپ آرشیف زموږ آرشیف ډاونلوډ کړئ mailer.zip:
او دلته د ډاونلوډ کولو لپاره مخکې ذکر شوی اختیار دی د API کیلي مستقیم دلته، په پروژه کې د فایل جوړولو پر ځای .env، او بسته مه نصب کړئ dotenv. مګر موږ دمخه دا ټول کړي دي، نو زه دا یوازې د معلوماتو لپاره ښیې. دا دی، د نقل کولو اړتیا نشته!
اوس په پورتنۍ ښیې کونج کې تڼۍ کلیک وکړئ نسخه جوړه کړئ، او یو څو ثانیې انتظار وکړئ. کله چې هرڅه چمتو وي، موږ به په اتوماتيک ډول برخې ته لاړ شو عمومي کتنه. هلته به موږ اختیار فعال کړو عامه فعالیتنو تاسو کولی شئ له بهرنۍ نړۍ سره اړیکه ونیسئ.
تاسو د لیکنې په مقابل کې نیلي لینک وګورئ د زنګ وهلو لینک؟ کلیک یې کړئ. د براوزر خالي کړکۍ به خلاص شي ... مګر انتظار وکړئ - ما یو بریښنالیک ترلاسه کړ:
اوس تاسو کولی شئ کنسول ته بیرته راشئ SendGrid، او تڼۍ فشار کړئ د ادغام تصدیق. سیسټم به هرڅه د خپلو چینلونو له لارې وګوري، او د پایلې په توګه دا باید د دې په څیر یو سکرین بیرته راولي:
دا دی، هلکان (او نجونې، البته) - هرڅه واقعیا خورا ساده او ښکلي دي! نورې مقالې به وي. که څوک د دې په څیر یو څه لوستلو سره علاقه لري، ګډون وکړئ ترڅو تاسو له لاسه ورنکړئ.
4. بسپنه
سرچینه: www.habr.com