Yandex செயல்பாடுகள் அஞ்சல் அனுப்புகின்றன

Yandex செயல்பாடுகள் அஞ்சல் அனுப்புகின்றன

இன்று நாம் என்று அழைக்கப்படுவதை உருவாக்குவோம். யாண்டெக்ஸ் செயல்பாடு (அதிகாரப்பூர்வ பெயர் யாண்டெக்ஸ் கிளவுட் செயல்பாடுகள்), இது அஞ்சல் சேவையுடன் ஒத்துழைத்தது SendGrid நிம்மதியாக உறங்கும் பயனர்களுக்கு "சோப்பு" அனுப்பும் (கேலிக்கு - நாம் அனைவரும் ஸ்பேமுக்கு எதிரானவர்கள் என்று எனக்குத் தெரியும்).

நான் பாரம்பரிய சேவையகங்களின் எதிர்ப்பாளர் (ஆனால் வெறித்தனம் இல்லாமல்), மற்றும் அழைக்கப்படுபவர்களின் ஆதரவாளர். serverless (சர்வர்லெஸ்) தீர்வுகள், ஏனென்றால் சர்வர்களை நான் விரும்பாததால் (எப்படி நிர்வகிப்பது என்று எனக்குத் தெரியவில்லை), இன்னும் அதிகமாக, அவை ஏற்றப்படாத நேரத்திற்கு பணம் செலுத்துங்கள். மற்றொரு விஷயம் செயல்பாடுகள். யாரோ நான் இல்லாமல் அவர்களுக்கு சேவை செய்கிறேன், நான் அழைப்புகளுக்கு மட்டுமே பணம் செலுத்துகிறேன். அக்டோபர் 2019 இன் தொடக்கத்தில், யாண்டெக்ஸ் அதை வழங்கியது யாண்டெக்ஸ் கிளவுட் செயல்பாடுகள் - ரஷியன் கூட்டமைப்பு முதல் தெரிகிறது serverless. குறிப்பாக நல்ல விஷயம் என்னவென்றால், ஆலிஸின் திறமைகளுக்கு அவை பொதுவாக இலவசம், அதனால் அவர்கள் என் புறப் பார்வையில் இருந்திருக்கிறார்கள். ஆனால் ஏற்கனவே தொடங்குவோம்.

இந்தக் காட்சியை கற்பனை செய்து பார்க்கலாம். உங்கள் விண்ணப்பம் (உதாரணமாக, ஆலிஸின் திறமை நினைவில் வைத்து மறந்துவிடு இது, மேலும் வேலை செய்கிறது யாண்டெக்ஸ் செயல்பாடுகள்) ஒரு டிஜிட்டல் தயாரிப்பை வாங்க பயனரை அழைக்கிறது, எடுத்துக்காட்டாக, கூடுதல் விருப்பங்கள் மற்றும் பயனர் பணம் செலுத்துகிறார். சில வகையான கட்டண முறை (குழப்பமாக ஒத்திருக்கிறது யாண்டேக்ஸ்) கட்டணத்தைச் செயல்படுத்தி, நீங்கள் வழங்கிய முகவரிக்கு அனுப்புகிறது (மேலும் அழைப்பதற்கான இணைப்பு எங்களிடம் இருக்கும் யாண்டெக்ஸ் செயல்பாடுகள்) , HTTPபணம் செலுத்துபவரின் தொகை, முழுப்பெயர், தொலைபேசி எண் மற்றும் மின்னஞ்சல் போன்ற கட்டண விவரங்கள் அடங்கிய கோரிக்கை. இந்தத் தரவை ஏதேனும் ஒரு வழியில் செயலாக்க விரும்புகிறோம், எடுத்துக்காட்டாக: தொகையைச் சரிபார்த்து, தரவுத்தளத்தில் பொருத்தமான உள்ளீடுகளைச் செய்யுங்கள், பயனர்களுக்கு அனுப்பவும் எஸ்எம்எஸ் и மின்னஞ்சல் பணம் செலுத்தியதற்கான ரசீது மற்றும் மேலதிக வழிமுறைகளை உறுதிப்படுத்துதல். எனவே நீங்களே நுண் சேவை.

எப்படி இருந்து என்பது பற்றி யாண்டெக்ஸ் செயல்பாடுகள் தரவுத்தளத்தில் உள்ளீடுகளைச் செய்யுங்கள் கிளவுட் ஃபயர்ஸ்டோர் நாங்கள் ஏற்கனவே டுடோரியலில் பார்த்தோம் ஆலிஸ் எல்லாவற்றையும் நினைவில் வைத்திருக்கிறார் (மற்றும் எதிர்காலத்தில், மற்றொரு தரவுத்தளத்திற்கான உதாரணத்தை நாங்கள் கருத்தில் கொள்வோம் - யாண்டெக்ஸ் தரவுத்தளம்) பயனர்களுக்கு எப்படி அனுப்புவது என்பது பற்றி எஸ்எம்எஸ் மற்றும் எங்கள் விண்ணப்பத்தை ஒருங்கிணைக்கவும் யாண்டெக்ஸ்.பணம் - எதிர்காலத்தில் நாங்கள் அதை வரிசைப்படுத்துவோம். இப்போது கடிதங்களை அனுப்புவதை சமாளிக்கலாம்.

1. SendGrid இல் கணக்கை உருவாக்கவும்

கருத்துSendGrid என்பது எனது விருப்பமாகும், இது பல காரணங்களுக்காக நான் செய்தேன், முக்கியமாக அவர்கள் Node.js க்காக ஒரு ஆயத்த SDK வைத்திருக்கிறார்கள். நீங்கள் வேறு எந்த அஞ்சல் சேவையையும் தேர்வு செய்யலாம்.

தொடரலாம் கணக்கு பதிவு பக்கத்திற்கு மற்றும் அங்குள்ள பதிவு படிவத்தை நிரப்பவும். பின்னர் நாங்கள் செல்கிறோம் கட்டுப்பாட்டகம், வழிசெலுத்தல் பேனலில் தேர்ந்தெடுக்கவும் மின்னஞ்சல் API -> ஒருங்கிணைப்பு வழிகாட்டி, மற்றும் பிரதான குழுவில் - வலை API нажимаем кнопку தேர்வு. எல்லாம் படத்தில் உள்ளது போல் உள்ளது:

Yandex செயல்பாடுகள் அஞ்சல் அனுப்புகின்றன

அடுத்த கட்டத்தில் நாம் தேர்ந்தெடுக்கிறோம் node.js:

Yandex செயல்பாடுகள் அஞ்சல் அனுப்புகின்றன

அடுத்ததாக நாங்கள் எங்களுக்காக வருகிறோம் ஏபிஐ-முக்கிய பெயர் (விசைகளின் பட்டியலில் உள்ள கன்சோலில் மட்டுமே காட்டப்படும், மேலும் எங்கள் எதிர்கால குறியீட்டுடன் எந்த தொடர்பும் இல்லை; நான் அழியாததைக் கொண்டு வந்தேன் டெமோ-ஏபி-விசை) மற்றும் பொத்தானை அழுத்தவும் விசையை உருவாக்கவும்:

Yandex செயல்பாடுகள் அஞ்சல் அனுப்புகின்றன

விசை உருவாக்கப்படும், அதை நகலெடுத்து ஆழ்ந்த நம்பிக்கையில் வைத்திருப்போம். மேலும் ஒரு பொத்தானைக் கொண்ட திரையை நாங்கள் வைத்திருப்போம் ஒருங்கிணைப்பை சரிபார்க்கவும், கீழே உள்ள படத்தில் உள்ளதைப் போல, ஆனால் நாங்கள் அதை இன்னும் கிளிக் செய்ய மாட்டோம், ஆனால் குறியீட்டை எழுதுவதற்கு செல்லலாம்:

Yandex செயல்பாடுகள் அஞ்சல் அனுப்புகின்றன

2. எழுத்து குறியீடு

ஆனால் குறியீடு, நீங்கள் பார்க்க முடியும் என, அபத்தமானது சிறியது - 22 வரிகள்!

Yandex செயல்பாடுகள் அஞ்சல் அனுப்புகின்றன

கோட்டில் #8 எனது மின்னஞ்சல் ஹார்ட்கோட் செய்யப்பட்டுள்ளது (எனவே வெட்கத்துடன் மறைக்கப்பட்டுள்ளது) - தயவுசெய்து உங்களுடையதைக் குறிப்பிடவும். நிஜ வாழ்க்கையில், எல்லா தரவையும் பெறுவோம் (உட்பட மின்னஞ்சல்) பொருளிலிருந்து நிகழ்வு. உதாரணமாக, முறை என்றால் போஸ்ட் ஒரு பொருள் நமது செயல்பாட்டிற்கு அனுப்பப்படுகிறது பயனர் புலத்துடன் (சொத்து) மின்னஞ்சல், இந்த புலத்தின் மதிப்பை இவ்வாறு பெறலாம்:

const { user } = event;
const email = user.email;

மற்றும் மின்னஞ்சல் முகவரி முறையின் மூலம் செயல்பாட்டிற்கு அனுப்பப்பட்டால் GETஎடுத்துக்காட்டாக: https://functions.yandexcloud.net/123abc?[email protected]
அளவுரு மதிப்பு மின்னஞ்சல் நீங்கள் அதை இப்படி பெறலாம்:

const email = event.queryStringParameters.email;

ஒரு பொருளில் சரியாக என்ன இருக்கிறது என்பதைப் பார்க்க நிகழ்வு, நீங்கள் எளிமையானதை உருவாக்கலாம் யாண்டெக்ஸ் செயல்பாடு மற்றும் அதை வினவல்களுடன் திருப்பவும்:

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 இயக்க நேர மாறிகளாக. ஆனால் உள்ளே யாண்டெக்ஸ் செயல்பாடுகள் இந்த மாறிகளை நேரடியாக இயக்க நேர சூழலில் வைக்க முடியும். எப்படி? - நான் அதை கீழே காட்டுகிறேன். எனவே தொகுப்பு dotenv நீங்கள் அதை நிறுவ முடியாது, மற்றும் கோப்பு .env - உருவாக்க வேண்டாம், அதே நேரத்தில் குறியீடு கோப்பில் உள்ளது index.js மாற்ற வேண்டாம். ஆனால் இங்கே நாம் இந்த தொகுப்பை நிறுவியுள்ளோம், எனவே நாங்கள் கோப்புகளை உருவாக்குகிறோம் index.js и .env:

touch index.js
touch .env

கோப்பில் index.js மேலே உள்ள ஸ்கிரீன்ஷாட்டில் காட்டப்பட்டுள்ள குறியீட்டின் 22 வரிகளை எழுதவும் (வரியில் மட்டும் #8 உங்கள் மின்னஞ்சலை மாற்றவும்), மற்றும் கோப்பில் .env - (எந்த மேற்கோள்கள் அல்லது நிறுத்தற்குறிகள் இல்லாமல்) ஜோடியைக் குறிப்பிடவும் - முக்கிய பெயர்/மதிப்பு ஏபிஐநாங்கள் சமீபத்தில் கன்சோலில் பெற்றோம் SendGrid:
SENDGRID_API_KEY=your-very-secret-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, மற்றும் அதில் விசையின் பெயர்/மதிப்பைக் குறிக்கவும் ஏபிஐ, மேலே காட்டப்பட்டுள்ளபடி.

3. வரிசைப்படுத்து

பற்றி அதிகமாகவோ அல்லது குறைவாகவோ தெளிவாகவும் விரிவாகவும் Yandex.Cloud மற்றும் அதை எப்படி அங்கு வைப்பது யாண்டெக்ஸ் செயல்பாடுகள் என் கட்டுரையில் விவரிக்கப்பட்டுள்ளது பிட்ரிக்ஸ் நிலத்தில் ஆலிஸ் - நான் அறியாதவர்களை இந்த நாட்டிற்கு அனுப்புகிறேன், மற்ற அனைவருக்கும் (மற்றும் திரும்பி வந்தவர்களுக்கு) - பின்னர் ஒரு சிறிய காமிக் புத்தகம் (அதாவது படங்கள் மற்றும் உரைகளின் தொடர்).

நாங்கள் உருவாக்குகிறோம் ZIP-காப்பகம் (அதை அழைப்போம், எடுத்துக்காட்டாக, mailer.zip), இதில் கோப்பகத்தைச் சேர்க்கிறோம் முனை_மாடூல்கள் மற்றும் கோப்புகள் .env, index.js - எங்கள் திட்ட அட்டவணையில் இருந்து அனைத்தும்:

Yandex செயல்பாடுகள் அஞ்சல் அனுப்புகின்றன

பெயருடன் ஒரு செயல்பாட்டை உருவாக்குகிறோம்... சரியாக - அஞ்சல், இடது வழிசெலுத்தல் மெனுவில் உள்ளிடுகிறோம் ஆசிரியர், தேவையான புலங்களை நிரப்பி, தாவலுக்கு மாறவும் ZIP காப்பகம் எங்கள் காப்பகத்தைப் பதிவிறக்கவும் mailer.zip:

Yandex செயல்பாடுகள் அஞ்சல் அனுப்புகின்றன

பதிவிறக்கம் செய்ய முன்பு குறிப்பிட்ட விருப்பம் இங்கே உள்ளது API விசை திட்டத்தில் ஒரு கோப்பை உருவாக்குவதை விட நேரடியாக இங்கே .env, மற்றும் தொகுப்பை நிறுவ வேண்டாம் dotenv. ஆனால் இதையெல்லாம் நாங்கள் ஏற்கனவே செய்துவிட்டோம், எனவே நான் அதை தகவலுக்காகக் காட்டுகிறேன். அதாவது, நகல் எடுக்க வேண்டிய அவசியமில்லை!

Yandex செயல்பாடுகள் அஞ்சல் அனுப்புகின்றன

இப்போது மேல் வலது மூலையில் உள்ள பொத்தானைக் கிளிக் செய்யவும் பதிப்பை உருவாக்கவும், மற்றும் சில வினாடிகள் காத்திருக்கவும். எல்லாம் தயாரானதும், தானாகவே பிரிவுக்குச் செல்வோம் கண்ணோட்டம். அங்கு நாம் விருப்பத்தை செயல்படுத்துவோம் பொது செயல்பாடுஅதனால் நீங்கள் வெளி உலகத்தில் இருந்து தொடர்பு கொள்ளலாம்.

Yandex செயல்பாடுகள் அஞ்சல் அனுப்புகின்றன

கல்வெட்டுக்கு எதிரே நீல நிற இணைப்பு உள்ளது அழைப்பு இணைப்பு? அதை கிளிக் செய்யவும். வெற்று உலாவி சாளரம் திறக்கும்... ஆனால் காத்திருங்கள் - எனக்கு மின்னஞ்சல் வந்தது:

Yandex செயல்பாடுகள் அஞ்சல் அனுப்புகின்றன

இப்போது நீங்கள் கன்சோலுக்குத் திரும்பலாம் SendGrid, மற்றும் பொத்தானை அழுத்தவும் ஒருங்கிணைப்பை சரிபார்க்கவும். கணினி அதன் சேனல்கள் மூலம் அனைத்தையும் சரிபார்க்கும், இதன் விளைவாக இது போன்ற ஒரு திரையைத் திரும்பப் பெற வேண்டும்:

Yandex செயல்பாடுகள் அஞ்சல் அனுப்புகின்றன

அவ்வளவுதான், தோழர்களே (மற்றும் பெண்கள், நிச்சயமாக) - எல்லாம் மிகவும் எளிமையானது மற்றும் நேர்த்தியானது! மேலும் கட்டுரைகள் இருக்கும். யாராவது இதைப் படிக்க ஆர்வமாக இருந்தால், நீங்கள் தவறவிடாமல் குழுசேரவும்.

4. நன்கொடைகள்

Yandex செயல்பாடுகள் அஞ்சல் அனுப்புகின்றன

ஆதாரம்: www.habr.com

கருத்தைச் சேர்