A yau za mu kirkiro abin da ake kira. Yandex aiki (sunan hukuma
Ni ma abokin adawa ne (amma ba tare da tsattsauran ra'ayi ba) na sabobin gargajiya, kuma mai goyon bayan abin da ake kira. marar amfani mafita (marasa uwar garke), saboda ba na son (kuma ban san ainihin yadda) don gudanar da sabobin ba, har ma fiye da haka - don biyan lokacin da ba a ɗora su ba. Wani abu kuma shine ayyuka. Wani yana yi musu hidima ba tare da ni ba, kuma ina biyan kuɗin kira kawai. A farkon Oktoba 2019, Yandex ya gabatar da shi Ayyukan Yandex Cloud - da alama shine na farko a cikin Tarayyar Rasha marar amfani. Kuma abin da ke da kyau shi ne cewa don ƙwarewar Alice gabaɗaya suna da 'yanci, don haka tun daga lokacin suke cikin hangen nesa na. Amma bari mu fara riga.
Bari mu yi tunanin wannan yanayin. Aikace-aikacenku (misali, ƙwarewar Alice
Game da yadda daga Yandex ayyuka yi shigarwa a cikin database Cloud Firestore Mun riga mun duba shi a cikin koyawa
1. Ƙirƙiri asusu a cikin SendGrid
ПримечаниеSendGrid zabina ne kawai, wanda na yi saboda dalilai da yawa, babban ɗayan shine cewa suna da shirye-shiryen SDK don Node.js. Kuna iya zaɓar kowane sabis ɗin aikawasiku.
Mu ci gaba
A mataki na gaba za mu zaɓa Node.js:
Na gaba mu fito da namu APISunan maɓalli (za a nuna shi kawai a cikin na'ura wasan bidiyo a cikin jerin maɓallai, kuma ba shi da alaƙa da lambar mu ta gaba; Na zo ne da mara lalacewa. demo-api-key) kuma danna maɓallin Ƙirƙiri Maɓalli:
Za a samar da maɓalli, za mu kwafa shi kuma mu kiyaye shi a cikin zurfin amincewa. Kuma za mu sami allo tare da maɓalli Tabbatar da Haɗin kai, kamar yadda yake a hoton da ke ƙasa, amma ba za mu danna shi ba tukuna, amma bari mu ci gaba zuwa rubuta lambar:
2. Rubutun rubutu
Amma lambar kanta, kamar yadda kake gani, ƙananan ƙananan - 22 Lines!
A cikin layi #8 Imel nawa mai lamba ne (saboda haka a boye a cikin kunya) - da fatan za a nuna naku. A rayuwa ta ainihi, za mu karɓi duk bayanan (ciki har da email) daga abu taron. Misali, idan hanyar POST an aika wani abu zuwa aikinmu mai amfani tare da fili (dukiya) email, ana iya samun darajar wannan filin kamar haka:
const { user } = event;
const email = user.email;
Kuma idan an wuce adireshin imel zuwa aikin ta amfani da hanyar SAMU, alal misali: https://functions.yandexcloud.net/123abc?[email protected]
ƙimar siga email za ku iya samun shi kamar haka:
const email = event.queryStringParameters.email;
Don duba ainihin abin da ke cikin abu taron, zaka iya ƙirƙirar mafi sauƙi Yandex aiki kuma ku karkatar da shi da tambayoyi:
module.exports.handler = async function (event) {
return {
'statusCode': 200,
'body': JSON.stringify(event)
};
};
Ana tattauna wannan dalla-dalla (amma ƙasa da ƙasa) a cikin takaddun hukuma
Don haka, ƙirƙiri kundin tsarin aiki (misali, mailam), je zuwa gare ta, fara aikin, shigar da dogara:
mkdir mailer
cd mailer
npm init -y
npm i @sendgrid/mail email-validator dotenv
Anan kunshin kawai ake buƙata @sendgrid/mail. Jakar filastik e-mail mai tabbatarwa duba adireshin imel don inganci (ta yaya ban yi tsammani ba nan da nan?), Amma idan mun tabbata (an riga an bincika shi na dogon lokaci ba tare da mu ba), ba lallai ne mu shigar da shi ba (kuma, na Hakika, ba dole ba ne mu duba shi a cikin code). Jakar filastik dotenv tsara don karanta bayanai daga fayil .env a matsayin masu canza lokacin gudu. Amma a Yandex ayyuka Yana yiwuwa a sanya waɗannan masu canji kai tsaye cikin yanayin lokacin aiki. yaya? - Zan nuna a kasa. Saboda haka kunshin dotenv Hakanan ba za ku iya shigar da fayil ɗin ba .env - kar a ƙirƙira, kuma a lokaci guda lambar tana cikin fayil ɗin index.js kar a canza. Amma a nan mun shigar da wannan kunshin, don haka muna ƙirƙirar fayiloli index.js и .env:
touch index.js
touch .env
A cikin fayil index.js rubuta layin lamba 22 da aka nuna a hoton da ke sama (a cikin layi kawai #8 canza imel), kuma a cikin fayil ɗin .env - (ba tare da wani ƙididdiga ko alamar rubutu ba) ƙididdige su biyun - suna / ƙimar maɓalli APIwanda muka samu kwanan nan a cikin console AikaGrid:
SENDGRID_API_KEY= sirrin ku-sendgrid-api-key
Kuma idan kuna son ƙarancin aiki, rufe wurin ajiyar kuma shigar da fakitin:
git clone https://github.com/stmike/ycf-sendgrid-mailer-tutorial.git
cd ycf-sendgrid-mailer-tutorial
npm i
A cikin fayil index.js, cikin layi #8 canza imel; ƙirƙirar fayil a cikin tushen directory .env, kuma a ciki yana nuna sunan/darajar maɓalli API, kamar yadda aka nuna a sama.
3. Sanya
Fiye ko žasa a sarari kuma daki-daki game da Yandex.Cloud da yadda ake sanya shi a can Yandex ayyuka aka bayyana a cikin labarina
Mun halitta zip- Ajiyayyen (bari mu kira shi, misali, mailer.zip), wanda muka haɗa da directory node_modules da fayiloli .env, index.js - komai daga kundin aikin mu:
Mun ƙirƙira aiki tare da sunan... daidai - mailam, a cikin menu na kewayawa na hagu mun shigar Edita, cika filayen da ake buƙata, kuma canza zuwa shafin Taskar ZIP zazzage tarihin mu mailer.zip:
Kuma ga zaɓin da aka ambata a baya don saukewa API key kai tsaye a nan, maimakon ƙirƙirar fayil a cikin aikin .env, kuma kar a shigar da kunshin dotenv. Amma mun riga mun yi duk wannan, don haka ina nuna shi don bayani kawai. Wato, babu buƙatar kwafi!
Yanzu a saman kusurwar dama danna maɓallin Ƙirƙiri Sigar, kuma jira daƙiƙa biyu. Lokacin da komai ya shirya, za mu tafi ta atomatik zuwa sashin Siffar. A can za mu kunna zaɓi aikin jama'adon ku iya mu'amala da shi daga waje.
Kuna ganin shuɗin mahaɗin da ke gaban rubutun Hanyar haɗi don kira? Danna shi. Za a buɗe taga mai amfani da babu komai... Amma jira - Na karɓi imel:
Yanzu zaku iya komawa zuwa na'urar wasan bidiyo AikaGrid, kuma danna maɓallin Tabbatar da Haɗin kai. Tsarin zai duba komai ta tashoshinsa, kuma a sakamakon haka yakamata ya dawo da allo kamar haka:
Shi ke nan, mutane (da 'yan mata, ba shakka) - duk abin da gaske ne mai sauqi qwarai da kuma m! Za a sami ƙarin labarai. Idan akwai mai sha'awar karanta wani abu kamar wannan, ku yi subscribing domin kada ku rasa.
4. Kyauta
source: www.habr.com