Dina iki kita bakal nggawe sing disebut. Fungsi Yandex (jeneng resmi
Aku uga mungsuh (nanging tanpa fanatisme) saka server tradisional, lan panyengkuyung saka supaya disebut-. serverless (serverless) solusi, amarga aku ora seneng (lan aku ora ngerti carane) ngatur server, lan malah luwih, mbayar wektu nalika lagi ora dimuat. Liyane iku fungsi. Ana sing nglayani tanpa aku, lan aku mung mbayar telpon. Ing awal Oktober 2019, Yandex nampilake Fungsi Yandex Cloud - misale jek dadi pisanan ing Federasi Rusia serverless. Lan sing paling apik yaiku kanggo katrampilan Alice sing umume gratis, mula dheweke wis ana ing visi periferalku. Nanging ayo padha miwiti.
Ayo mbayangno skenario iki. Aplikasi sampeyan (contone, skill Alice
Babagan carane saka Fungsi Yandex nggawe entri ing database Cloud Firestore kita wis katon ing tutorial
1. Nggawe akun ing SendGrid
komentarSendGrid mung pilihanku, sing digawe kanggo sawetara alasan, sing utama yaiku duwe SDK sing wis siap kanggo Node.js. Sampeyan bisa milih layanan surat liyane.
Ayo nerusake
Ing langkah sabanjure kita milih Node.js:
Sabanjure kita teka kanggo kita API-jeneng kunci (bakal ditampilake mung ing console ing dhaptar tombol, lan ora ana hubungane karo kode mangsa kita; Aku mung teka karo imperishable demo-api-key) banjur pencet tombol kasebut Nggawe Key:
Tombol bakal digawe, kita bakal nyalin lan tetep ing kapercayan paling jero. Lan kita bakal duwe layar kanthi tombol Verifikasi Integrasi, kaya ing gambar ing ngisor iki, nanging kita ora bakal ngeklik, nanging ayo nerusake nulis kode kasebut:
2. Nulis kode
Nanging kode dhewe, minangka sampeyan bisa ndeleng, ridiculously cilik - 22 baris!
Ing baris #8 Emailku wis hardcoded (lan mulane didhelikake isin) - tuduhake email sampeyan. Ing urip nyata, kita bakal nampa kabeh data (kalebu email) saka obyek acara. Contone, yen cara POST obyek dikirim menyang fungsi kita user karo lapangan (properti) email, nilai lapangan iki bisa dipikolehi kaya iki:
const { user } = event;
const email = user.email;
Lan yen alamat email liwati menyang fungsi nggunakake cara Njaluk, contone: https://functions.yandexcloud.net/123abc?[email protected]
nilai parameter email sampeyan bisa njaluk kaya iki:
const email = event.queryStringParameters.email;
Kanggo ndeleng apa persis sing ana ing obyek acara, sampeyan bisa nggawe sing paling gampang Fungsi Yandex lan twist karo pitakon:
module.exports.handler = async function (event) {
return {
'statusCode': 200,
'body': JSON.stringify(event)
};
};
Iki dibahas kanthi luwih rinci (nanging kurang jelas) ing dokumentasi resmi
Dadi, gawe direktori proyek (contone, tukang layang), pindhah menyang, miwiti proyek, nginstal dependensi:
mkdir mailer
cd mailer
npm init -y
npm i @sendgrid/mail email-validator dotenv
Ing kene mung paket sing dibutuhake @sendgrid/mail. Kantong plastik email-validator mriksa alamat email kanggo validitas (carane aku ora guess langsung?), Nanging yen kita yakin (wis wis dicenthang kanggo dangu tanpa kita), kita ora kudu nginstal (lan, saka mesthi, kita ora kudu mriksa ing kode). Kantong plastik dotenv dirancang kanggo maca cathetan saka file .NS minangka variabel runtime. Nanging ing Fungsi Yandex Sampeyan bisa nyelehake variabel kasebut langsung menyang lingkungan runtime. kepriye? - Aku bakal nuduhake ing ngisor iki. Mulane paket dotenv sampeyan uga ora bisa nginstal, lan file .NS - ora nggawe, lan ing wektu sing padha kode ing file indeks.js ora owah. Nanging ing kene kita wis nginstal paket iki, mula kita nggawe file indeks.js ΠΈ .NS:
touch index.js
touch .env
Ing file indeks.js tulis 22 baris kode sing ditampilake ing gambar ing ndhuwur (mung ing baris #8 ngganti email sampeyan), lan ing file .NS - (tanpa kuotasi utawa tandha waca) nemtokake pasangan - jeneng/nilai kunci APIsing bubar ditampa ing console SendGrid:
SENDGRID_API_KEY=jasa-rahasia-sendgrid-api-key
Lan yen sampeyan pengin kurang karya, clone repositori lan nginstal paket:
git clone https://github.com/stmike/ycf-sendgrid-mailer-tutorial.git
cd ycf-sendgrid-mailer-tutorial
npm i
Ing file indeks.js, ing baris #8 ngganti email; nggawe file ing direktori root .NS, lan ing kono nuduhake jeneng / nilai tombol API, kaya sing dituduhake ing ndhuwur.
3. Nyebar
Luwih utawa kurang cetha lan rinci babagan Yandex.Cloud lan carane sijine iku ana Fungsi Yandex diterangake ing artikelku
Kita nggawe zip-archive (ayo sebut wae, contone, mailer.zip), ing ngendi kita kalebu direktori simpul lan file .env, index.js - kabeh saka katalog proyek kita:
Kita nggawe fungsi kanthi jeneng ... kanthi bener - tukang layang, ing menu pandhu arah kiwa kita ketik Ing editor, isi kolom sing dibutuhake, banjur pindhah menyang tab arsip ZIP download arsip kita mailer.zip:
Lan ing ngisor iki pilihan sing wis kasebut sadurunge kanggo download kunci API langsung kene, tinimbang nggawe file ing project .NS, lan aja nginstal paket kasebut dotenv. Nanging kita wis nindakake kabeh iki, mula aku nuduhake mung kanggo informasi. Tegese, ora perlu duplikat!
Saiki ing pojok tengen ndhuwur klik tombol Nggawe Versi, lan ngenteni sawetara detik. Nalika kabeh wis siyap, kita bakal kanthi otomatis pindhah menyang bagean Ringkesan. Ing kana kita bakal ngaktifake pilihan kasebut fungsi umumsupaya sampeyan bisa sesambungan karo donya njaba.
Sampeyan ndeleng link biru ngelawan prasasti Link kanggo nelpon? Klik iku. Jendhela browser kosong bakal mbukak ... Nanging ngenteni - aku nampa email:
Saiki sampeyan bisa bali menyang console SendGrid, banjur pencet tombol Verifikasi Integrasi. Sistem bakal mriksa kabeh liwat saluran, lan minangka asil kudu bali layar kaya iki:
Mekaten, wong lanang (lan bocah-bocah wadon, mesthi) - kabeh pancen prasaja lan elegan! Bakal ana luwih akeh artikel. Yen ana sing kasengsem maca kaya iki, langganan supaya ora ketinggalan.
4. Sumbangan
Source: www.habr.com