آئیے بغیر سرور کے فنکشن کے ساتھ کیو آر کوڈ جنریٹر بنائیں! پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عی

آئیے بغیر سرور کے فنکشن کے ساتھ کیو آر کوڈ جنریٹر بنائیں!

QR کوڈ مضحکہ خیز ہیں، ٹھیک ہے؟ ہم ان سے پیار کرتے ہیں، پھر ان سے نفرت کرتے ہیں، پھر ان سے دوبارہ پیار کرتے ہیں۔ بہر حال، وہ حال ہی میں دوبارہ پاپ اپ ہو رہے ہیں اور اس نے مجھے یہ سوچنے پر مجبور کیا کہ وہ کیسے بنائے گئے ہیں۔ وہاں ایک گیزلین کیو آر کوڈ جنریٹرز کی طرح موجود ہیں، لیکن کہیں کہ یہ کچھ ایسا ہے جو آپ کو اپنی ویب سائٹ پر کرنے کی ضرورت ہے۔ یہ پیکج یہ کر سکتے ہیں. لیکن اس کا وزن بھی 180 KB ہے ہر اس چیز کے لیے جس کی اسے سامان پیدا کرنے کی ضرورت ہے۔ آپ اپنی باقی اسکرپٹس کے ساتھ یہ سب کچھ پیش نہیں کرنا چاہیں گے۔

اب، میں کلاؤڈ فنکشنز کے تصور کے لیے نسبتاً نیا ہوں، لیکن میں نے سنا ہے کہ مکھی کے گھٹنے کچھ اس طرح کے لیے ہیں۔ اس طرح، فنکشن سرور پر کہیں رہتا ہے جسے ضرورت پڑنے پر کال کیا جا سکتا ہے۔ فنکشن کو چلانے کے لیے تھوڑا سا API کی طرح ترتیب دیں۔

کچھ میزبان کسی قسم کی کلاؤڈ فنکشن کی خصوصیت پیش کرتے ہیں۔ DigitalOcean ان میں سے ایک ہے! اور، بوندوں کی طرح، فنکشنز کو تعینات کرنا کافی آسان ہے۔

مقامی طور پر ایک فنکشن فولڈر بنائیں

DigitalOcean کے پاس ایک CLI ہے جو ایک کمانڈ کے ساتھ ہے جو ہمارے لیے چیزوں کو سہارا دے گا۔ cd جہاں بھی آپ چیزیں ترتیب دینا اور چلانا چاہتے ہیں:

doctl serverless init --language js qr-generator

نوٹ کریں کہ زبان واضح طور پر بیان کی گئی ہے۔ DigitalOcean فنکشنز PHP اور Python کو بھی سپورٹ کرتے ہیں۔

ہمیں ایک اچھا صاف ستھرا پروجیکٹ ملتا ہے۔ qr-generator ایک /packages فولڈر جو پروجیکٹ کے تمام افعال رکھتا ہے۔ وہاں ایک نمونہ فنکشن ہے، لیکن ہم اسے ابھی کے لیے نظر انداز کر سکتے ہیں اور ایک بنا سکتے ہیں۔ qr اس کے بالکل ساتھ فولڈر:

آئیے بغیر سرور کے فنکشن کے ساتھ کیو آر کوڈ جنریٹر بنائیں! پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عی
آئیے بغیر سرور کے فنکشن کے ساتھ کیو آر کوڈ جنریٹر بنائیں!

وہ فولڈر وہ جگہ ہے جہاں دونوں qrcode پیکج اور ہمارے qr.js فنکشن زندہ رہے گا۔ تو، چلو cd میں packages/sample/qr اور پیکج انسٹال کریں:

npm install --save qrcode

اب ہم فنکشن کو ایک نئے میں لکھ سکتے ہیں۔ qr.js فائل:

const qrcode = require('qrcode') exports.main = (args) => { return qrcode.toDataURL(args.text).then(res => ({ headers: { 'content-type': 'text/html; charset=UTF-8' }, body: args.img == undefined ? res : `<img src="${res}">` }))
} if (process.env.TEST) exports.main({text:"hello"}).then(console.log)

جو کچھ کر رہا ہے اس کی ضرورت ہے۔ qrcode پیکیج اور ایک فنکشن برآمد کرنا جو بنیادی طور پر ایک پیدا کرتا ہے۔ <img> ماخذ کے لیے base64 PNG کے ساتھ ٹیگ کریں۔ ہم اسے ٹرمینل میں بھی جانچ سکتے ہیں:

doctl serverless functions invoke sample/qr -p "text:css-tricks.com"

تشکیل فائل کو چیک کریں۔

ہمیں یہاں ایک اضافی قدم درکار ہے۔ جب پروجیکٹ کا سہارا لیا گیا تو ہمیں یہ تھوڑا سا ملا project.yml فائل اور یہ اس کے بارے میں کچھ معلومات کے ساتھ فنکشن کو تشکیل دیتا ہے۔ یہ وہی ہے جو پہلے سے طے شدہ ہے:

targetNamespace: ''
parameters: {}
packages: - name: sample environment: {} parameters: {} annotations: {} actions: - name: hello binary: false main: '' runtime: 'nodejs:default' web: true parameters: {} environment: {} annotations: {} limits: {}

وہ نمایاں لائنیں دیکھیں؟ دی packages: name جائیداد ہے جہاں میں packages فولڈر میں فنکشن رہتا ہے، جسے فولڈر کہتے ہیں۔ sample اس معاملے میں. The actions/ name پراپرٹی خود فنکشن کا نام ہے، جو فائل کا نام ہے۔ یہ ہے hello پہلے سے طے شدہ طور پر جب ہم پروجیکٹ کو گھماؤ، لیکن ہم نے اپنا نام رکھا qr.jsتو ہمیں اس لائن کو تبدیل کرنا چاہیے۔ hello کرنے کے لئے qr آگے بڑھنے سے پہلے

فنکشن کو تعینات کریں۔

ہم اسے براہ راست کمانڈ لائن سے کر سکتے ہیں! سب سے پہلے، ہم DigitalOcean سینڈ باکس ماحول سے جڑتے ہیں لہذا ہمارے پاس جانچ کے لیے ایک لائیو URL ہے:

## You will need an DO API key handy
doctl sandbox connect

اب ہم فنکشن کو تعینات کر سکتے ہیں:

doctl sandbox deploy qr-generator

ایک بار تعینات ہونے کے بعد، ہم ایک URL پر فنکشن تک رسائی حاصل کر سکتے ہیں۔ URL کیا ہے؟ اس کے لیے ایک حکم ہے:

doctl sbx fn get sample/qr --url
https://faas-nyc1-2ef2e6cc.doserverless.co/api/v1/web/fn-10a937cb-1f12-427b-aadd-f43d0b08d64a/sample/qr

ہیک ہاں! اس پورے پیکیج کو باقی اسکرپٹس کے ساتھ بھیجنے کی مزید ضرورت نہیں ہے! ہم اس URL کو مار سکتے ہیں اور وہاں سے QR کوڈ بنا سکتے ہیں۔

ڈیمو

We fetch API اور واقعی میں بس اتنا ہی ہے!

کوڈ پین ایمبیڈ فال بیک

آئیے بغیر سرور کے فنکشن کے ساتھ کیو آر کوڈ جنریٹر بنائیں! اصل میں شائع ہوا سی ایس ایس - ٹیکنیکس. تمہیں چاہئے نیوز لیٹر حاصل کریں.

ٹائم اسٹیمپ:

سے زیادہ سی ایس ایس ٹیکنیکس