portaldacalheta.pt
  • หลัก
  • การทำกำไรและประสิทธิภาพ
  • การออกแบบ Ux
  • เทคโนโลยี
  • การออกแบบตราสินค้า
เทคโนโลยี

การใช้ Firebase Serverless - แอปพลิเคชันมือถือและเว็บทำได้ง่าย



แอปพลิเคชันบนมือถือและเว็บมักต้องการเซิร์ฟเวอร์ส่วนหลัง เว็บแอปพลิเคชันต้องการเว็บเซิร์ฟเวอร์เพื่อส่งมอบเนื้อหา แอปพลิเคชันยังต้องจัดเก็บโปรไฟล์และสื่อของผู้ใช้เช่นรูปภาพและวิดีโอ การสื่อสารระหว่างแอปพลิเคชันและเซิร์ฟเวอร์มักทำโดยใช้ API ซึ่งโดยปกติจะเป็น REST

แอปพลิเคชันถูกเข้ารหัสในหลายภาษา แอปพลิเคชัน iOS เขียนด้วย Swift หรือ Objective-C แอปพลิเคชัน Android เขียนด้วย Java หรือ Kotlin เว็บแอปพลิเคชันเขียนด้วย HTML, CSS, JavaScript และมักใช้กรอบงานที่ซับซ้อนเช่น Angular หรือ React นักพัฒนาส่วนหน้าจำเป็นต้องรู้ภาษาที่เกี่ยวข้องและเครื่องมือพัฒนาที่เกี่ยวข้อง



เซิร์ฟเวอร์ส่วนหลังเขียนด้วยภาษาต่างๆรวมถึง Go, Java, PHP และ Python แต่ละภาษาเหล่านี้มีชุดไลบรารีของตัวเองเพื่ออำนวยความสะดวกในการเขียนแอปพลิเคชันที่ซับซ้อน



นักพัฒนาส่วนใหญ่คิดว่าตัวเองเป็นนักพัฒนาส่วนหน้าหรือส่วนหลัง นักพัฒนาฟูลสแต็กที่มีความเชี่ยวชาญทั้งสองบทบาทนั้นค่อนข้างหายาก



การรันและดูแลเซิร์ฟเวอร์ส่วนหลังมีความท้าทายในตัวเอง เซิร์ฟเวอร์ต้องได้รับการสร้างอัปเดตและสำรองข้อมูล เซิร์ฟเวอร์ยังต้องได้รับการรักษาความปลอดภัยเพื่อป้องกันข้อมูลสูญหายโดยไม่ตั้งใจหรือเป็นอันตรายหรือเข้าถึงข้อมูลที่ละเอียดอ่อน นอกจากนี้เซิร์ฟเวอร์ต้องมีการกำหนดชื่อโฮสต์และที่อยู่ IP เพื่อให้สามารถเชื่อมต่อได้

Firebase คืออะไร?

Firebase เริ่มต้นจากการเป็นสถาปัตยกรรมการส่งข้อความมือถือซึ่ง Google ได้มา ตั้งแต่นั้นมาได้มีการพัฒนาเป็นชุดส่วนประกอบมากกว่า 25 รายการที่ทำงานร่วมกับ Google Cloud Platform .



Firebase ประกอบด้วยชุดพัฒนาซอฟต์แวร์ (SDK) ซึ่งช่วยให้นักพัฒนาอุปกรณ์เคลื่อนที่และเว็บเข้าถึงฟังก์ชันระบบคลาวด์ได้อย่างง่ายดายปลอดภัยและเชื่อถือได้ พวกเขาจะชดเชยการเชื่อมต่อเครือข่ายที่ไม่ดีโดยอัตโนมัติ มีเว็บคอนโซล Firebase สำหรับเปิดใช้งานการดูแลระบบและการรักษาความปลอดภัยส่วนประกอบ นอกจากนี้ยังมีเครื่องมือบรรทัดคำสั่งและ REST API สำหรับการใช้งานในเชิงลึกมากขึ้น

ส่วนประกอบ Firebase บางส่วนเป็นที่รู้จักกันดีกว่าส่วนประกอบอื่น ๆ มีการพึ่งพาระหว่างส่วนประกอบเพียงเล็กน้อยซึ่งช่วยให้สามารถใช้ฟังก์ชันการทำงานเพิ่มเติมได้ การตรวจสอบสิทธิ์และการวิเคราะห์ของ Firebase ใช้กันอย่างแพร่หลายมากที่สุด



Firebase ได้พัฒนาจนกลายเป็นแพลตฟอร์มที่ช่วยให้นักพัฒนาอุปกรณ์เคลื่อนที่และเว็บส่วนหน้าสามารถพัฒนาแอปพลิเคชันที่สมบูรณ์โดยไม่จำเป็นต้องใช้เซิร์ฟเวอร์ส่วนหลัง การปรับปรุงล่าสุดได้อำนวยความสะดวกอย่างมากสำหรับโซลูชันแบบไร้เซิร์ฟเวอร์ซึ่งเป็นทางเลือกที่สามารถทำงานได้ปรับขนาดได้และคุ้มค่าสำหรับโซลูชันเซิร์ฟเวอร์ Cloud Virtual Machine

ราคาและแผนการเรียกเก็บเงินของ Firebase

แผนการเรียกเก็บเงินพื้นฐานของ Firebase ที่เรียกว่า Spark นั้นฟรี มีข้อ จำกัด ในการใช้ทรัพยากรบนคลาวด์ แต่ก็ค่อนข้างใจกว้าง เป็นไปได้ที่จะเรียกใช้แอปพลิเคชันขนาดที่เหมาะสมโดยไม่ต้องเสียค่าใช้จ่ายใด ๆ



เว็บไซต์ที่มีเนื้อหาสูงสุด 1GB และการถ่ายโอนน้อยกว่า 10GB / เดือนสามารถโฮสต์ได้ภายใต้แผน Spark Firestore อนุญาตให้มีข้อมูลสูงสุด 1GB และการรับส่งข้อมูลเครือข่ายสูงสุด 10GB / เดือน ขีด จำกัด พื้นที่เก็บข้อมูลบนคลาวด์คือข้อมูลสูงสุด 5GB และดาวน์โหลดได้สูงสุด 1GB / วัน

หากแอปพลิเคชันต้องการทรัพยากรเพิ่มเติมจำเป็นต้องมีแผนการเรียกเก็บเงินแบบชำระเงินเช่น pay as you go ขีด จำกัด ฟรีของแผน Spark ยังคงมีผลบังคับใช้ การเรียกเก็บเงินค่อนข้างต่ำ สามารถดูราคาได้ที่ หน้าราคา Firebase .



เครื่องเสมือนทำงานในระบบคลาวด์จะต้องเสียค่าใช้จ่ายในขณะที่กำลังทำงานแม้ว่าจะไม่ได้ใช้งานก็ตาม โซลูชันแบบไร้เซิร์ฟเวอร์ของ Firebase ปรับขนาดเป็นศูนย์ ซึ่งหมายความว่าทรัพยากรจะทำงานได้อย่างมีประสิทธิภาพเมื่อใช้งานเท่านั้นและไม่ต้องเสียค่าใช้จ่ายเมื่อไม่ได้ใช้งาน เหมาะอย่างยิ่งสำหรับการใช้งานสำหรับธุรกิจตามฤดูกาลเช่นการเช่าที่พักในช่วงวันหยุดหรืองานต่างๆเช่นคอนเสิร์ต จะมีกิจกรรมมากมายตามมาด้วยการไม่ได้ใช้งานหลายเดือน

วิธีตั้งค่า Firebase

จำเป็นต้องมีบัญชีอีเมลสำหรับการตรวจสอบสิทธิ์ ขอแนะนำให้ใช้บัญชีอีเมลของ Google สามารถสร้างได้ที่ https://mail.google.com .



ต้องมีบัญชี Google Cloud Platform (GCP) ด้วย ทดลองใช้ฟรีได้ ที่นี่ . สิ่งนี้ให้เครดิต $ 300 ซึ่งสามารถใช้ได้เป็นเวลาหนึ่งปี ต้องใช้บัตรเครดิตเป็นหลักฐานยืนยันตัวตน Google อาจเรียกเก็บเงิน $ 1 จากนั้นจึงคืนเงิน บัตรเครดิตจะถูกหักทุกเดือนหากเปิดใช้งานการเรียกเก็บเงินและใช้ทรัพยากรที่เรียกเก็บเงินได้ นอกจากนี้ยังมี บริษัท ผู้ให้บริการ Google ที่ทำหน้าที่เป็นตัวกลางในการเรียกเก็บเงิน คุณจ่ายเงินให้กับผู้ให้บริการสำหรับการใช้งานระบบคลาวด์และพวกเขาจ่ายเงินให้ Google พวกเขามีแผนการเรียกเก็บเงินของตนเองและอาจเสนอให้ทดลองใช้ฟรี

สิ่งสำคัญคือต้องตรวจสอบส่วนการเรียกเก็บเงินของคอนโซลระบบคลาวด์บ่อยๆเพื่อตรวจสอบการใช้งาน เป็นเรื่องง่ายที่จะทำให้ทรัพยากรเช่นพื้นที่จัดเก็บใช้งานได้เมื่อไม่จำเป็นซึ่งอาจต้องเสียค่าใช้จ่ายจำนวนมากเมื่อเวลาผ่านไป

โครงการ Firebase เป็นโครงการ GCP ด้วย คุณสามารถสร้างโครงการ GCP และนำเข้าสู่ Firebase หรือสร้างโครงการ Firebase ซึ่งจะสร้างโครงการ GCP ด้วย คอนโซล Firebase คือ ที่นี่ .

จำเป็นต้องมีการตั้งค่าอื่นสำหรับแอปพลิเคชันประเภทต่างๆ ตัวหลักคือ Android, iOS และเว็บแอปพลิเคชัน คำแนะนำในการตั้งค่าสามารถพบได้ในทางการ คำแนะนำ Firebase .

เครื่องมือ Firebase Command Line Interface (CLI) จำเป็นสำหรับการดำเนินการบางอย่าง สิ่งเหล่านี้ต้องการให้ Node.js และ npm ติดตั้งเครื่องมือแล้ว หากใช้งานบน macOS หรือ Linux ปุ่ม npm คำสั่งจะต้องรันด้วย sudo

sudo npm install -g firebase-tools

การรับรองความถูกต้องและการอนุญาต

การตรวจสอบสิทธิ์ Firebase อาจเป็นองค์ประกอบ Firebase ที่ใช้กันอย่างแพร่หลาย ผู้ใช้สามารถเลือกกลไกการตรวจสอบสิทธิ์ได้ตั้งแต่หนึ่งรายการขึ้นไป นี่คือที่อยู่อีเมลและรหัสผ่านหมายเลขโทรศัพท์และผู้ให้บริการข้อมูลประจำตัวแบบรวมศูนย์ Google, Facebook, Twitter และ GitHub สามารถเปิดใช้กลไกการพิสูจน์ตัวตนจำนวนเท่าใดก็ได้

Firebase UI จะแจ้งให้ผู้ใช้ทราบถึงกลไกที่จะใช้:

การตรวจสอบสิทธิ์ Firebase

Firebase มีอินเทอร์เฟซผู้ใช้สำหรับการตรวจสอบสิทธิ์ที่สามารถเรียกใช้จากโค้ดไม่กี่บรรทัดในฝั่งไคลเอ็นต์ นอกจากนี้ยังมี API สำหรับการตรวจสอบสิทธิ์ด้วยตนเอง ในการพิสูจน์ตัวตนสำเร็จจะมีการสร้างโทเค็นข้อมูลประจำตัวซึ่งสามารถใช้สำหรับการตรวจสอบส่วนหลังได้

API ช่วยให้ผู้ดูแลระบบสามารถจัดการผู้ใช้ได้โดยใช้โปรแกรม การดำเนินงาน ได้แก่ :

  • การสร้างอัปเดตและลบผู้ใช้
  • ค้นหาผู้ใช้ตามเกณฑ์การค้นหาเช่นที่อยู่อีเมลหรือหมายเลขโทรศัพท์
  • เข้าถึงข้อมูลเช่นวันที่สร้างบัญชีและวันที่และเวลาที่เข้าสู่ระบบครั้งล่าสุด
  • ตรวจสอบที่อยู่อีเมลและหมายเลขโทรศัพท์โดยไม่ต้องใช้เวิร์กโฟลว์ที่มีอยู่

แอปพลิเคชันบนมือถือและเว็บส่วนใหญ่ต้องการให้ผู้ใช้จำนวนมากลงชื่อเข้าใช้แอปพลิเคชันของตน ตัวอย่างเช่นทุกคนที่มีบัญชี Google Mail สามารถตรวจสอบตัวเองกับแอปพลิเคชันใด ๆ ที่อนุญาตให้ตรวจสอบสิทธิ์ Google ได้ ต้องมีรูปแบบการอนุญาตเพื่อ จำกัด การเข้าถึงแอปพลิเคชันสำหรับผู้ใช้บางราย สิ่งนี้สามารถทำได้อย่างง่ายดายโดยจัดเก็บการเชื่อมโยงระหว่างที่อยู่อีเมลและบทบาทการเข้าถึงในการจัดเก็บข้อมูล ในการตรวจสอบสิทธิ์ที่ประสบความสำเร็จที่อยู่อีเมลจะถูกค้นหาในที่จัดเก็บข้อมูล หากผู้ใช้มีบทบาทที่ถูกต้องการเข้าถึงจะได้รับ มิฉะนั้นผู้ใช้จะถูกบังคับให้ออกจากระบบ

Firebase Hosting

โฮสติ้ง Firebase ช่วยให้เนื้อหาเว็บแบบคงที่ซึ่งรวมถึง JavaScript สามารถโฮสต์ในระบบคลาวด์ได้โดยไม่ต้องใช้เว็บเซิร์ฟเวอร์ เนื้อหาถูกแคชที่ขอบของเครือข่ายการจัดส่งเนื้อหาทั่วโลก (CDN) สิ่งนี้ช่วยให้เข้าถึงเนื้อหาได้อย่างรวดเร็วจากทุกที่ในโลก

สามารถโฮสต์เว็บไซต์อย่างน้อยหนึ่งเว็บไซต์ได้โดยเพิ่มเว็บไซต์เหล่านั้นในส่วนโฮสติ้งของโปรเจ็กต์ Firebase ใน Firebase Console เนื้อหาถูกส่งผ่าน SSL และกำหนด URL สองรายการในแบบฟอร์ม https://site-name.web.app และ https://site-name.firebaseapp.com , โดยที่ site-name เป็นชื่อโปรเจ็กต์หรือชื่อไซต์ที่ผู้ใช้ระบุ

เป็นเรื่องง่ายมากที่จะโฮสต์ไซต์จากชื่อโดเมนของคุณเองซึ่งคุณสามารถเปลี่ยนระเบียน DNS สำหรับโดเมนได้ คุณเพิ่มชื่อโดเมนของคุณลงในไซต์บน Firebase Console จากนั้นคุณจะได้รับระเบียน DNS TXT ซึ่งคุณต้องเพิ่มลงใน DNS ของโดเมนเพื่อพิสูจน์ให้ Google เห็นว่าคุณเป็นเจ้าของโดเมน เมื่อมองเห็นระเบียน TXT แล้วคุณสามารถรับระเบียน DNS A สำหรับไซต์ได้ ใบรับรอง SSL จะถูกจัดเตรียมโดยอัตโนมัติสำหรับไซต์ เมื่อจัดเตรียมใบรับรองแล้วไซต์จะพร้อมใช้งานทั่วโลก โดยหลักการแล้วอาจใช้เวลาหลายชั่วโมงในการอัปเดต DNS และการจัดเตรียมใบรับรอง ในทางปฏิบัติกระบวนการนี้สามารถเสร็จสิ้นได้ใน 20 นาที

ในการเพิ่มเนื้อหาในโฮสติ้งก่อนอื่นให้สร้างไดเร็กทอรีสำหรับไซต์และ cd เข้าไปจากบรรทัดคำสั่ง จากนั้นลงชื่อเข้าใช้ Firebase และเริ่มต้นไดเรกทอรีโครงการ

firebase login firebase init

คุณจะได้รับแจ้งให้เลือกโครงการและต้องการบริการไคลเอ็นต์ใด สามารถเพิ่มบริการในภายหลังได้ตลอดเวลาและไม่จำเป็นต้องเลือกในขั้นตอนนี้

สร้างไฟล์ชื่อ firebase.json ซึ่งกำหนดไดเร็กทอรีรูทของเว็บไซต์และไฟล์ที่จะยกเว้น คุณจะต้องมี .gitignore ไฟล์เพื่อแยกไฟล์จากการควบคุมเวอร์ชัน

{ 'hosting': { 'public': 'public', 'ignore': [ 'firebase.json', '**/.*', '**/node_modules/**' ] } }

จากนั้นคัดลอกเนื้อหาแบบคงที่ไปยังไดเร็กทอรีสาธารณะ สุดท้ายปรับใช้ไซต์เข้าสู่ระบบคลาวด์

firebase deploy

ในการเปลี่ยนเนื้อหาเว็บเพียงแค่เปลี่ยนไฟล์เนื้อหาและออกคำสั่งปรับใช้ การปรับใช้แต่ละครั้งจะปรากฏเป็นเวอร์ชันบน Firebase Console คุณสามารถย้อนกลับไปเป็นเวอร์ชันก่อนหน้าได้ด้วยคลิกเดียว

Firebase Hosting ยังเขียน URI ไปยังไฟล์, Cloud Functions และ Cloud Run ได้อีกด้วย สิ่งนี้ช่วยลดความยุ่งยากอย่างมากเนื่องจากไม่จำเป็นต้องกำหนดโดเมนให้กับบริการเหล่านี้ การเขียนซ้ำถูกกำหนดโดยการเพิ่มส่วนการเขียนซ้ำในส่วนการโฮสต์ของ firebase.json การปรับใช้โฮสติ้งจะล้มเหลวหากไม่มีบริการ

{ 'hosting': { 'public': 'public', 'rewrites': [ { 'source': '/xxx', 'destination': '/profile.html' }, { 'source': '/yyy', 'function': 'profile' }, { 'source': '/api{,/**}', 'run': { 'serviceId': 'cloud-api', 'region': 'europe-west1' } } ] } }

การจัดเก็บข้อมูล

Firebase มี API ไคลเอ็นต์สำหรับเข้าถึงที่เก็บข้อมูลบนคลาวด์ มีพื้นที่เก็บข้อมูลสามประเภท:

  • ฐานข้อมูลเรียลไทม์
  • Cloud Firestore
  • การจัดเก็บเมฆ

สิ่งนี้ช่วยให้ไคลเอนต์มือถือและเว็บสามารถจัดเก็บและดึงข้อมูลได้โดยไม่ต้องใช้เซิร์ฟเวอร์

ฐานข้อมูลเรียลไทม์

Realtime Database คือฐานข้อมูล NoSQL ที่โฮสต์บนคลาวด์ ข้อมูลในฐานข้อมูลแบบเรียลไทม์จะซิงโครไนซ์แบบเรียลไทม์กับอุปกรณ์ที่เชื่อมต่อทั้งหมดโดยอัตโนมัติ ทำงานข้ามแพลตฟอร์มไปยัง Android, iOS และเว็บ ข้อมูลจะถูกจัดเก็บเป็นโครงสร้างแผนผัง JSON สามารถตั้งกฎความปลอดภัยเพื่อควบคุมการเข้าถึงข้อมูลแบบอ่านและเขียนได้

อุปกรณ์แต่ละเครื่องเก็บสำเนาฐานข้อมูลในเครื่อง ซึ่งหมายความว่าข้อมูลจะพร้อมใช้งานเมื่อไม่ได้เชื่อมต่อกับเครือข่าย เมื่อเชื่อมต่อใหม่สำเนาของข้อมูลในเครื่องและบนคลาวด์จะซิงโครไนซ์

ข้อมูลถูกอ่านโดยแอพพลิเคชั่นโดยใช้ Listener Listener ฟังบนโหนดในทรี JSON เมื่อใดก็ตามที่ข้อมูลมีการเปลี่ยนแปลงบนคอนโซลหรือโดยผู้ใช้รายอื่นการโทรกลับของผู้ฟังจะถูกเรียกด้วยค่าข้อมูลใหม่ ฐานข้อมูลเรียลไทม์ยังรองรับการสืบค้น แบบสอบถามแต่ละรายการส่งคืนโหนดและโหนดลูกทั้งหมด

กฎความปลอดภัยโดยค่าเริ่มต้นไม่อนุญาตให้เข้าถึงข้อมูล สามารถเพิ่มกฎได้ทั่วโลกหรือแต่ละโหนดของออบเจ็กต์ JSON กฎความปลอดภัยควบคุมการอ่านและเขียนการเข้าถึงข้อมูลและสามารถดำเนินการตรวจสอบความถูกต้องได้

ฐานข้อมูลแบบเรียลไทม์เหมาะที่สุดกับข้อมูลขนาดเล็กที่ไม่ต้องการโครงสร้างข้อมูลที่ซ้อนกันมาก ขีด จำกัด ฟรี 1GB ของข้อมูล

Cloud Firestore

Cloud Firestore ถูกมองว่ามาแทนที่ฐานข้อมูลแบบเรียลไทม์ ขยายการทำงานของฐานข้อมูลเรียลไทม์ ข้อมูลไม่ได้อยู่ในโครงสร้าง JSON แต่เป็นการรวบรวมเอกสารตามลำดับชั้น เอกสารแต่ละชุดประกอบด้วยชุดของคู่คีย์ - ค่าและเอกสารย่อยที่เป็นทางเลือก แบบสอบถามช่วยให้การกรองและการเรียงลำดับซับซ้อนมากขึ้นและส่งคืนเฉพาะเอกสารที่สมบูรณ์เท่านั้น แบบสอบถามไม่ส่งคืนเอกสารย่อย

Cloud Firestore จะเข้ามาแทนที่ Cloud Datastore ในไม่ช้า สามารถเรียกใช้ในโหมด Datastore หรือในโหมดเนทีฟ แอปพลิเคชัน Datastore ทั้งหมดจะย้ายไปที่ Cloud Firestore โดยอัตโนมัติ

Cloud Firestore เหมาะที่สุดสำหรับข้อมูลขนาดเล็ก สามารถมีโครงสร้างข้อมูลที่ซ้อนกันอย่างลึกซึ้ง ขีด จำกัด ฟรี 1GB ของข้อมูล

การจัดเก็บเมฆ

Cloud Storage ใช้สำหรับจัดเก็บไฟล์เช่นรูปภาพและคลิปวิดีโอ ไคลเอนต์มือถือและเว็บสามารถใช้ Firebase เพื่ออัปโหลดและดาวน์โหลดไฟล์เข้าและออกจากระบบคลาวด์ได้โดยตรงโดยไม่ต้องใช้เซิร์ฟเวอร์ส่วนหลัง ขีด จำกัด ฟรีคือ 5GB ของข้อมูล

ฟังก์ชันคลาวด์

Cloud Functions เป็นเทคโนโลยีสำคัญในการสร้างแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ ฟังก์ชันคลาวด์สามารถเขียนใน JavaScript, TypeScript, Python หรือ Go ซึ่งจะนำไปใช้โดยตรงในระบบคลาวด์ของ Google ฟังก์ชันถูกเรียกใช้โดยคำขอ HTTP หรือโดยเหตุการณ์ในระบบคลาวด์เช่นการเขียนไปยัง Cloud Storage

ฟังก์ชันคลาวด์สามารถจัดการได้ครั้งละหนึ่งคำขอเท่านั้น แต่ระบบคลาวด์จะปรับขนาดฟังก์ชันโดยการจำลองโดยอัตโนมัติ ฟังก์ชันคลาวด์ที่เขียนด้วย Python ใช้ไลบรารี Flask เพื่อจัดการคำขอ HTTP ฟังก์ชันรับวัตถุคำร้องขอเป็นพารามิเตอร์และส่งกลับเนื้อหาตอบกลับ

Python Cloud Function อย่างง่ายต้องการไดเร็กทอรีที่ใช้งานได้และจุดเริ่มต้นจะอยู่ในไฟล์ main.py

def simple_cloud_function(request): return 'It worked'

การอ้างอิงถูกจัดการโดย pip และไปที่ไฟล์ชื่อ requirements.txt

Flask==1.0.2

มีการปรับใช้ฟังก์ชันโดยใช้ gcloud เครื่องมือบรรทัดคำสั่ง ระบุชื่อฟังก์ชันภาษาและทริกเกอร์

gcloud functions deploy simple_cloud_function --runtime python37 --trigger-http

URL สำหรับฟังก์ชันจะแสดงบนการปรับใช้และสามารถพบได้โดยการรันคำสั่งอธิบาย

gcloud functions describe simple_cloud_function Url: https://europe-west1-project-id.cloudfunctions.net/simplecloud_function

Cloud Functions สามารถเรียก Google Cloud และ Firebase API เพื่อมอบฟังก์ชันแบ็คเอนด์ พวกเขาให้ข้อมูลการบันทึกเกี่ยวกับการเริ่มต้นการดำเนินการและเวลาดำเนินการ สามารถเพิ่มการบันทึกเพิ่มเติมได้อย่างง่ายดาย คุณสามารถดูบันทึกได้ใน Stackdriver Logging UI และผ่านทาง gcloud เครื่องมือบรรทัดคำสั่ง

gcloud functions logs read simple_cloud_function

สามารถดูและลบฟังก์ชันได้ใน Google Cloud Console

Google Cloud Console: ฟังก์ชั่น

Cloud Functions ใช้ดีที่สุดสำหรับการดำเนินการที่เกิดขึ้นไม่บ่อยนัก ตัวอย่างการใช้งานคือการสร้างภาพขนาดย่อเมื่ออัปโหลดภาพไปยัง Cloud Storage ขีด จำกัด ฟรี 125,000 ครั้งต่อเดือน

Cloud Run

Cloud Run เพิ่งเพิ่มฟังก์ชันการทำงานที่อำนวยความสะดวกให้กับแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ ช่วยให้สามารถเรียกใช้คอนเทนเนอร์ Docker ในระบบคลาวด์ได้โดยไม่ต้องตั้งค่าโครงสร้างพื้นฐานที่ซับซ้อน สามารถทำงานในโหมดที่มีการจัดการซึ่งใช้รันไทม์ Knative ซึ่งสร้างบน Kubernetes นอกจากนี้ยังสามารถทำงานบน Anthos ซึ่งสร้างบน Kubernetes แต่อนุญาตให้ใช้คอนเทนเนอร์ข้ามระบบคลาวด์และแม้แต่ในศูนย์ข้อมูลของคุณเอง ไม่จำเป็นต้องตั้งค่าและจัดการคลัสเตอร์ Kubernetes เนื่องจากทำทั้งหมดโดยอัตโนมัติ

แอปพลิเคชันใด ๆ ที่สามารถสร้างขึ้นในอิมเมจ Docker สามารถจัดการได้โดย Cloud Run จะปรับขนาดจำนวนตู้คอนเทนเนอร์โดยอัตโนมัติตามความต้องการ นอกจากนี้ยังลดขนาดเป็นศูนย์เมื่อไม่มีการใช้บริการ บริการที่ไม่ได้ใช้จะไม่มีค่าใช้จ่ายใด ๆ

คอนเทนเนอร์ Docker จำเป็นต้องเรียกใช้เว็บเซิร์ฟเวอร์หากต้องการตอบสนองต่อคำขอ HTTP บริการ Python จะใช้ Flask จุดเข้าจะอยู่ใน app.py

โหนด js เว็บแอปพลิเคชันเฟรมเวิร์ก
from flask import Flask, request app = Flask(__name__) @app.route(’/api/profile’) def profile(): page = ’’’ Page content ’’’ return page

แอปพลิเคชันต้องการ Dockerfile เพื่อสร้างภาพ

FROM python ENV APP_HOME /app WORKDIR $APP_HOME COPY . . ENV PORT 8080 RUN pip install Flask gunicorn firebase-admin CMD exec gunicorn --bind :$PORT --workers 1 --threads 8 app:app

คอนเทนเนอร์ Cloud Run ถูกปรับใช้โดยตรงในระบบคลาวด์

gcloud run deploy --image=image_name --platform=managed --region=europe-west1 --allow-unauthenticated

หากไม่ได้กำหนดชื่อบริการแพลตฟอร์มภูมิภาคหรือว่าจะอนุญาตให้ไม่ผ่านการตรวจสอบความถูกต้องในการกำหนดค่าโครงการหรือระบุไว้ในบรรทัดคำสั่งระบบจะแจ้งให้ เมื่อการปรับใช้เสร็จสมบูรณ์ URL บริการจะแสดงขึ้น สามารถรับ URL ได้โดยใช้คำสั่ง gcloud

gcloud run services list SERVICE REGION URL LAST DEPLOYED BY LAST DEPLOYED AT cloud-api europe-west1 https://cloud-api-h42ifbxkyq-ew.a.run.app [email protected] 2020-02-05T10:53:30.006Z

URL มีตัวเลขสุ่มที่ยากต่อการจัดการ นี่คือจุดที่กฎการเขียนซ้ำของโฮสติ้งของ Firebase จะมีประโยชน์มากที่สุด

สามารถดูและลบบริการได้ใน Google Cloud Console

Google Cloud Console: บริการ

Cloud Run เหมาะอย่างยิ่งสำหรับการโฮสต์ REST API ขีด จำกัด ฟรีรายเดือนคือ 180,000 CPU วินาทีหน่วยความจำ 360,000 GB วินาทีคำขอ 2 ล้านคำขอและการส่งออกเครือข่าย 1GB ขีด จำกัด การส่งออกเครือข่ายฟรีจะมีผลเฉพาะในกรณีที่มีการใช้บริการในภูมิภาคอเมริกาเหนือ

การรับรองความถูกต้อง

โดยค่าเริ่มต้นคอนเทนเนอร์ Cloud Functions และ Cloud Run จะเป็นแบบสาธารณะและทุกคนบนอินเทอร์เน็ตสามารถเข้าถึงได้ การใช้กฎ IAM ใน Cloud Console สามารถ จำกัด บริการไว้เฉพาะสมาชิกโครงการ Google Groups และที่อยู่อีเมลแต่ละรายการ

หากมีข้อ จำกัด การเข้าถึงโดยไม่ได้รับอนุญาตจะถูกห้าม ในการเปิดใช้งานการเข้าถึงจะต้องเพิ่มโทเค็นประจำตัวในส่วนหัวของคำขอ คุณสามารถรับโทเค็นข้อมูลประจำตัวได้โดยใช้คำสั่ง gcloud หรือระหว่างกระบวนการตรวจสอบสิทธิ์ Firebase

gcloud auth print-identity-token

ต้องระบุส่วนหัวการให้สิทธิ์

Authorization: Bearer id-token

สรุป

Google Cloud Platform และ Firebase มีผลิตภัณฑ์มากมายที่ช่วยอำนวยความสะดวกในการพัฒนาแอปพลิเคชันมือถือและเว็บ ความจำเป็นในการใช้เซิร์ฟเวอร์ส่วนหลังสามารถกำจัดได้อย่างสมบูรณ์โดยอนุญาตให้ไคลเอนต์เข้าถึงฟังก์ชันคลาวด์โดยตรงหรือโดยการปรับใช้โค้ดแบ็คเอนด์ในระบบคลาวด์โดยใช้ Cloud Functions หรือ Cloud Run

แอปพลิเคชันที่มีอยู่สามารถโอนย้ายไปยังส่วนเพิ่มแบบไม่ใช้เซิร์ฟเวอร์ได้ ในความเป็นจริงวิธีที่เทคโนโลยีกำลังพัฒนาอาจหมายความว่าโซลูชันเซิร์ฟเวอร์ที่ใช้เครื่องเสมือนแบบเดิมจะไม่จำเป็นอีกต่อไป

ทำความเข้าใจพื้นฐาน

แอปใดใช้ Firebase

แอปที่ต้องการการตรวจสอบผู้ใช้การจัดเก็บข้อมูลการส่งข้อความและสถิติการใช้งาน

Firebase ใช้สำหรับแอปบนอุปกรณ์เคลื่อนที่เท่านั้นหรือไม่

ไม่ได้นอกจากนี้ยังสามารถใช้สำหรับเว็บแอปและสำหรับแอปการดูแลระบบ

ข้อดีของ Firebase คืออะไร?

มีฟังก์ชั่นการใช้งานที่ไม่เหมือนใครและใช้งานง่ายซึ่งแอปจำนวนมากต้องการ

Firebase มีจุดประสงค์อะไร

ได้รับการออกแบบมาเพื่อให้นักพัฒนาส่วนหน้าสำหรับอุปกรณ์เคลื่อนที่และเว็บสามารถเข้าถึงการทำงานของเซิร์ฟเวอร์บนคลาวด์ได้โดยไม่ต้องใช้เซิร์ฟเวอร์

ฉันควรใช้ Firebase เมื่อใด

พิจารณาใช้ Firebase เมื่อพัฒนาแอปใหม่หรือปรับปรุงแอปที่มีอยู่

เคล็ดลับในการดึงดูดจัดการและรักษานักพัฒนาซอฟต์แวร์

การบริหารโครงการ

เคล็ดลับในการดึงดูดจัดการและรักษานักพัฒนาซอฟต์แวร์
UX Research Methods และ Path to User Empathy

UX Research Methods และ Path to User Empathy

การออกแบบ Ux

โพสต์ยอดนิยม
Ractive.js - เว็บแอพที่ทำได้ง่าย
Ractive.js - เว็บแอพที่ทำได้ง่าย
การสอน Mirror API: Google Glass สำหรับนักพัฒนาเว็บ
การสอน Mirror API: Google Glass สำหรับนักพัฒนาเว็บ
ตลาดล้านดอลลาร์ดีกว่าตลาดพันล้านดอลลาร์หรือไม่?
ตลาดล้านดอลลาร์ดีกว่าตลาดพันล้านดอลลาร์หรือไม่?
ทำไมฉันต้องใช้ Node.js การสอนเป็นกรณี ๆ ไป
ทำไมฉันต้องใช้ Node.js การสอนเป็นกรณี ๆ ไป
รองประธานองค์กร
รองประธานองค์กร
 
สงครามเย็นแห่งเทคโนโลยี: ยังคงอยู่ที่นี่และยังคงถูกใช้
สงครามเย็นแห่งเทคโนโลยี: ยังคงอยู่ที่นี่และยังคงถูกใช้
ปรับขนาดด้วยความเร็ว: อธิบายเครือข่ายสายฟ้าของ Bitcoin
ปรับขนาดด้วยความเร็ว: อธิบายเครือข่ายสายฟ้าของ Bitcoin
ส่วนประกอบของปฏิกิริยาที่มีประสิทธิภาพ: คำแนะนำในการเพิ่มประสิทธิภาพการตอบสนอง
ส่วนประกอบของปฏิกิริยาที่มีประสิทธิภาพ: คำแนะนำในการเพิ่มประสิทธิภาพการตอบสนอง
คำแนะนำสำหรับนักพัฒนา Android เกี่ยวกับรูปแบบการเรียกดูตัวอย่างข้อมูล
คำแนะนำสำหรับนักพัฒนา Android เกี่ยวกับรูปแบบการเรียกดูตัวอย่างข้อมูล
การรับรองและการประกันการรับประกัน: เครื่องมือการควบรวมกิจการที่ผู้ขายทุกคนควรทราบ
การรับรองและการประกันการรับประกัน: เครื่องมือการควบรวมกิจการที่ผู้ขายทุกคนควรทราบ
โพสต์ยอดนิยม
  • เว็บแอพไปยังแอพมือถือ
  • ภาษาการเขียนโปรแกรมใดที่ใช้สำหรับวิทยาการหุ่นยนต์
  • สำนักงานปลัดคืออะไร
  • การปรับประสิทธิภาพใน sql server 2008
  • โหนด js ใช้สำหรับอะไร
  • github flow เทียบกับ git flow
หมวดหมู่
  • การทำกำไรและประสิทธิภาพ
  • การออกแบบ Ux
  • เทคโนโลยี
  • การออกแบบตราสินค้า
  • © 2022 | สงวนลิขสิทธิ์

    portaldacalheta.pt