Firebase x Golang แบบฉบับเดฟกากๆ

Nokkii
3 min readJul 30, 2021

--

https://firebase.google.com/

ก่อนอื่นเรามาทำความรู้จักว่า Firebase คืออะไร

เรามาเริ่มใช้งาน Firebase กันเลยยยยยยยย

Step 1 : เข้าไปที่ Consol firebase https://console.firebase.google.com/

Step 2: Add Project

Step 3 : สร้าง Project name

Step 4 : Disable Enable Google Analytics for this project และกด Create a project โดย default จะเป็น Enable Google Analytics และมี limit การใช้งานฟรีที่ 1GB ซึ่งจะสามารถ Upgrade แบบเสียเงินได้เลยค่า

https://firebase.google.com/pricing

Step 5: Continue โลดดดดด

เพียงแค่นี้เราก็จะได้ Project Firebase … เรามาเริ่มต้นใช้งาน สร้าง Firebase Database กันเลยจร้าาาาาา

  1. Create FireStore Database และสร้าง Database

โดยเลือก

  • Start in test mode
  • Cloud Firebase location เลือก asia-southeast
  • Click Enable

2. สร้าง Collection โดยสร้าง Collection ID ชื่อ users

Add first document เป็นการ initial เริ่มต้น ซึ่ง Firebase database จะเก็บข้อมูลแบบ nosql

เมื่อเราสามารถสร้าง Document ได้แล้ว ขั้นตอนต่อไปเราไปทำการ setting project กันก่อน

ไปที่ Project setting เพื่อสร้าง Private key

Project setting > Tab Service accounts > Generate new private key > Generate key เพื่อ Download

เมื่อได้ไฟล์ Private key มาแล้ว เรามาเริ่มสร้าง Project Go เพื่อทำการเชื่อมต่อกันได้เลยจ้าาาาาา

สร้าง main.go และทำการเชื่อมต่อ firebase โดยบรรทัดที่ 15 จะเป็นการเชื่อมต่อ private key ของ firebase ที่เราได้ทำการ generate download มาก่อนหน้านี้

จากบรรทัดที่ 15 เราต้อง create folder env ใน Project และทำการ rename file private key เป็น firebase-adminsdk.json หรือจะใช้ชื่อ ตามไฟล์ที่ load มาก็ได้เพียงแค่เราอ้างชื่อให้ถูกก็พอ …

สร้าง Function ReadData เพื่อทำการทดสอบอ่านข้อมูลที่เรามีอยู่ใน Collection และเพิ่ม ReadData(client, ctx) ใน function main.go

สร้าง Function ทำการ Add data และทำการทดสอบโดยการเพิ่ม function AddData(client, ctx) ใน function main

สร้าง Function ทำการ Delete data และทำการทดสอบโดยการเพิ่ม function DelDocumentData(client, ctx) ใน function main

สร้าง Function ทำการ Delete Fields และทำการทดสอบโดยการเพิ่ม function DelFields(client, ctx) ใน function main

ขอขอบคุณสาระดีๆๆ แบบนี้จาก Thakrit Ratchakote ที่ร่วมกันแชร์ Blog นี้ หวังว่าจะเป็นประโยชน์กับเพื่อนๆ developer ทุกท่านค่าาาาาา

--

--