د Yandex فعالیت میلونه لیږل کیږي

د Yandex فعالیت میلونه لیږل کیږي

نن ورځ موږ به تش په نامه جوړ کړو. د Yandex فعالیت (رسمي نوم د Yandex کلاوډ فعالیتونه)، کوم چې د بریښنالیک خدمت سره یوځای شوی SendGrid به "صابون" په سوله ایز ډول ویده کونکو کاروونکو ته واستوي (یوازې ټوکې کول - زه پوهیږم چې موږ ټول د سپیم پروړاندې یو).

زه هم د دودیزو سرورونو مخالف (مګر پرته له جنون) او د تش په نامه ملاتړی یم. serverless (بې سرور) حلونه، ځکه چې زه نه خوښوم (او زه واقعیا نه پوهیږم چې څنګه) سرورونه اداره کړم، او حتی نور هم، د هغه وخت لپاره پیسې ورکړئ کله چې دوی بار شوي نه وي. بله خبره د افعالو ده. یو څوک زما پرته دوی ته خدمت کوي، او زه یوازې د تلیفونونو لپاره پیسې ورکوم. د اکتوبر 2019 په پیل کې، Yandex خپل وړاندې کړ د Yandex کلاوډ فعالیتونه - داسې ښکاري چې د روسیې په فدراسیون کې لومړی وي serverless. او هغه څه چې په ځانګړي ډول ښه دي دا دي چې د ایلیس مهارتونو لپاره دوی عموما وړیا دي، نو دوی له هغه وخت راهیسې زما په لید لید کې دي. مګر راځئ چې لا دمخه پیل وکړو.

راځئ چې دا سناریو تصور کړو. ستاسو غوښتنلیک (د مثال په توګه، د ایلیس مهارت په یاد ولرئ او هیر کړئ کوم چې، په لاره کې، هم کار کوي د Yandex دندې) کارونکي ته بلنه ورکوي چې ډیجیټل محصول واخلي، د بیلګې په توګه، اضافي اختیارونه، او کاروونکي پیسې ورکوي. د تادیې یو ډول سیسټم (په مغشوش ډول ورته ورته Yandex.Money) تادیه پروسس کوي او هغه پته ته لیږي چې تاسو یې چمتو کوئ (او موږ به د زنګ وهلو لپاره لینک ولرو د Yandex دندې) HTTP- یوه غوښتنه چې د تادیې توضیحات لري ، لکه پیسې ، بشپړ نوم ، د تلیفون شمیره او د تادیه کونکي بریښنالیک. موږ غواړو دا ډاټا په یو ډول پروسس کړو، د بیلګې په توګه: مقدار وګورئ، په ډیټابیس کې مناسب داخل کړئ، کاروونکو ته واستوئ پیغامونه и enamel د تادیاتو رسید تایید او نورو لارښوونو سره. نو پخپله کوچني خدمتونه.

د څرنګوالي په اړه د Yandex دندې په ډیټابیس کې ننوتل Cloud Firestore موږ دا دمخه په ټیوټوریل کې لیدلي ایلیس هرڅه په یاد لري (او په راتلونکي کې، زه فکر کوم، موږ به د بل ډیټابیس لپاره یو مثال په پام کې ونیسو - د Yandex ډیټابیس). کاروونکو ته د لیږلو څرنګوالي په اړه پیغامونه او زموږ غوښتنلیک سره یوځای کړئ Yandex.Money - موږ به یې په نږدې راتلونکي کې حل کړو. اوس راځئ چې یوازې د لیکونو لیږلو سره معامله وکړو.

1. په SendGrid کې یو حساب جوړ کړئ

تبصرهSendGrid یوازې زما انتخاب دی، کوم چې ما د څو دلیلونو لپاره جوړ کړی، اصلي یې دا دی چې دوی د Node.js لپاره چمتو شوي SDK لري. تاسو کولی شئ کوم بل بریښنالیک خدمت وټاکئ.

موږ تېر شو د حساب ثبتولو پاڼې ته او هلته د راجستریشن فورمه ډکه کړئ. بیا موږ ته ځو ډشبورډپه نیویګیشن پینل کې انتخاب کړئ د بریښنالیک API -> د ادغام لارښود، او په اصلي پینل کې - ویب API او تڼۍ فشار کړئ غوره. هرڅه لکه څنګه چې په انځور کې دي:

د Yandex فعالیت میلونه لیږل کیږي

په بل ګام کې موږ انتخاب کوو Node.js:

د Yandex فعالیت میلونه لیږل کیږي

بیا موږ د خپل لپاره سره راځو API-کیلي نوم (د کیلي لیست کې به یوازې په کنسول کې ښودل شي ، او زموږ د راتلونکي کوډ سره هیڅ تړاو نلري؛ زه د نه هیریدونکي سره راغلی یم demo-api-key) او تڼۍ فشار کړئ کیلي جوړول:

د Yandex فعالیت میلونه لیږل کیږي

کلیدي به پیدا شي، موږ به یې کاپي کړو او په ژور باور کې به یې وساتو. او موږ به د تڼۍ سره یو سکرین ولرو د ادغام تصدیق، لکه څنګه چې لاندې عکس کې دی ، مګر موږ به یې لاهم کلیک نه کړو ، مګر راځئ چې د کوډ لیکلو ته لاړ شو:

د Yandex فعالیت میلونه لیږل کیږي

2. د لیکلو کوډ

مګر کوډ پخپله، لکه څنګه چې تاسو لیدلی شئ، په خندا وړ کوچنی دی - 22 لینونه!

د Yandex فعالیت میلونه لیږل کیږي

په لیکه کې #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 دندې زما په مقاله کې تشریح شوی الیس د Bitrix په ځمکه کې - زه دې هیواد ته جاهلان لیږم، او د هرچا لپاره (او هغه څوک چې بیرته راستانه شوي) - بیا یو کوچنی مزاحیه کتاب (یعنې د انځورونو او متنونو لړۍ).

موږ جوړوو زيب- آرشیف (راځئ چې ورته ووایو، د بیلګې په توګه، mailer.zip)، په کوم کې چې موږ لارښود شامل کړو نوډ_ډولونه او فایلونه .env، index.js - زموږ د پروژې کتلاګ څخه هرڅه:

د Yandex فعالیت میلونه لیږل کیږي

موږ د نوم سره یو فنکشن جوړوو ... په سمه توګه - میلر، په کیڼ نیویګیشن مینو کې موږ ننوځو سمونګرد اړتیا وړ ساحې ډک کړئ، او ټب ته لاړ شئ زپ آرشیف زموږ آرشیف ډاونلوډ کړئ mailer.zip:

د Yandex فعالیت میلونه لیږل کیږي

او دلته د ډاونلوډ کولو لپاره مخکې ذکر شوی اختیار دی د API کیلي مستقیم دلته، په پروژه کې د فایل جوړولو پر ځای .env، او بسته مه نصب کړئ dotenv. مګر موږ دمخه دا ټول کړي دي، نو زه دا یوازې د معلوماتو لپاره ښیې. دا دی، د نقل کولو اړتیا نشته!

د Yandex فعالیت میلونه لیږل کیږي

اوس په پورتنۍ ښیې کونج کې تڼۍ کلیک وکړئ نسخه جوړه کړئ، او یو څو ثانیې انتظار وکړئ. کله چې هرڅه چمتو وي، موږ به په اتوماتيک ډول برخې ته لاړ شو عمومي کتنه. هلته به موږ اختیار فعال کړو عامه فعالیتنو تاسو کولی شئ له بهرنۍ نړۍ سره اړیکه ونیسئ.

د Yandex فعالیت میلونه لیږل کیږي

تاسو د لیکنې په مقابل کې نیلي لینک وګورئ د زنګ وهلو لینک؟ کلیک یې کړئ. د براوزر خالي کړکۍ به خلاص شي ... مګر انتظار وکړئ - ما یو بریښنالیک ترلاسه کړ:

د Yandex فعالیت میلونه لیږل کیږي

اوس تاسو کولی شئ کنسول ته بیرته راشئ SendGrid، او تڼۍ فشار کړئ د ادغام تصدیق. سیسټم به هرڅه د خپلو چینلونو له لارې وګوري، او د پایلې په توګه دا باید د دې په څیر یو سکرین بیرته راولي:

د Yandex فعالیت میلونه لیږل کیږي

دا دی، هلکان (او نجونې، البته) - هرڅه واقعیا خورا ساده او ښکلي دي! نورې مقالې به وي. که څوک د دې په څیر یو څه لوستلو سره علاقه لري، ګډون وکړئ ترڅو تاسو له لاسه ورنکړئ.

4. بسپنه

د Yandex فعالیت میلونه لیږل کیږي

سرچینه: www.habr.com

Add a comment