ข้อมูลอ้างอิง Firebase CLI

Firebase CLI (GitHub) มีเครื่องมือที่หลากหลายสำหรับการจัดการ การดู และการติดตั้งใช้งานในโปรเจ็กต์ Firebase

ก่อนใช้ Firebase CLI ให้ตั้งค่าโปรเจ็กต์ Firebase

ตั้งค่าหรืออัปเดต CLI

ติดตั้ง Firebase CLI

คุณสามารถติดตั้ง Firebase CLI โดยใช้วิธีที่ตรงกับระบบปฏิบัติการ ระดับประสบการณ์ และ/หรือกรณีการใช้งานของคุณ ไม่ว่าจะติดตั้ง CLI ด้วยวิธีใด คุณจะมีสิทธิ์เข้าถึงฟังก์ชันการทำงานเดียวกันและคำสั่ง firebase

Windows macOS Linux

Windows

คุณสามารถติดตั้ง Firebase CLI สำหรับ Windows ได้โดยใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้

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

นักพัฒนาแอปที่ไม่ได้ใช้หรือไม่คุ้นเคยกับ Node.js
npm ใช้ npm (Node Package Manager) เพื่อติดตั้ง CLI และเปิดใช้คำสั่ง firebase ที่ใช้ได้ทั่วโลก นักพัฒนาซอฟต์แวร์ที่ใช้ Node.js

ไบนารีแบบสแตนด์อโลน

หากต้องการดาวน์โหลดและเรียกใช้ไบนารีสำหรับ Firebase CLI ให้ทำตามขั้นตอนต่อไปนี้

  1. ดาวน์โหลดไบนารี CLI ของ Firebase สำหรับ Windows

  2. เข้าถึงไบนารีเพื่อเปิด Shell ที่คุณสามารถเรียกใช้คำสั่ง firebase ได้

  3. ดำเนินการต่อเพื่อเข้าสู่ระบบและทดสอบ CLI

npm

หากต้องการใช้ npm (Node Package Manager) เพื่อติดตั้ง Firebase CLI ให้ทำตามขั้นตอนต่อไปนี้

  1. ติดตั้ง Node.js โดยใช้ nvm-windows (เครื่องมือจัดการเวอร์ชัน Node) การติดตั้ง Node.js จะติดตั้งเครื่องมือคำสั่ง npm โดยอัตโนมัติ

  2. ติดตั้ง Firebase CLI ผ่าน npm โดยเรียกใช้คำสั่งต่อไปนี้

    npm install -g firebase-tools

    คำสั่งนี้จะเปิดใช้คำสั่ง firebase ที่พร้อมใช้งานทั่วโลก

  3. ดำเนินการต่อเพื่อเข้าสู่ระบบและทดสอบ CLI

macOS หรือ Linux

คุณสามารถติดตั้ง Firebase CLI สำหรับ macOS หรือ Linux โดยใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้

ตัวเลือก คำอธิบาย แนะนำสำหรับ...
สคริปต์การติดตั้งอัตโนมัติ เรียกใช้คำสั่งเดียวที่ตรวจจับระบบปฏิบัติการของคุณโดยอัตโนมัติ ดาวน์โหลด CLI เวอร์ชันล่าสุด แล้วเปิดใช้คำสั่ง firebase ที่ใช้ได้ทั่วโลก นักพัฒนาแอปใหม่

นักพัฒนาแอปที่ไม่ได้ใช้หรือไม่คุ้นเคยกับ Node.js

การติดตั้งใช้งานอัตโนมัติในสภาพแวดล้อม CI/CD
ไบนารีแบบสแตนด์อโลน ดาวน์โหลดไบนารีแบบสแตนด์อโลนสำหรับ CLI จากนั้นคุณจะกำหนดค่าและเรียกใช้ไบนารีให้เหมาะกับเวิร์กโฟลว์ได้ เวิร์กโฟลว์ที่ปรับแต่งได้อย่างเต็มรูปแบบโดยใช้ CLI
npm ใช้ npm (Node Package Manager) เพื่อติดตั้ง CLI และเปิดใช้คำสั่ง firebase ที่ใช้ได้ทั่วโลก นักพัฒนาซอฟต์แวร์ที่ใช้ Node.js

สคริปต์การติดตั้งอัตโนมัติ

หากต้องการติดตั้ง Firebase CLI โดยใช้สคริปต์การติดตั้งอัตโนมัติ ให้ทำตามขั้นตอนต่อไปนี้

  1. เรียกใช้คำสั่ง cURL ต่อไปนี้

    curl -sL https://firebase.tools | bash

    สคริปต์นี้จะตรวจหาโดยอัตโนมัติว่าคุณใช้ระบบปฏิบัติการใด ดาวน์โหลด Firebase CLI รุ่นล่าสุด แล้วเปิดใช้คำสั่ง firebase ที่ใช้ได้ทั่วโลก

  2. ดำเนินการต่อเพื่อเข้าสู่ระบบและทดสอบ CLI

ดูตัวอย่างและรายละเอียดเพิ่มเติมเกี่ยวกับสคริปต์การติดตั้งอัตโนมัติได้ที่ซอร์สโค้ดของสคริปต์ที่ firebase.tools

ไบนารีแบบสแตนด์อโลน

หากต้องการดาวน์โหลดและเรียกใช้ไบนารีสำหรับ Firebase CLI ที่เจาะจงสำหรับระบบปฏิบัติการของคุณ ให้ทำตามขั้นตอนต่อไปนี้

  1. ดาวน์โหลดไบนารี CLI ของ Firebase สำหรับระบบปฏิบัติการของคุณ: macOS | Linux

  2. (ไม่บังคับ) ตั้งค่าคำสั่ง firebase ที่ใช้ได้ทั่วโลก

    1. ทำให้ไบนารีเรียกใช้ได้โดยเรียกใช้ chmod +x ./firebase_tools
    2. เพิ่มเส้นทางของไบนารีลงใน PATH
  3. ดำเนินการต่อเพื่อเข้าสู่ระบบและทดสอบ CLI

npm

หากต้องการใช้ npm (Node Package Manager) เพื่อติดตั้ง Firebase CLI ให้ทำตามขั้นตอนต่อไปนี้

  1. ติดตั้ง Node.js โดยใช้ nvm (เครื่องมือจัดการเวอร์ชัน Node)
    การติดตั้ง Node.js จะติดตั้งเครื่องมือคำสั่ง npm โดยอัตโนมัติ

  2. ติดตั้ง Firebase CLI ผ่าน npm โดยเรียกใช้คำสั่งต่อไปนี้

    npm install -g firebase-tools

    คำสั่งนี้จะเปิดใช้คำสั่ง firebase ที่พร้อมใช้งานทั่วโลก

  3. ดำเนินการต่อเพื่อเข้าสู่ระบบและทดสอบ CLI

เข้าสู่ระบบและทดสอบ Firebase CLI

หลังจากติดตั้ง CLI แล้ว คุณต้องตรวจสอบสิทธิ์ จากนั้นคุณจะยืนยันการตรวจสอบสิทธิ์ได้โดยแสดงรายการโปรเจ็กต์ Firebase

  1. เข้าสู่ระบบ Firebase โดยใช้บัญชี Google โดยเรียกใช้คำสั่งต่อไปนี้

    firebase login

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

  2. ทดสอบว่าติดตั้ง CLI อย่างถูกต้องและเข้าถึงบัญชีของคุณโดยแสดงรายการโปรเจ็กต์ Firebase เรียกใช้คำสั่งต่อไปนี้

    firebase projects:list

    รายการที่แสดงควรเหมือนกับโปรเจ็กต์ Firebase ที่แสดงในคอนโซล Firebase

อัปเดตเป็น CLI เวอร์ชันล่าสุด

โดยทั่วไป คุณควรใช้ CLI ของ Firebase เวอร์ชันล่าสุด

วิธีอัปเดตเวอร์ชัน CLI จะขึ้นอยู่กับระบบปฏิบัติการและวิธีติดตั้ง CLI

Windows

macOS

  • สคริปต์การติดตั้งอัตโนมัติ: เรียกใช้ curl -sL https://firebase.tools | upgrade=true bash

  • ไบนารีแบบสแตนด์อโลน: ดาวน์โหลดเวอร์ชันใหม่ แล้วแทนที่ในระบบ

  • npm: เรียกใช้ npm install -g firebase-tools

Linux

  • สคริปต์การติดตั้งอัตโนมัติ: เรียกใช้ curl -sL https://firebase.tools | upgrade=true bash

  • ไบนารีแบบสแตนด์อโลน: ดาวน์โหลดเวอร์ชันใหม่ แล้วแทนที่ในระบบ

  • npm: เรียกใช้ npm install -g firebase-tools

ถอนการติดตั้ง Firebase CLI

วิธีถอนการติดตั้ง CLI จะขึ้นอยู่กับระบบปฏิบัติการและวิธีที่คุณติดตั้ง CLI

Windows

  • ไบนารีแบบสแตนด์อโลน: ลบไบนารี firebase.exe ที่คุณดาวน์โหลด
  • npm: เรียกใช้ npm uninstall -g firebase-tools

macOS

  • สคริปต์การติดตั้งอัตโนมัติ: เรียกใช้ curl -sL https://firebase.tools | uninstall=true bash

  • ไบนารีแบบสแตนด์อโลน: ลบไบนารี firebase ที่คุณดาวน์โหลด หากคุณเพิ่มตำแหน่งของไฟล์ดังกล่าวลงในตัวแปรสภาพแวดล้อม PATH โปรดนำออก

  • npm: เรียกใช้ npm uninstall -g firebase-tools

Linux

  • สคริปต์การติดตั้งอัตโนมัติ: เรียกใช้ curl -sL https://firebase.tools | uninstall=true bash

  • ไบนารีแบบสแตนด์อโลน: ลบไบนารี firebase ที่คุณดาวน์โหลด หากคุณเพิ่มตำแหน่งของไฟล์ดังกล่าวลงในตัวแปรสภาพแวดล้อม PATH โปรดนำออก

  • npm: เรียกใช้ npm uninstall -g firebase-tools

ใช้ CLI กับระบบ CI

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

(แนะนำ) ใช้ข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน

CLI ของ Firebase จะตรวจหาและใช้ข้อมูลรับรองเริ่มต้นของแอปพลิเคชันหากมีการตั้งค่าไว้ วิธีที่ง่ายที่สุดในการตรวจสอบสิทธิ์ CLI ใน CI และสภาพแวดล้อมแบบ Headless อื่นๆ คือตั้งค่าข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน

(เดิม) ใช้ FIREBASE_TOKEN

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

  1. ติดตั้ง Firebase CLI ในเครื่องที่มีเบราว์เซอร์

  2. เริ่มกระบวนการลงชื่อเข้าใช้โดยเรียกใช้คำสั่งต่อไปนี้

    firebase login:ci
  3. ไปที่ URL ที่ระบุ แล้วเข้าสู่ระบบโดยใช้บัญชี Google

  4. พิมพ์โทเค็นการรีเฟรชใหม่ เซสชัน CLI ปัจจุบันจะไม่ได้รับผลกระทบ

  5. จัดเก็บโทเค็นเอาต์พุตด้วยวิธีที่ปลอดภัยแต่เข้าถึงได้ในระบบ CI

  6. ใช้โทเค็นนี้เมื่อเรียกใช้คำสั่ง firebase โดยใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้

    • ตัวเลือกที่ 1: จัดเก็บโทเค็นเป็นตัวแปรสภาพแวดล้อม FIREBASE_TOKEN ระบบจะใช้โทเค็นโดยอัตโนมัติ

    • ตัวเลือกที่ 2: เรียกใช้คำสั่ง firebase ทั้งหมดที่มีแฟล็ก --token TOKEN ในระบบ CI
      ลำดับความสำคัญของการโหลดโทเค็นคือ แฟล็ก ตัวแปรสภาพแวดล้อม โปรเจ็กต์ Firebase ที่ต้องการ

เริ่มต้นโปรเจ็กต์ Firebase

งานทั่วไปหลายอย่างที่ดำเนินการโดยใช้ CLI เช่น การติดตั้งใช้งานในโปรเจ็กต์ Firebase ต้องใช้ไดเรกทอรีโปรเจ็กต์ คุณสร้างไดเรกทอรีโปรเจ็กต์โดยใช้คำสั่ง firebase init โดยปกติแล้ว ไดเรกทอรีโปรเจ็กต์จะเป็นไดเรกทอรีเดียวกับรูทการควบคุมแหล่งที่มา และหลังจากเรียกใช้ firebase init ไดเรกทอรีจะมีไฟล์การกำหนดค่า firebase.json

หากต้องการเริ่มต้นโปรเจ็กต์ Firebase ใหม่ ให้เรียกใช้คำสั่งต่อไปนี้จากภายในไดเรกทอรีของแอป

firebase init

คำสั่ง firebase init จะแนะนำขั้นตอนการตั้งค่าไดเรกทอรีโปรเจ็กต์และผลิตภัณฑ์ Firebase บางรายการ ในระหว่างการเริ่มต้นโปรเจ็กต์ Firebase CLI จะขอให้คุณทำงานต่อไปนี้ให้เสร็จสมบูรณ์

  • เลือกโปรเจ็กต์ Firebase เริ่มต้น

    ขั้นตอนนี้จะเชื่อมโยงไดเรกทอรีโปรเจ็กต์ปัจจุบันกับโปรเจ็กต์ Firebase เพื่อให้คำสั่งเฉพาะโปรเจ็กต์ (เช่น firebase deploy) ทำงานกับโปรเจ็กต์ Firebase ที่เหมาะสม

    นอกจากนี้ คุณยังเชื่อมโยงโปรเจ็กต์ Firebase หลายโปรเจ็กต์ (เช่น โปรเจ็กต์ทดลองใช้และโปรเจ็กต์เวอร์ชันที่ใช้งานจริง) กับไดเรกทอรีโปรเจ็กต์เดียวกันได้ด้วย

  • เลือกผลิตภัณฑ์ Firebase ที่จะตั้งค่าในโปรเจ็กต์ Firebase

    ขั้นตอนนี้จะแจ้งให้คุณตั้งค่าการกำหนดค่าสำหรับไฟล์ที่เฉพาะเจาะจงสำหรับผลิตภัณฑ์หรือฟีเจอร์ที่เลือก ดูรายละเอียดเพิ่มเติมเกี่ยวกับการกำหนดค่าเหล่านี้ได้ในเอกสารประกอบของผลิตภัณฑ์ที่เฉพาะเจาะจง (เช่น Hosting หรือ Authentication) โปรดทราบว่าคุณสามารถเรียกใช้ firebase init ในภายหลังเพื่อตั้งค่าผลิตภัณฑ์ Firebase เพิ่มเติมได้เสมอ

เมื่อสิ้นสุดการเริ่มต้น Firebase จะสร้างไฟล์ 2 ไฟล์ต่อไปนี้ที่รูทของไดเรกทอรีแอปในเครื่องโดยอัตโนมัติ

  • ไฟล์การกำหนดค่า firebase.json ที่แสดงรายการการกำหนดค่าโปรเจ็กต์

  • ไฟล์ .firebaserc ที่จัดเก็บชื่อแทนของโปรเจ็กต์

ไฟล์ firebase.json

คำสั่ง firebase init จะสร้างไฟล์การกำหนดค่า firebase.json ในรูทของไดเรกทอรีโปรเจ็กต์

คุณต้องใช้ไฟล์ firebase.json เพื่อติดตั้งใช้งานชิ้นงานด้วย Firebase CLI เนื่องจากไฟล์นี้จะระบุไฟล์และการตั้งค่าจากไดเรกทอรีโปรเจ็กต์ที่จะติดตั้งใช้งานในโปรเจ็กต์ Firebase (เช่น การตั้งค่า Hosting, การกำหนดค่าผู้ให้บริการ Authentication, กฎความปลอดภัย และการกำหนดค่า Cloud Functions) เนื่องจากการตั้งค่าบางอย่างสามารถกำหนดได้ในไดเรกทอรีโปรเจ็กต์หรือคอนโซล Firebase โปรดตรวจสอบว่าคุณได้แก้ไขความขัดแย้งในการติดตั้งใช้งานที่อาจเกิดขึ้นแล้ว

คุณสามารถกำหนดค่าตัวเลือก Firebase Hosting ส่วนใหญ่ได้โดยตรงในไฟล์ firebase.json อย่างไรก็ตาม สำหรับบริการอื่นๆ ของ Firebase ที่สามารถติดตั้งใช้งานด้วย Firebase CLI คำสั่ง firebase init จะสร้างไฟล์ที่เฉพาะเจาะจงซึ่งคุณสามารถกำหนดการตั้งค่าสำหรับบริการเหล่านั้นได้ เช่น ไฟล์ index.js สำหรับ Cloud Functions นอกจากนี้ คุณยังตั้งค่า Hook ก่อนหรือหลังการทำให้ใช้งานได้ในไฟล์ firebase.json ได้ด้วย

ไฟล์ firebase.json ต่อไปนี้เป็นตัวอย่างที่ครอบคลุมซึ่งแสดงตัวเลือกการกำหนดค่าสำหรับบริการ Firebase หลายรายการ นอกจากนี้ยังสาธิตฟีเจอร์ต่างๆ เช่น Cloud Functions หลายฐานของโค้ด, การตั้งค่า Local Emulator Suite และเทมเพลต Remote Config โปรดทราบว่าไฟล์ firebase.json สำหรับโปรเจ็กต์หนึ่งๆ จะมีการกำหนดค่าสำหรับบริการ Firebase ที่ตั้งค่าไว้สำหรับโปรเจ็กต์นั้นๆ เท่านั้น (เช่น Firebase Hosting และ Cloud Functions เท่านั้น) การเพิ่มคีย์ $schema จะช่วยให้สามารถตรวจสอบความถูกต้องและเติมข้อความอัตโนมัติในตัวแก้ไขโค้ดหลายรายการได้

    {
      "$schema": "https://raw.githubusercontent.com/firebase/firebase-tools/master/schema/firebase-config.json",
      "hosting": {
        "public": "public",
        "ignore": [
          "firebase.json",
          "**/.*",
          "**/node_modules/**"
        ],
        "cleanUrls": true,
        "trailingSlash": false
      },
      "apphosting": {
        "backendId": "my-app",
        "rootDir": "backend",
        "ignore": [
          "firebase.json",
          "**/.*",
          "**/node_modules/**"
        ]
      },
      "firestore": {
        "rules": "firestore.rules",
        "indexes": "firestore.indexes.json"
      },
      "storage": {
        "rules": "storage.rules"
      },
      "database": {
        "rules": "database.rules.json"
      },
      "dataconnect": {
        "source": "dataconnect",
        "location": "us-central1"
      },
      "functions": [
        {
          "source": "functions",
          "codebase": "default",
          "ignore": [
            "**/.*",
            "**/node_modules/**"
          ],
          "predeploy": [
            "npm --prefix \"$RESOURCE_DIR\" run lint",
            "npm --prefix \"$RESOURCE_DIR\" run build"
          ]
        }
      ],
      "emulators": {
        "auth": {
          "port": 9099
        },
        "functions": {
          "port": 5001
        },
        "firestore": {
          "port": 8080
        },
        "hosting": {
          "port": 5000
        },
        "storage": {
          "port": 9199
        },
        "ui": {
          "enabled": true,
          "port": 4000
        },
        "singleProjectMode": true
      },
      "extensions": {
        "my-storage-resizer": "firebase/storage-resize-images@^0.1.0"
      },
      "auth": {
        "providers": {
          "anonymous": true,
          "emailPassword": true,
          "googleSignIn": {
            "oAuthBrandDisplayName": "My App",
            "supportEmail": "support@myapp.com"
          }
        }
      },
      "remoteconfig": {
        "template": "remoteconfig.template.json"
      }
    }

แม้ว่าระบบจะใช้ firebase.json โดยค่าเริ่มต้น แต่คุณสามารถส่งแฟล็ก --config PATH เพื่อระบุไฟล์การกำหนดค่าอื่นได้

การกำหนดค่าสำหรับฐานข้อมูล Cloud Firestore หลายรายการ

เมื่อเรียกใช้ firebase init ไฟล์ firebase.json จะมีคีย์ firestore รายการเดียวที่สอดคล้องกับฐานข้อมูลเริ่มต้นของโปรเจ็กต์ ดังที่แสดงในตัวอย่างก่อนหน้า

หากโปรเจ็กต์มีฐานข้อมูล Cloud Firestore หลายรายการ ให้แก้ไขไฟล์ firebase.json เพื่อเชื่อมโยงไฟล์ต้นฉบับ Cloud Firestore Security Rules และดัชนีฐานข้อมูลที่แตกต่างกันกับฐานข้อมูลแต่ละรายการ แก้ไขไฟล์ด้วยอาร์เรย์ JSON โดยมี 1 รายการสำหรับแต่ละฐานข้อมูล

      "firestore": [
        {
          "database": "(default)",
          "rules": "firestore.default.rules",
          "indexes": "firestore.default.indexes.json"
        },
        {
          "database": "ecommerce",
          "rules": "firestore.ecommerce.rules",
          "indexes": "firestore.ecommerce.indexes.json"
        }
      ],

Cloud Functions ไฟล์ที่จะละเว้นเมื่อทำให้ใช้งานได้

เมื่อติดตั้งใช้งานฟังก์ชัน CLI จะระบุรายการไฟล์ในไดเรกทอรี functions ที่จะละเว้นโดยอัตโนมัติ ซึ่งจะช่วยป้องกันการติดตั้งใช้งานไฟล์ที่ไม่เกี่ยวข้องกับแบ็กเอนด์ซึ่งอาจเพิ่มขนาดข้อมูลของการติดตั้งใช้งาน

รายการไฟล์ที่ระบบละเว้นโดยค่าเริ่มต้นซึ่งแสดงในรูปแบบ JSON มีดังนี้

"ignore": [
  ".git",
  ".runtimeconfig.json",
  "firebase-debug.log",
  "firebase-debug.*.log",
  "node_modules"
]

หากคุณเพิ่มค่าที่กำหนดเองสำหรับ ignore ใน firebase.json โปรดตรวจสอบว่าคุณเก็บ (หรือเพิ่ม หากไม่มี) รายการไฟล์ที่แสดงในรายการก่อนหน้าไว้

จัดการชื่อแทนของโปรเจ็กต์

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

เพิ่มชื่อแทนโปรเจ็กต์

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

firebase use --add

คำสั่งนี้จะแจ้งให้คุณเลือกโปรเจ็กต์ Firebase อื่นและกำหนดโปรเจ็กต์เป็นชื่อแทน ระบบจะเขียนการกำหนดชื่อแทนลงในไฟล์ .firebaserc ภายในไดเรกทอรีโปรเจ็กต์

ใช้นามแฝงของโปรเจ็กต์

หากต้องการใช้นามแฝงของโปรเจ็กต์ Firebase ที่กำหนด ให้เรียกใช้คำสั่งต่อไปนี้จากภายในไดเรกทอรีโปรเจ็กต์

คำสั่ง คำอธิบาย
firebase use ดูรายการชื่อแทนที่กำหนดไว้สำหรับไดเรกทอรีโปรเจ็กต์
firebase use \
PROJECT_ID|ALIAS
กำหนดให้คำสั่งทั้งหมดทำงานกับโปรเจ็กต์ Firebase ที่ระบุ
CLI จะใช้โปรเจ็กต์นี้เป็น "โปรเจ็กต์ที่ใช้งานอยู่"
firebase use --clear ล้างโปรเจ็กต์ที่ใช้งานอยู่

เรียกใช้ firebase use PROJECT_ID|ALIAS เพื่อตั้งค่าโปรเจ็กต์ที่ใช้งานอยู่ใหม่ก่อนเรียกใช้คำสั่ง CLI อื่นๆ

firebase use \
--unalias PROJECT_ALIAS
นำชื่อแทนออกจากไดเรกทอรีโปรเจ็กต์

คุณสามารถลบล้างสิ่งที่ใช้เป็นโปรเจ็กต์ที่ใช้งานอยู่ได้โดยส่งแฟล็ก --project พร้อมคำสั่ง CLI ใดก็ได้ ตัวอย่างเช่น คุณสามารถตั้งค่า CLI ให้ทำงานกับโปรเจ็กต์ Firebase ที่คุณกำหนดชื่อแทน staging ไว้ หากต้องการเรียกใช้คำสั่งเดียวกับโปรเจ็กต์ Firebase ที่คุณกำหนดชื่อแทน prod ไว้ คุณสามารถเรียกใช้ firebase deploy --project=prod ได้ เป็นต้น

การควบคุมแหล่งที่มาและชื่อแทนของโปรเจ็กต์

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

หากมีโปรเจ็กต์การพัฒนาที่ใช้เองเท่านั้น คุณสามารถส่งแฟล็ก --project ไปพร้อมกับแต่ละคำสั่ง หรือเรียกใช้ firebase use PROJECT_ID โดยไม่ต้องกำหนดชื่อแทนให้กับโปรเจ็กต์ Firebase

แสดงและทดสอบโปรเจ็กต์ Firebase ในเครื่อง

คุณสามารถดูและทดสอบโปรเจ็กต์ Firebase ใน URL ที่โฮสต์ในเครื่องก่อนที่จะทำให้ใช้งานได้จริง หากต้องการทดสอบเฉพาะบางฟีเจอร์ คุณสามารถใช้รายการที่คั่นด้วยคอมมาในแฟล็กในคำสั่ง firebase serve

เรียกใช้คำสั่งต่อไปนี้จากรูทของไดเรกทอรีโปรเจ็กต์ที่อยู่ในเครื่องหากต้องการทำงานอย่างใดอย่างหนึ่งต่อไปนี้

  • ดูเนื้อหาแบบคงที่สำหรับแอปที่โฮสต์ใน Firebase
  • ใช้ Cloud Functions เพื่อสร้างเนื้อหาแบบไดนามิกสำหรับ Firebase Hosting และคุณต้องการใช้ฟังก์ชัน HTTP เวอร์ชันที่ใช้งานจริง (ติดตั้งใช้งานแล้ว) เพื่อจำลอง Hosting ใน URL ในเครื่อง
firebase serve --only hosting

จำลองโปรเจ็กต์โดยใช้ฟังก์ชัน HTTP ในเครื่อง

เรียกใช้คำสั่งต่อไปนี้จากไดเรกทอรีโปรเจ็กต์เพื่อจำลองโปรเจ็กต์โดยใช้ฟังก์ชัน HTTP ในเครื่อง

  • หากต้องการจำลองฟังก์ชัน HTTP และโฮสติ้งสำหรับการทดสอบใน URL ในเครื่อง ให้ใช้คำสั่งใดคำสั่งหนึ่งต่อไปนี้

    firebase serve
    firebase serve --only functions,hosting // uses a flag
  • หากต้องการจำลองฟังก์ชัน HTTP เท่านั้น ให้ใช้คำสั่งต่อไปนี้

    firebase serve --only functions

ทดสอบจากอุปกรณ์อื่นๆ ในเครื่อง

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

firebase serve --host 0.0.0.0  // accepts requests to any host

ทำให้ใช้งานได้ในโปรเจ็กต์ Firebase

Firebase CLI จะจัดการการติดตั้งใช้งานโค้ดและชิ้นงานในโปรเจ็กต์ Firebase ซึ่งรวมถึงสิ่งต่อไปนี้

  • เว็บไซต์ Firebase Hosting เวอร์ชันใหม่
  • Cloud Functions for Firebaseใหม่ อัปเดต หรือที่มีอยู่
  • สคีมาและเครื่องมือเชื่อมต่อใหม่หรือที่อัปเดตสำหรับ Firebase SQL Connect
  • Security Rules วิกเก็ต Firebase Realtime Database รัน
  • Security Rules วิกเก็ต Cloud Storage for Firebase รัน
  • Security Rules วิกเก็ต Cloud Firestore รัน
  • ดัชนีสำหรับ Cloud Firestore
  • การกำหนดค่าสำหรับ Authentication

หากต้องการทำให้ใช้งานได้ในโปรเจ็กต์ Firebase ให้เรียกใช้คำสั่งต่อไปนี้จากไดเรกทอรีโปรเจ็กต์

firebase deploy

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

firebase deploy -m "Deploying the best new feature ever."

เมื่อใช้คำสั่ง firebase deploy โปรดคำนึงถึงสิ่งต่อไปนี้

  • หากต้องการติดตั้งใช้งานทรัพยากรจากไดเรกทอรีโปรเจ็กต์ ไดเรกทอรีโปรเจ็กต์ต้องมีไฟล์ firebase.json ไฟล์นี้จะสร้างขึ้นโดยอัตโนมัติด้วยคำสั่ง firebase init

  • โดยค่าเริ่มต้น firebase deploy จะสร้างรุ่นสำหรับทรัพยากรที่ทำให้ใช้งานได้ทั้งหมดในไดเรกทอรีโปรเจ็กต์ หากต้องการติดตั้งใช้งานบริการหรือฟีเจอร์ Firebase ที่เฉพาะเจาะจง ให้ใช้การติดตั้งใช้งานบางส่วน

ติดตั้งใช้งานบริการ Firebase ที่เฉพาะเจาะจง

หากต้องการติดตั้งใช้งานเฉพาะบริการหรือฟีเจอร์ Firebase บางอย่าง คุณสามารถใช้รายการที่คั่นด้วยคอมมาในแฟล็กในคำสั่ง firebase deploy ตัวอย่างเช่น คำสั่งต่อไปนี้จะทำให้เนื้อหา Firebase Hosting และ Cloud Storage Security Rules ใช้งานได้

firebase deploy --only hosting,storage

ตารางต่อไปนี้แสดงบริการและฟีเจอร์ที่ใช้ได้สำหรับการติดตั้งใช้งานบางส่วน ชื่อในแฟล็กจะสอดคล้องกับคีย์ในไฟล์การกำหนดค่า firebase.json

ไวยากรณ์ของแฟล็ก บริการหรือฟีเจอร์ที่ติดตั้งใช้งาน
--only auth การกำหนดค่าผู้ให้บริการ Authentication
--only database Firebase Realtime Database Security Rules
--only dataconnect สคีมาและเครื่องมือเชื่อมต่อ Firebase SQL Connect รายการ
--only firestore Cloud Firestore Security Rules และดัชนีสำหรับฐานข้อมูลที่กำหนดค่าไว้ทั้งหมด
--only functions Cloud Functions for Firebase
--only hosting เนื้อหาภาษาFirebase Hosting
--only storage Cloud Storage for Firebase Security Rules

ความขัดแย้งในการติดตั้งใช้งานสำหรับ Security Rules

สำหรับ Firebase Realtime Database, Cloud Storage for Firebase และ Cloud Firestore คุณสามารถกำหนด Security Rules ในไดเรกทอรีโปรเจ็กต์ที่อยู่ในเครื่องหรือในคอนโซล Firebase ก็ได้

อีกวิธีหนึ่งในการหลีกเลี่ยงความขัดแย้งในการติดตั้งใช้งานคือใช้การติดตั้งใช้งานบางส่วนและกำหนดเฉพาะ Security Rules ในคอนโซล Firebase

ตั้งค่างานที่เขียนสคริปต์ไว้ก่อนและหลังการติดตั้งใช้งาน

คุณสามารถเชื่อมต่อสคริปต์ของ Shell กับคำสั่ง firebase deploy เพื่อทำงานก่อนหรือหลังการทำให้ใช้งานได้ ตัวอย่างเช่น สคริปต์ก่อนการทำให้ใช้งานได้สามารถทำการ Transpile โค้ด TypeScript เป็น JavaScript และฮุกหลังการทำให้ใช้งานได้สามารถแจ้งเตือนผู้ดูแลระบบเกี่ยวกับการทำให้เนื้อหาเว็บไซต์ใหม่ใช้งานได้ใน Firebase Hosting

หากต้องการตั้งค่าฮุกก่อนการติดตั้งใช้งานหรือหลังการติดตั้งใช้งาน ให้เพิ่มสคริปต์ Bash ลงในไฟล์การกำหนดค่า firebase.json คุณสามารถกำหนดสคริปต์สั้นๆ ได้โดยตรงในไฟล์ firebase.json หรือจะอ้างอิงไฟล์อื่นๆ ที่อยู่ในไดเรกทอรีโปรเจ็กต์ก็ได้

ตัวอย่างเช่น สคริปต์ต่อไปนี้คือนิพจน์ firebase.json สำหรับงานหลังการทำให้ใช้งานได้ซึ่งจะส่งข้อความ Slack เมื่อทำให้ใช้งานได้ใน Firebase Hosting สำเร็จ

"hosting": {
  // ...

  "postdeploy": "./messageSlack.sh 'Just deployed to Firebase Hosting'",
  "public": "public"
}

ไฟล์สคริปต์ messageSlack.sh อยู่ในไดเรกทอรีโปรเจ็กต์และมีลักษณะดังนี้

curl -X POST -H 'Content-type: application/json' --data '{"text":"$1"}'
     \https://SLACK_WEBHOOK_URL

คุณสามารถตั้งค่าฮุก predeploy และ postdeploy สำหรับเนื้อหาที่สามารถติดตั้งใช้งานได้ โปรดทราบว่าการเรียกใช้ firebase deploy จะทริกเกอร์งานก่อนการติดตั้งใช้งานและหลังการติดตั้งใช้งานทั้งหมดที่กำหนดไว้ในไฟล์ firebase.json หากต้องการเรียกใช้เฉพาะงานที่เชื่อมโยงกับบริการ Firebase ที่เฉพาะเจาะจง ให้ใช้คำสั่งการติดตั้งใช้งานบางส่วน

ทั้งฮุก predeploy และ postdeploy จะพิมพ์เอาต์พุตมาตรฐานและสตรีมข้อผิดพลาดของสคริปต์ไปยังเทอร์มินัล โปรดทราบว่าในกรณีที่ดำเนินการไม่สำเร็จ ระบบจะดำเนินการดังนี้

  • หากฮุกก่อนการทำให้ใช้งานได้ไม่เสร็จสมบูรณ์ตามที่คาดไว้ ระบบจะยกเลิกการทำให้ใช้งานได้
  • หากการติดตั้งใช้งานไม่สำเร็จไม่ว่าด้วยเหตุผลใดก็ตาม ระบบจะไม่ทริกเกอร์ฮุกหลังการติดตั้งใช้งาน

ตัวแปรสภาพแวดล้อม

ภายในสคริปต์ที่ทำงานในฮุก predeploy และ postdeploy จะมีตัวแปรสภาพแวดล้อมต่อไปนี้ให้ใช้งาน

  • $GCLOUD_PROJECT: รหัสโปรเจ็กต์ของโปรเจ็กต์ที่ใช้งานอยู่
  • $PROJECT_DIR: ไดเรกทอรีรากที่มีไฟล์ firebase.json
  • $RESOURCE_DIR: (สำหรับสคริปต์ hosting และ functions เท่านั้น) ตำแหน่งของไดเรกทอรีที่มีทรัพยากร Hosting หรือ Cloud Functions ที่จะติดตั้งใช้งาน

โควต้าการติดตั้งใช้งาน

เป็นไปได้ (แต่ไม่น่าจะเกิดขึ้น) ที่คุณอาจใช้เกินโควต้าซึ่งจำกัดอัตราหรือปริมาณการดำเนินการติดตั้งใช้งาน Firebase ตัวอย่างเช่น เมื่อติดตั้งใช้งานฟังก์ชันจำนวนมาก คุณอาจได้รับข้อความแสดงข้อผิดพลาด HTTP 429 Quota หากต้องการแก้ปัญหาดังกล่าว ให้ลองใช้การติดตั้งใช้งานบางส่วน

ย้อนกลับการติดตั้งใช้งาน

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

คุณไม่สามารถย้อนกลับรุ่นของ Security Rules สำหรับ Firebase Realtime Database, Cloud Storage for Firebase หรือ Cloud Firestore ได้

ข้อมูลอ้างอิงคำสั่ง

ส่วนนี้จะอธิบายคำสั่งที่ใช้ได้สำหรับกรณีการใช้งานและผลิตภัณฑ์ต่อไปนี้

คำสั่งการดูแลระบบ CLI

คำสั่ง คำอธิบาย
help แสดงข้อมูลความช่วยเหลือเกี่ยวกับ CLI หรือคำสั่งที่เฉพาะเจาะจง
init เชื่อมโยงและตั้งค่าโปรเจ็กต์ Firebase ใหม่ในไดเรกทอรีปัจจุบัน
คำสั่งนี้จะสร้างไฟล์การกำหนดค่า firebase.json ในไดเรกทอรีปัจจุบัน
login

ตรวจสอบสิทธิ์ CLI ด้วยบัญชี Google ต้องมีสิทธิ์เข้าถึงเว็บเบราว์เซอร์

หากต้องการเข้าสู่ระบบ CLI ในสภาพแวดล้อมระยะไกลที่ไม่อนุญาตให้เข้าถึง localhost ให้ใช้แฟล็ก --no-localhost

login:ci เลิกใช้งานแล้ว แต่ให้ใช้ข้อมูลรับรองเริ่มต้นของแอปพลิเคชันกับบัญชีบริการ Google Cloud (GOOGLE_APPLICATION_CREDENTIALS) แทน
สร้างโทเค็นการตรวจสอบสิทธิ์เพื่อใช้ในสภาพแวดล้อมที่ไม่มีการโต้ตอบ
login:add เข้าสู่ระบบบัญชี Google เพิ่มเติม
login:list แสดงรายการบัญชี Google ที่ตรวจสอบสิทธิ์แล้วทั้งหมด
login:use \
EMAIL_ADDRESS
ตั้งค่าบัญชี Google ที่ใช้งานอยู่
logout ออกจากระบบบัญชี Google จาก CLI
open เปิดเบราว์เซอร์เพื่อไปยังแหล่งข้อมูลของโปรเจ็กต์ที่เกี่ยวข้อง
projects:list แสดงรายการโปรเจ็กต์ Firebase ทั้งหมดที่คุณมีสิทธิ์เข้าถึง
use

ตั้งค่าโปรเจ็กต์ Firebase ที่ใช้งานอยู่สำหรับ CLI

ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการชื่อแทนของโปรเจ็กต์

คำสั่งการจัดการโครงการ

คำสั่ง คำอธิบาย
การจัดการโปรเจ็กต์ Firebase
projects:addfirebase เพิ่มการกำหนดค่าเฉพาะ Firebase และเปิดใช้บริการเฉพาะ Firebase ในโปรเจ็กต์ Google Cloud ที่มีอยู่
projects:create สร้างโปรเจ็กต์ Google Cloud ใหม่ จากนั้นเพิ่มการกำหนดค่าเฉพาะ Firebase และเปิดใช้บริการเฉพาะ Firebase ในโปรเจ็กต์ใหม่
projects:list แสดงรายการโปรเจ็กต์ Firebase ทั้งหมดที่คุณมีสิทธิ์เข้าถึง
การจัดการแอป Firebase (iOS, Android, เว็บ)
apps:create สร้างแอป Firebase ใหม่
apps:list แสดงรายการแอป Firebase ที่ลงทะเบียนทั้งหมดในโปรเจ็กต์ Firebase ที่ใช้งานอยู่
apps:sdkconfig \
[PLATFORM] \
[FIREBASE_APP_ID]

พิมพ์การกำหนดค่า Firebase ของแอป Firebase ที่ระบุ

  • PLATFORM อาจเป็น IOS, ANDROID หรือ WEB (ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่) หากไม่ระบุ CLI จะแจ้งให้คุณเลือกแอปจากรายการแอป Firebase ทั้งหมดที่แสดงในโปรเจ็กต์ Firebase ที่ใช้งานอยู่ หากโปรเจ็กต์ Firebase ที่ใช้งานอยู่มีแอป Firebase เพียงแอปเดียว CLI จะเลือกแอปนั้นโดยอัตโนมัติ
  • FIREBASE_APP_ID คือรหัสแอปของแอป Firebase (ต้องระบุ PLATFORM ก่อน) หากละเว้น CLI จะเลือกแอปโดยอัตโนมัติหากมีแอปที่ตรงกันเพียงแอปเดียว หรือแจ้งให้คุณเลือกแอปหากมีแอปที่ตรงกันหลายแอป

หาก CLI ทำงานในโหมดอินเทอร์แอกทีฟ ให้ทำดังนี้

  • หากโปรเจ็กต์ Firebase ที่ใช้งานอยู่มีแอป Firebase เพียงแอปเดียว คุณสามารถละเว้นทั้ง PLATFORM และ FIREBASE_APP_ID ได้
  • หากโปรเจ็กต์ Firebase ที่ใช้งานอยู่มีแอป Firebase หลายแอป คุณต้องระบุ PLATFORM (และ FIREBASE_APP_ID หากโปรเจ็กต์มีแอป Firebase ของแพลตฟอร์มประเภทนั้นมากกว่า 1 แอป)

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับต่อไปนี้

  • -o หรือ --out [FILENAME]
    เขียนเอาต์พุตการกำหนดค่าลงในไฟล์แทนการพิมพ์ไปยังเอาต์พุตมาตรฐาน หากไม่ระบุ FILENAME ระบบจะใช้ชื่อไฟล์เฉพาะแพลตฟอร์มเป็นค่าเริ่มต้น (GoogleService-Info.plist สำหรับ iOS, google-services.json สำหรับ Android หรือ firebase-js-config.json สำหรับเว็บ) หากมีไฟล์เป้าหมายอยู่แล้ว CLI จะแจ้งให้คุณยืนยันการเขียนทับ (หรือดำเนินการไม่สำเร็จในโหมดอินเทอร์แอกทีฟ)
การจัดการแฮชใบรับรอง SHA (Android เท่านั้น)
apps:android:sha:create \
FIREBASE_ANDROID_APP_ID \
SHA_HASH
เพิ่มแฮชใบรับรอง SHA ที่ระบุลงในแอป Android ของ Firebase ที่ระบุ
apps:android:sha:delete \
FIREBASE_ANDROID_APP_ID \
SHA_ID
ลบใบรับรอง SHA ที่ระบุ (ระบุโดย SHA_ID จาก apps:android:sha:list) ออกจากแอป Android ของ Firebase ที่ระบุ
apps:android:sha:list \
FIREBASE_ANDROID_APP_ID
แสดงรายการแฮชใบรับรอง SHA ทั้งหมดสำหรับแอป Firebase บน Android ที่ระบุ

การทำให้ใช้งานได้และการพัฒนาในเครื่อง

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

คำสั่ง คำอธิบาย
deploy

ทำให้โค้ดและเนื้อหาจากไดเรกทอรีโปรเจ็กต์ใช้งานได้ในโปรเจ็กต์ Firebase ที่ใช้งานอยู่

คำสั่งนี้ต้องใช้ไฟล์การกำหนดค่า firebase.json ในไดเรกทอรีโปรเจ็กต์

ดูข้อมูลเพิ่มเติมเกี่ยวกับการทำให้ใช้งานได้ในโปรเจ็กต์ Firebase

serve

เริ่มเซิร์ฟเวอร์ในเครื่องเพื่อทดสอบการกำหนดค่า Firebase Hosting และ/หรือ HTTP Cloud Functions ในเครื่อง (เช่น ใช้ --only hosting หรือ --only functions)

คำสั่งนี้ต้องใช้ไฟล์การกำหนดค่า firebase.json ในไดเรกทอรีโปรเจ็กต์

ดูข้อมูลเพิ่มเติมเกี่ยวกับการแสดงและการทดสอบในเครื่อง

คำสั่ง App Distribution รายการ

คำสั่ง คำอธิบาย
appdistribution:distribute \
RELEASE_BINARY_FILE \
--app FIREBASE_APP_ID
อัปโหลดไฟล์ไบนารีของรุ่นที่ระบุ (.apk, .aab หรือ .ipa) และทำให้ผู้ทดสอบใช้ได้สำหรับแอป Firebase ที่ระบุ
appdistribution:testers:add \
[EMAILS...]

เพิ่มผู้ทดสอบอย่างน้อย 1 ราย (ระบุเป็น EMAILS ที่คั่นด้วยเว้นวรรค) ลงในโปรเจ็กต์ Firebase ที่ใช้งานอยู่ หากไม่ใส่ EMAILS คุณต้องส่ง --file FILE

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

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับต่อไปนี้

  • --file FILE
    ระบุเส้นทางไปยังไฟล์ที่ไม่ว่างเปล่าซึ่งคั่นด้วยคอมมาหรือขึ้นบรรทัดใหม่ที่มีอีเมลของผู้ทดสอบที่จะเพิ่ม หากมีการส่งทั้ง EMAILS และ --file ระบบจะให้ความสำคัญกับ EMAILS ก่อน
  • --group-alias GROUP_ALIAS
    นอกจากนี้ ให้เพิ่มผู้ทดสอบที่ระบุลงในกลุ่มผู้ทดสอบที่ระบุโดย GROUP_ALIAS ด้วย
appdistribution:testers:remove \
[EMAILS...]

นำผู้ทดสอบ (ระบุเป็น EMAILS ที่คั่นด้วยเว้นวรรค) ออกจากโปรเจ็กต์ Firebase ที่ใช้งานอยู่ หากไม่ใส่ EMAILS คุณต้องส่ง --file FILE

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับต่อไปนี้

  • --file FILE
    ระบุเส้นทางไปยังไฟล์ที่คั่นด้วยคอมมาหรือขึ้นบรรทัดใหม่ซึ่งมีอีเมลของผู้ทดสอบที่ต้องการนำออก (หากส่งทั้ง EMAILS และ --file ระบบจะให้ความสำคัญกับ EMAILS ก่อน)
  • --group-alias GROUP_ALIAS
    นำผู้ทดสอบที่ระบุเท่านั้นออกจากกลุ่มผู้ทดสอบที่ระบุโดย GROUP_ALIAS แทนที่จะนำออกจากโปรเจ็กต์ Firebase ที่ใช้งานอยู่
appdistribution:testers:list แสดงรายชื่อผู้ทดสอบในโปรเจ็กต์ Firebase ที่ใช้งานอยู่
appdistribution:groups:create \
DISPLAY_NAME \
[GROUP_ALIAS]
สร้างกลุ่มผู้ทดสอบด้วย DISPLAY_NAME ที่ระบุและ GROUP_ALIAS ที่ไม่บังคับ
หากไม่ระบุ GROUP_ALIAS ระบบจะสร้างชื่อแทนจาก DISPLAY_NAME โดยอัตโนมัติ
appdistribution:groups:delete \
GROUP_ALIAS
ลบกลุ่มผู้ทดสอบที่มีชื่อแทนที่ระบุ
appdistribution:groups:list แสดงรายการกลุ่มผู้ทดสอบทั้งหมดในโปรเจ็กต์ Firebase ที่ใช้งานอยู่

คำสั่ง App Hosting รายการ

คำสั่ง คำอธิบาย
apphosting:backends:create \
--backend BACKEND_ID \
--primary-region REGION_NAME \
--app FIREBASE_WEB_APP_ID

สร้างคอลเล็กชันของทรัพยากรที่มีการจัดการซึ่งลิงก์กับฐานของโค้ดเดียวที่ประกอบด้วยแบ็กเอนด์ App Hosting

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับ (แต่แนะนำ) ต่อไปนี้

  • --backend BACKEND_ID
    ระบุรหัสสำหรับแบ็กเอนด์ App Hosting ใหม่ หากละเว้นในโหมดอินเทอร์แอกทีฟ CLI จะแจ้งให้คุณป้อนรหัสแบ็กเอนด์
  • --primary-region REGION_NAME
    ระบุภูมิภาคหลักที่จะสร้างแบ็กเอนด์ App Hosting หากละเว้นในโหมดอินเทอร์แอกทีฟ CLI จะแจ้งให้คุณเลือกตำแหน่ง ดูข้อมูลเกี่ยวกับสถานที่ตั้งที่รองรับสำหรับ App Hosting
  • -a หรือ --app FIREBASE_WEB_APP_ID
    ระบุรหัสแอปของเว็บแอป Firebase ที่มีอยู่ หากไม่ระบุ CLI จะสร้างและเชื่อมโยงเว็บแอป Firebase ใหม่โดยอัตโนมัติโดยตั้งชื่อตาม BACKEND_ID (เว้นแต่โปรเจ็กต์จะถึงโควต้าแอป Firebase แล้ว)

คำสั่งนี้ยังรองรับแฟล็กที่ไม่บังคับต่อไปนี้ด้วย

  • --root-dir ROOT_DIR
    ระบุไดเรกทอรีรากของแอปที่เกี่ยวข้องกับที่เก็บของคุณ หากละเว้นในโหมดอินเทอร์แอกทีฟ CLI จะแจ้งให้คุณระบุไดเรกทอรี (ค่าเริ่มต้นคือ /)
  • -s หรือ --service-account SERVICE_ACCOUNT
    ระบุบัญชีบริการที่ใช้เรียกใช้เซิร์ฟเวอร์ หากไม่ระบุ ระบบจะใช้บัญชีบริการ Compute App Hosting เริ่มต้นเป็นค่าเริ่มต้น

หาก CLI ทำงานในโหมดที่ไม่มีการโต้ตอบ คุณจะต้องระบุทั้ง --backend และ --primary-region

apphosting:backends:get \
BACKEND_ID

ดึงข้อมูลรายละเอียด รวมถึง URL สาธารณะของแบ็กเอนด์ App Hosting ที่ระบุ

หากหลายภูมิภาคมีแบ็กเอนด์ที่มี BACKEND_ID ที่ระบุไว้ CLI จะบันทึกคำเตือนและพิมพ์แบ็กเอนด์ที่ตรงกันรายการแรก (โปรดทราบว่าคำสั่งนี้ไม่รองรับแฟล็ก --location)

apphosting:backends:list แสดงรายการแบ็กเอนด์ App Hosting ที่ใช้งานอยู่ทั้งหมดในโปรเจ็กต์ Firebase ที่ใช้งานอยู่
apphosting:backends:delete \
BACKEND_ID

ลบแบ็กเอนด์ App Hosting ที่ระบุ

CLI จะแสดงข้อความแจ้งให้ยืนยันก่อนดำเนินการ หากต้องการข้ามข้อความแจ้งให้ยืนยัน (จำเป็นในโหมดที่ไม่ใช่แบบอินเทอร์แอกทีฟ) ให้ส่งแฟล็ก -f หรือ --force

หากหลายภูมิภาคมีแบ็กเอนด์ที่มี BACKEND_ID ที่ระบุไว้ CLI จะแจ้งให้คุณเลือกแบ็กเอนด์ที่จะลบในโหมดอินเทอร์แอกทีฟ และจะดำเนินการไม่สำเร็จหากมีการส่ง -f หรือ --force (โปรดทราบว่าคำสั่งนี้ไม่รองรับแฟล็ก --location)

apphosting:rollouts:create \
BACKEND_ID

สร้างการเปิดตัวที่ทริกเกอร์ด้วยตนเองสำหรับแบ็กเอนด์ App Hosting ที่ระบุ

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับและไม่รวมกันต่อไปนี้ หากไม่ได้ระบุทั้ง 2 อย่าง CLI จะแจ้งให้คุณเลือกจากรายการสาขา ในโหมดที่ไม่มีการโต้ตอบ คุณต้องระบุแฟล็กอย่างใดอย่างหนึ่งเหล่านี้

  • -b หรือ --git-branch BRANCH_NAME
    ทำให้การคอมมิตล่าสุดใช้งานได้ใน Git Branch ที่ระบุ
  • -g หรือ --git-commit COMMIT_ID
    ทำให้ Git Commit ที่ระบุใช้งานได้

หากหลายภูมิภาคมีแบ็กเอนด์ที่มี BACKEND_ID ที่ระบุ คำสั่งนี้จะดำเนินการไม่สำเร็จทั้งในโหมดอินเทอร์แอกทีฟและโหมดที่ไม่อินเทอร์แอกทีฟ (โปรดทราบว่าคำสั่งนี้ไม่รองรับแฟล็ก --location)

apphosting:secrets:set \
SECRET_NAME \
--data-file DATA_FILE_PATH

สร้างหรืออัปเดตข้อมูลลับใน Google Cloud Secret Manager ด้วย SECRET_NAME ที่ระบุ

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับ (แต่แนะนำ) ต่อไปนี้

  • --data-file DATA_FILE_PATH
    ระบุเส้นทางที่จะอ่านข้อมูลลับ หรือตั้งค่าเป็น - เพื่ออ่านข้อมูลลับจากอินพุตมาตรฐาน หากไม่ระบุ CLI จะแจ้งให้คุณป้อนค่าข้อมูลลับ (โดยมีอินพุตที่มาสก์ไว้) หรืออ่านจากอินพุตมาตรฐานหากมีการไปป์อินพุตมาตรฐาน

คำสั่งนี้ยังรองรับแฟล็กที่ไม่บังคับต่อไปนี้ด้วย

  • -l หรือ --location REGION_NAME
    เมื่อสร้างข้อมูลลับใหม่ ให้จำกัดการจำลองข้อมูลลับไว้เฉพาะในภูมิภาค Google Cloud Secret Manager ที่ระบุ หากไม่ระบุ Google Cloud Secret Manager จะใช้การจำลองแบบทั่วโลกโดยอัตโนมัติ (นโยบายการจำลองข้อมูลจะเปลี่ยนแปลงไม่ได้สำหรับข้อมูลลับที่มีอยู่)

หาก CLI ทำงานในโหมดที่ไม่ใช่แบบอินเทอร์แอกทีฟ ให้ส่ง --data-file DATA_FILE_PATH (หรือไปป์ค่าลับไปยังอินพุตมาตรฐาน)

apphosting:secrets:grantaccess \
SECRET_NAME

ให้สิทธิ์เข้าถึงข้อมูลลับที่ระบุแก่ชุดอีเมลของผู้ใช้หรือกลุ่ม หรือแก่บัญชีบริการของแบ็กเอนด์ จากนั้น App Hosting จะเข้าถึงข้อมูลลับได้ในเวลาบิลด์หรือรันไทม์

คุณสามารถส่งค่า SECRET_NAME ได้อย่างน้อย 1 ค่าโดยคั่นด้วยคอมมา คุณต้องระบุ --emails หรือ --backend (แฟล็ก 2 รายการนี้เป็นแบบแยกกัน)

ให้สิทธิ์เข้าถึงแก่ชุดอีเมลของผู้ใช้หรือกลุ่ม โดยทำดังนี้

  • -e หรือ --emails EMAILS
    ระบุรายการที่คั่นด้วยคอมมาของอีเมลผู้ใช้หรือกลุ่มซึ่งควรได้รับสิทธิ์เข้าถึงข้อมูลลับที่ระบุ

ให้สิทธิ์เข้าถึงบัญชีบริการของแบ็กเอนด์โดยทำดังนี้

  • -b หรือ --backend BACKEND_ID
    ระบุแบ็กเอนด์ App Hosting ที่บัญชีบริการควรได้รับสิทธิ์เข้าถึงข้อมูลลับที่ระบุ
  • -l หรือ --location REGION_NAME
    ระบุภูมิภาคสำหรับแบ็กเอนด์ App Hosting หากละเว้น CLI จะค้นหา BACKEND_ID ที่ตรงกันในทุกภูมิภาค หากหลายภูมิภาคมีแบ็กเอนด์ที่มีรหัสดังกล่าว CLI จะแจ้งให้คุณเลือก 1 รายการในโหมดอินเทอร์แอกทีฟ (ในโหมดที่ไม่อินเทอร์แอกทีฟ คุณต้องระบุ --location)
apphosting:secrets:revokeaccess \
SECRET_NAME

เพิกถอนสิทธิ์เข้าถึงข้อมูลลับที่ระบุจากชุดอีเมลของผู้ใช้หรือกลุ่ม หรือจากบัญชีบริการของแบ็กเอนด์

คุณสามารถส่งค่า SECRET_NAME ได้อย่างน้อย 1 ค่าโดยคั่นด้วยคอมมา คุณต้องระบุ --emails หรือ --backend (แฟล็ก 2 รายการนี้แยกกัน)

เพิกถอนสิทธิ์เข้าถึงจากชุดอีเมลของผู้ใช้หรือกลุ่ม โดยทำดังนี้

  • -e หรือ --emails EMAILS
    ระบุรายการที่คั่นด้วยคอมมาของอีเมลผู้ใช้หรือกลุ่มเพื่อเพิกถอนสิทธิ์เข้าถึงข้อมูลลับที่ระบุ

เพิกถอนสิทธิ์เข้าถึงจากบัญชีบริการของแบ็กเอนด์

  • -b หรือ --backend BACKEND_ID
    ระบุแบ็กเอนด์ App Hosting ที่ควรเพิกถอนสิทธิ์เข้าถึงของบัญชีบริการจากข้อมูลลับที่ระบุ
  • -l หรือ --location REGION_NAME
    ระบุภูมิภาคสำหรับแบ็กเอนด์ App Hosting หากละเว้น CLI จะค้นหา BACKEND_ID ที่ตรงกันในทุกภูมิภาค หากหลายภูมิภาคมีแบ็กเอนด์ที่มีรหัสดังกล่าว CLI จะแจ้งให้คุณเลือก 1 รายการในโหมดอินเทอร์แอกทีฟ (ในโหมดที่ไม่อินเทอร์แอกทีฟ คุณต้องระบุ --location)
apphosting:secrets:describe \
SECRET_NAME
ดึงข้อมูลเมตาและเวอร์ชันสำหรับชื่อข้อมูลลับที่ระบุ
apphosting:secrets:access \
SECRET_NAME[@VERSION]
เข้าถึงค่าของข้อมูลลับสำหรับชื่อข้อมูลลับที่ระบุในเวอร์ชันที่ระบุ
หากไม่ระบุ [@VERSION] ระบบจะใช้ค่าเริ่มต้นเป็นการเข้าถึงเวอร์ชันล่าสุด

คำสั่ง Authentication (การจัดการผู้ใช้)

คำสั่ง คำอธิบาย
auth:export \
DATA_FILE

ส่งออกบัญชีผู้ใช้ของโปรเจ็กต์ Firebase ที่ใช้งานอยู่ไปยังไฟล์ JSON หรือ CSV

ดูรายละเอียดเพิ่มเติมได้ที่หน้า "auth:import และ auth:export"

auth:import \
DATA_FILE

นำเข้าบัญชีผู้ใช้จากไฟล์ JSON หรือ CSV ไปยังโปรเจ็กต์ Firebase ที่ใช้งานอยู่

ดูรายละเอียดเพิ่มเติมได้ที่หน้า "auth:import และ auth:export"

คำสั่ง Cloud Firestore รายการ

คำสั่ง คำอธิบาย
firestore:locations

แสดงรายการตำแหน่งที่ใช้ได้สำหรับอินสแตนซ์ฐานข้อมูล Cloud Firestore ในโปรเจ็กต์ Firebase ที่ใช้งานอยู่

ดูข้อมูลเกี่ยวกับสถานที่ตั้งที่พร้อมให้บริการสำหรับ Standard Edition, Enterprise Edition และ ความเข้ากันได้กับ MongoDB

firestore:databases:create \
DATABASE_ID \
--location REGION_NAME

สร้างอินสแตนซ์ฐานข้อมูล Cloud Firestore ที่ระบุ (ในโหมดเนทีฟ) ในตำแหน่งที่ระบุ
เรียกใช้ firebase firestore:locations เพื่อแสดงรายการสถานที่ตั้งที่พร้อมใช้งานสำหรับ REGION_NAME

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับต่อไปนี้

  • --delete-protection DELETION_PROTECTION_STATE
    อนุญาตหรือป้องกันการลบอินสแตนซ์ฐานข้อมูล Cloud Firestore ที่ระบุ ค่าที่ใช้ได้คือ ENABLED หรือ DISABLED หากไม่ระบุ ระบบจะใช้ค่าเริ่มต้นเป็น DISABLED
  • --point-in-time-recovery PITR_STATE
    กำหนดว่าจะเปิดใช้การกู้คืนช่วงเวลาสำหรับอินสแตนซ์ฐานข้อมูล Cloud Firestore ที่ระบุหรือไม่ ค่าที่ใช้ได้คือ ENABLED หรือ DISABLED หากไม่ระบุ ระบบจะใช้ค่าเริ่มต้นเป็น DISABLED
  • --edition EDITION
    ตั้งค่ารุ่นสำหรับอินสแตนซ์ฐานข้อมูล Cloud Firestore ที่ระบุ
    ค่าที่ใช้ได้คือ standard หรือ enterprise หากไม่ระบุ ระบบจะใช้ค่าเริ่มต้นเป็น standard
  • --firestore-data-access ENABLEMENT_STATE
    (รุ่น Enterprise เท่านั้น) ควบคุมความพร้อมใช้งานของ API ของ Cloud Firestore ค่าที่ใช้ได้คือ ENABLED หรือ DISABLED หากไม่ระบุ ค่าเริ่มต้นจะเป็น ENABLED (แต่เมื่อ --mongodb-compatible-data-access เป็น ENABLED ค่าเริ่มต้นจะเป็น DISABLED)
  • --mongodb-compatible-data-access ENABLEMENT_STATE
    (รุ่น Enterprise เท่านั้น) ควบคุมความพร้อมใช้งานของ API ที่เข้ากันได้กับ MongoDB ค่าที่ใช้ได้คือ ENABLED หรือ DISABLED หากไม่ระบุ ระบบจะใช้ค่าเริ่มต้นเป็น DISABLED
  • --realtime-updates ENABLEMENT_STATE
    (รุ่น Enterprise เท่านั้น) เปิดหรือปิดใช้ฟีเจอร์ "ดู" (แบบเรียลไทม์) ค่าที่ใช้ได้คือ ENABLED หรือ DISABLED หากไม่ระบุ ค่าเริ่มต้นจะเป็น ENABLED เมื่อ --firestore-data-access เป็น ENABLED (มิฉะนั้น ระบบจะใช้ค่าเริ่มต้นของเซิร์ฟเวอร์)
    การตั้งค่าแฟล็กนี้กำหนดให้ --firestore-data-access ต้องเป็น ENABLED
firestore:databases:list

แสดงรายการอินสแตนซ์ฐานข้อมูล Cloud Firestore ทั้งหมดในโปรเจ็กต์ Firebase ที่ใช้งานอยู่

firestore:databases:get \
[DATABASE_ID]

ดึงข้อมูลการกำหนดค่าฐานข้อมูลสำหรับอินสแตนซ์ฐานข้อมูล Cloud Firestore ที่ระบุ
หากไม่ระบุ DATABASE_ID ระบบจะใช้ค่าเริ่มต้นเป็นอินสแตนซ์ฐานข้อมูล Cloud Firestore เริ่มต้นของโปรเจ็กต์ Firebase ที่ใช้งานอยู่

เอาต์พุตตารางจะรวม Edition ของฐานข้อมูลสำหรับฐานข้อมูลทั้งหมด ช่องสถานะการเข้าถึงข้อมูลระดับองค์กรและการอัปเดตแบบเรียลไทม์จะรวมอยู่ในเอาต์พุต JSON แบบข้อมูลดิบเมื่อมีการส่ง --json เท่านั้น

firestore:databases:update \
DATABASE_ID

อัปเดตการกำหนดค่าฐานข้อมูลของอินสแตนซ์ฐานข้อมูล Cloud Firestore ที่ระบุ

ต้องระบุแฟล็กอย่างน้อย 1 รายการ (แฟล็กที่ละไว้จะยังคงใช้การตั้งค่าปัจจุบัน) คำสั่งนี้รองรับแฟล็กต่อไปนี้

  • --delete-protection DELETION_PROTECTION_STATE
    อนุญาตหรือป้องกันการลบอินสแตนซ์ฐานข้อมูล Cloud Firestore ที่ระบุ ค่าที่ใช้ได้คือ ENABLED หรือ DISABLED
  • --point-in-time-recovery PITR_STATE
    กำหนดว่าจะเปิดใช้การกู้คืนช่วงเวลาสำหรับอินสแตนซ์ฐานข้อมูล Cloud Firestore ที่ระบุหรือไม่ ค่าที่ใช้ได้คือ ENABLED หรือ DISABLED
firestore:databases:delete \
DATABASE_ID

ลบอินสแตนซ์ฐานข้อมูล Cloud Firestore ที่ระบุ

CLI จะแสดงข้อความแจ้งให้ยืนยันก่อนดำเนินการ หากต้องการข้ามข้อความแจ้งการยืนยัน (จำเป็นในโหมดที่ไม่มีการโต้ตอบ) ให้ส่งแฟล็ก --force (firestore:databases:delete ไม่รองรับชวเลข -f ซึ่งต่างจากคำสั่งอื่นๆ)

firestore:indexes

แสดงรายการดัชนีทั้งหมดสำหรับอินสแตนซ์ฐานข้อมูล Cloud Firestore

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับต่อไปนี้

  • --database DATABASE_ID
    ระบุอินสแตนซ์ฐานข้อมูล Cloud Firestore ที่จะแสดงรายการดัชนี หากละเว้น ระบบจะแสดงรายการดัชนีสำหรับอินสแตนซ์ฐานข้อมูล Cloud Firestore เริ่มต้นของโปรเจ็กต์ Firebase ที่ใช้งานอยู่
firestore:delete \
[PATH]

ลบเอกสารที่เส้นทางฐานข้อมูลที่ระบุ (PATH) จากอินสแตนซ์ฐานข้อมูล Cloud Firestore

ต้องระบุ PATH เว้นแต่จะส่ง --all-collections การลบคอลเล็กชันหรือเอกสารที่มีคอลเล็กชันย่อยจะดำเนินการไม่สำเร็จ เว้นแต่จะมีการส่ง -r/--recursive หรือ --shallow

โปรดทราบว่าการลบข้อมูล Cloud Firestore โดยใช้ CLI จะมีค่าใช้จ่ายในการอ่านและลบ ดูข้อมูลเพิ่มเติมได้ที่หัวข้อทำความเข้าใจการเรียกเก็บเงินของ Cloud Firestore

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับต่อไปนี้

  • --database DATABASE_ID
    ระบุฐานข้อมูล Cloud Firestore ที่ควรลบเอกสาร หากไม่ระบุ ระบบจะลบเอกสารออกจากอินสแตนซ์ฐานข้อมูล Cloud Firestore เริ่มต้นของโปรเจ็กต์ Firebase ที่ใช้งานอยู่
  • --all-collections
    ลบคอลเล็กชันทั้งหมดในฐานข้อมูล (อย่าส่ง PATH เมื่อใช้แฟล็กนี้)
  • -r หรือ --recursive
    ลบเอกสารและคอลเล็กชันย่อยทั้งหมดซ้ำๆ ในเส้นทางที่ระบุ (ไม่สามารถส่งผ่านด้วย --shallow)
  • --shallow
    ลบเฉพาะเอกสารในระดับที่ระบุและละเว้นเอกสารในคอลเล็กชันย่อย โปรดทราบว่าการดำเนินการนี้อาจทำให้เอกสารที่ฝังอยู่กลายเป็นเอกสารที่ไม่มีเจ้าของ (ไม่สามารถส่งพร้อมกับ -r หรือ --recursive)

CLI จะแสดงข้อความแจ้งให้ยืนยันก่อนดำเนินการ หากต้องการข้ามข้อความแจ้งให้ยืนยัน (จำเป็นในโหมดที่ไม่ใช่แบบอินเทอร์แอกทีฟ) ให้ส่งแฟล็ก -f หรือ --force

คำสั่ง Cloud Functions for Firebase รายการ

ดูข้อมูลเพิ่มเติมได้ในเอกสารประกอบการกำหนดค่าสภาพแวดล้อม

คำสั่ง คำอธิบาย
functions:config:export

ส่งออกการกำหนดค่ารันไทม์ functions.config() เดิมของโปรเจ็กต์ Firebase ที่ใช้งานอยู่เป็นข้อมูลลับ JSON รายการเดียวใน Google Cloud Secret Manager (สำหรับใช้กับ defineJsonSecret)

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับต่อไปนี้

  • --secret SECRET_NAME
    ระบุชื่อของข้อมูลลับที่จะสร้างหรืออัปเดตใน Google Cloud Secret Manager หากไม่ระบุ CLI จะแจ้งให้คุณป้อนชื่อ (ค่าเริ่มต้นคือ FUNCTIONS_CONFIG_EXPORT)
  • -f หรือ --force
    ใช้ชื่อข้อมูลลับเริ่มต้น (FUNCTIONS_CONFIG_EXPORT) โดยไม่ต้องแจ้ง และเพิ่มเวอร์ชันข้อมูลลับใหม่โดยไม่ต้องยืนยันหาก มีข้อมูลลับอยู่แล้ว (จำเป็นสำหรับการเพิ่มเวอร์ชันใหม่ลงในข้อมูลลับที่มีอยู่ในโหมดแบบไม่โต้ตอบ)
functions:delete \
FUNCTION_NAME...

ลบฟังก์ชันที่ระบุอย่างน้อย 1 รายการออกจากโปรเจ็กต์ Firebase ที่ใช้งานอยู่

CLI จะแสดงข้อความแจ้งให้ยืนยันก่อนดำเนินการ หากต้องการข้ามข้อความแจ้งให้ยืนยัน (จำเป็นในโหมดที่ไม่ใช่แบบอินเทอร์แอกทีฟ) ให้ส่งแฟล็ก -f หรือ --force

functions:list แสดงรายการฟังก์ชันที่ติดตั้งใช้งานทั้งหมดในโปรเจ็กต์ Firebase ที่ใช้งานอยู่
functions:log อ่านบันทึกจาก Cloud Functions ที่ติดตั้งใช้งานทั้งหมดในโปรเจ็กต์ Firebase ที่ใช้งานอยู่
functions:secrets:access \
SECRET_NAME[@VERSION]
เข้าถึงค่าของข้อมูลลับสำหรับชื่อข้อมูลลับที่ระบุในเวอร์ชันที่ระบุ
หากไม่ระบุ [@VERSION] ระบบจะใช้ค่าเริ่มต้นเป็นการเข้าถึงเวอร์ชันล่าสุด
functions:secrets:destroy \
SECRET_NAME[@VERSION]

ทำลายข้อมูลลับที่ระบุในเวอร์ชันที่ระบุ
หากไม่ระบุ [@VERSION] ระบบจะทำลายเวอร์ชันล่าสุดโดยค่าเริ่มต้น

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

functions:secrets:get \
SECRET_NAME
ดึงข้อมูลเมตาและเวอร์ชันสำหรับชื่อข้อมูลลับที่ระบุ
functions:secrets:prune ทำลายข้อมูลลับที่ไม่ได้ใช้ทั้งหมดในโปรเจ็กต์ Firebase ที่ใช้งานอยู่
functions:secrets:set \
SECRET_NAME
สร้างหรืออัปเดตข้อมูลลับที่ระบุ
functions:shell เริ่มเชลล์แบบอินเทอร์แอกทีฟในเครื่องเพื่อทดสอบฟังก์ชัน
functions:config:clone \
--from PROJECT_ID

เลิกใช้งานแล้ว
โคลนสภาพแวดล้อมของโปรเจ็กต์อื่นลงในโปรเจ็กต์ Firebase ที่ใช้งานอยู่

ปิดใช้โดยค่าเริ่มต้น หากต้องการใช้คำสั่งนี้ ให้เรียกใช้ firebase experiments:enable legacyRuntimeConfigCommands ก่อน

functions:config:get เลิกใช้งานแล้ว
ดึงค่าการกำหนดค่าที่มีอยู่ของ Cloud Functions ในโปรเจ็กต์ Firebase ที่ใช้งานอยู่
functions:config:set \
KEY=VALUE...

เลิกใช้งานแล้ว
จัดเก็บค่าการกำหนดค่ารันไทม์ของ Cloud Functions ของโปรเจ็กต์ Firebase ที่ใช้งานอยู่

ปิดใช้โดยค่าเริ่มต้น หากต้องการใช้คำสั่งนี้ ให้เรียกใช้ firebase experiments:enable legacyRuntimeConfigCommands ก่อน

functions:config:unset \
KEY...

เลิกใช้งานแล้ว
นำค่าออกจากการกำหนดค่ารันไทม์ของโปรเจ็กต์ Firebase ที่ใช้งานอยู่

ปิดใช้โดยค่าเริ่มต้น หากต้องการใช้คำสั่งนี้ ให้เรียกใช้ firebase experiments:enable legacyRuntimeConfigCommands ก่อน

คำสั่ง Crashlytics รายการ

คำสั่ง คำอธิบาย
crashlytics:mappingfile:generateid \
--resource-file PATH/TO/ANDROID_RESOURCE.XML
สร้างรหัสไฟล์การแมปที่ไม่ซ้ำกันในไฟล์ทรัพยากร Android (XML) ที่ระบุ
crashlytics:mappingfile:upload \
--app FIREBASE_APP_ID \
--resource-file PATH/TO/ANDROID_RESOURCE.XML \
PATH/TO/MAPPING_FILE.TXT
อัปโหลดไฟล์การแมป (TXT) ที่เข้ากันได้กับ Proguard สำหรับแอป Firebase ที่ระบุ และเชื่อมโยงกับรหัสไฟล์การแมปที่ประกาศไว้ในไฟล์ทรัพยากร Android (XML) ที่ระบุ
crashlytics:symbols:upload \
--app FIREBASE_APP_ID \
PATH/TO/SYMBOLS...

สร้างไฟล์สัญลักษณ์ที่เข้ากันได้กับ Crashlytics สำหรับข้อขัดข้องของไลบรารีแบบเนทีฟของ Android (เช่น Android NDK หรือบิลด์ Android ของ Unity หรือ Flutter) แล้วอัปโหลดไปยังเซิร์ฟเวอร์ Firebase

คำสั่งนี้รองรับ Android เท่านั้น สำหรับ dSYM ของ iOS ให้ใช้สคริปต์ upload-symbols ของ Apple SDK

คำสั่ง Extensions รายการ

คำสั่ง คำอธิบาย
ext แสดงข้อมูลเกี่ยวกับวิธีใช้คำสั่ง Firebase Extensions
แสดงรายการอินสแตนซ์ของส่วนขยายที่ติดตั้งในโปรเจ็กต์ที่ใช้งานอยู่
ext:configure \
EXTENSION_INSTANCE_ID
กำหนดค่าพารามิเตอร์ของอินสแตนซ์ส่วนขยายใหม่ในไฟล์ Manifest ของส่วนขยาย
ext:info \
PUBLISHER_ID/EXTENSION_ID
พิมพ์ข้อมูลโดยละเอียดเกี่ยวกับส่วนขยาย
ext:install \
PUBLISHER_ID/EXTENSION_ID
เพิ่มอินสแตนซ์ใหม่ของส่วนขยายลงในไฟล์ Manifest ของส่วนขยาย
ext:sdk:install \
EXTENSION_NAME
ติดตั้ง SDK สำหรับการกำหนดส่วนขยายในฟังก์ชัน
ext:list แสดงรายการอินสแตนซ์ส่วนขยายทั้งหมดที่ติดตั้งในโปรเจ็กต์ Firebase
พิมพ์รหัสอินสแตนซ์สำหรับส่วนขยายแต่ละรายการ
ext:uninstall \
EXTENSION_INSTANCE_ID
นำอินสแตนซ์ส่วนขยายออกจากไฟล์ Manifest ของส่วนขยาย
ext:update \
EXTENSION_INSTANCE_ID \
[UPDATE_SOURCE]

อัปเดตอินสแตนซ์ส่วนขยายเป็นเวอร์ชันล่าสุด (หรือเป็นเวอร์ชัน UPDATE_SOURCE ที่เผยแพร่ที่ระบุ) ในไฟล์ Manifest ของส่วนขยาย โปรดทราบว่า UPDATE_SOURCE ไม่รองรับเส้นทางและ URL ในเครื่อง

CLI จะแสดงข้อความแจ้งให้ยืนยันก่อนดำเนินการ คุณสามารถส่ง -f หรือ --force เพื่อข้ามข้อความแจ้งนี้ในโหมดอินเทอร์แอกทีฟได้ แต่ ext:update เป็นคำสั่งแบบอินเทอร์แอกทีฟเท่านั้นและไม่รองรับในโหมดที่ไม่อินเทอร์แอกทีฟ แม้จะใช้ -f หรือ --force ก็ตาม

ext:export ส่งออกอินสแตนซ์ของส่วนขยายที่ติดตั้งทั้งหมดจากโปรเจ็กต์ไปยังไฟล์ Manifest ของส่วนขยาย

คำสั่งของผู้เผยแพร่โฆษณา Extensions รายการ

คำสั่ง คำอธิบาย
ext:dev:init เริ่มต้นฐานของโค้ดโครงร่างสำหรับส่วนขยายใหม่ในไดเรกทอรีปัจจุบัน
ext:dev:list \
PUBLISHER_ID
พิมพ์รายการส่วนขยายทั้งหมดที่ผู้เผยแพร่อัปโหลด
ext:dev:register ปิดใช้
ระบบไม่รองรับการลงทะเบียนรหัสโปรไฟล์ผู้เผยแพร่โฆษณาใหม่อีกต่อไป
ext:dev:deprecate \
PUBLISHER_ID/EXTENSION_ID \
[VERSION_PREDICATE]
เลิกใช้งานเวอร์ชันส่วนขยายที่ตรงกับเพรดิเคตเวอร์ชัน
เพรดิเคตเวอร์ชันอาจเป็นเวอร์ชันเดียว (เช่น 1.0.0) หรือช่วงของเวอร์ชัน (เช่น >1.0.0)
หากไม่มีเพรดิเคตเวอร์ชัน ระบบจะเลิกใช้งานส่วนขยายนั้นทุกเวอร์ชัน
ext:dev:undeprecate \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
ยกเลิกการเลิกใช้งานเวอร์ชันส่วนขยายที่ตรงกับเพรดิเคตเวอร์ชัน
เพรดิเคตเวอร์ชันอาจเป็นเวอร์ชันเดียว (เช่น 1.0.0) หรือช่วงของเวอร์ชัน (เช่น >1.0.0)
ext:dev:upload \
PUBLISHER_ID/EXTENSION_ID
อัปโหลดส่วนขยายเวอร์ชันใหม่
ext:dev:usage \
PUBLISHER_ID
แสดงจำนวนการติดตั้งและเมตริกการใช้งานสำหรับส่วนขยายที่ผู้เผยแพร่อัปโหลด

คำสั่ง Hosting รายการ

คำสั่ง คำอธิบาย
hosting:disable

หยุดแสดงการเข้าชม Firebase Hosting สำหรับเว็บไซต์ Hosting

URL Hosting ของเว็บไซต์จะแสดงข้อความ "ไม่พบเว็บไซต์" หลังจากเรียกใช้คำสั่งนี้

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับต่อไปนี้

  • --site SITE_ID
    ระบุเว็บไซต์ Hosting ที่ต้องการปิดใช้ หากไม่ระบุ ระบบจะใช้เว็บไซต์ Hosting เริ่มต้นของโปรเจ็กต์ Firebase ที่ใช้งานอยู่เป็นค่าเริ่มต้น

CLI จะแสดงข้อความแจ้งให้ยืนยันก่อนดำเนินการ หากต้องการข้ามข้อความแจ้งให้ยืนยัน (จำเป็นในโหมดที่ไม่ใช่แบบอินเทอร์แอกทีฟ) ให้ส่งแฟล็ก -f หรือ --force

การจัดการเว็บไซต์ Hosting รายการ
hosting:sites:create \
[SITE_ID]

สร้างเว็บไซต์ Hosting ใหม่โดยใช้ SITE_ID ที่ระบุ

หาก CLI ทำงานในโหมดที่ไม่ใช่แบบอินเทอร์แอกทีฟ คุณจะต้องระบุ SITE_ID

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับต่อไปนี้

  • --app FIREBASE_APP_ID
    ระบุเว็บแอป Firebase ที่มีอยู่เพื่อเชื่อมโยงกับเว็บไซต์ Hosting ใหม่
hosting:sites:delete \
SITE_ID

ลบเว็บไซต์ Hosting ที่ระบุ

CLI จะแสดงข้อความแจ้งให้ยืนยันก่อนดำเนินการ หากต้องการข้ามข้อความแจ้งให้ยืนยัน (จำเป็นในโหมดที่ไม่ใช่แบบอินเทอร์แอกทีฟ) ให้ส่งแฟล็ก -f หรือ --force

hosting:sites:get \
SITE_ID

ดึงข้อมูลรายละเอียดเกี่ยวกับเว็บไซต์ Hosting ที่ระบุ

เอาต์พุตของตารางประกอบด้วยรหัสเว็บไซต์, URL เริ่มต้น และรหัสเว็บแอป Firebase (หากลิงก์ไว้) ข้อมูลเมตาเพิ่มเติม (เช่น เว็บไซต์เป็น DEFAULT_SITE หรือ USER_SITE) จะรวมอยู่ในเอาต์พุต JSON ดิบเมื่อมีการส่ง --json เท่านั้น

hosting:sites:list แสดงรายการเว็บไซต์ Hosting ทั้งหมดในโปรเจ็กต์ Firebase ที่ใช้งานอยู่
การจัดการช่องทางตัวอย่าง
hosting:channel:create \
[CHANNEL_ID]

สร้างช่องทางตัวอย่างใหม่สำหรับเว็บไซต์ Hosting โดยใช้ CHANNEL_ID ที่ระบุ
คำสั่งนี้จะไม่ทำให้เกิดการติดตั้งใช้งานในช่อง

หาก CLI ทำงานในโหมดที่ไม่ใช่แบบอินเทอร์แอกทีฟ คุณจะต้องระบุ CHANNEL_ID

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับต่อไปนี้

  • --site SITE_ID
    ระบุเว็บไซต์ Hosting ที่จะสร้างช่องทางตัวอย่าง หากไม่ระบุ ระบบจะใช้เว็บไซต์ Hosting เริ่มต้นของโปรเจ็กต์ Firebase ที่ใช้งานอยู่เป็นค่าเริ่มต้น
hosting:channel:delete \
CHANNEL_ID

ลบช่องตัวอย่างที่ระบุ คุณไม่สามารถลบช่องที่เผยแพร่อยู่ของเว็บไซต์ได้

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับต่อไปนี้

  • --site SITE_ID
    ระบุเว็บไซต์ Hosting ที่จะลบช่องแสดงตัวอย่าง หากไม่ระบุ ระบบจะใช้เว็บไซต์ Hosting เริ่มต้นของโปรเจ็กต์ Firebase ที่ใช้งานอยู่เป็นค่าเริ่มต้น

CLI จะแสดงข้อความแจ้งให้ยืนยันก่อนดำเนินการ หากต้องการข้ามข้อความแจ้งให้ยืนยัน (จำเป็นในโหมดที่ไม่ใช่แบบอินเทอร์แอกทีฟ) ให้ส่งแฟล็ก -f หรือ --force

hosting:channel:deploy \
CHANNEL_ID

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

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับต่อไปนี้

  • --only TARGETS
    ระบุรายการที่คั่นด้วยคอมมาของเป้าหมาย Hosting ที่กำหนดค่าไว้ใน firebase.json เพื่อทำให้ใช้งานได้ในช่องทางเวอร์ชันตัวอย่าง หากละเว้น ระบบจะทำให้ใช้งานได้ในเว็บไซต์ Hosting ทั้งหมดที่กำหนดค่าไว้ใน firebase.json
hosting:channel:list

แสดงรายการช่องทั้งหมด (รวมถึงช่อง "สด") สำหรับเว็บไซต์ Hosting

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับต่อไปนี้

  • --site SITE_ID
    ระบุเว็บไซต์ Hosting ที่จะแสดงรายการแชแนล หากไม่ระบุ ระบบจะใช้เว็บไซต์ Hosting เริ่มต้นของโปรเจ็กต์ Firebase ที่ใช้งานอยู่เป็นค่าเริ่มต้น
hosting:channel:open \
[CHANNEL_ID]

เปิดเบราว์เซอร์ไปยัง URL ของช่องที่ระบุ หรือแสดงผล URL หากเปิดในเบราว์เซอร์ไม่ได้

หาก CLI ทำงานในโหมดที่ไม่ใช่แบบอินเทอร์แอกทีฟ คุณจะต้องระบุ CHANNEL_ID

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับต่อไปนี้

  • --site SITE_ID
    ระบุเว็บไซต์ Hosting สำหรับช่องทางตัวอย่าง หากไม่ระบุ ระบบจะใช้เว็บไซต์ Hosting เริ่มต้นของโปรเจ็กต์ Firebase ที่ใช้งานอยู่เป็นค่าเริ่มต้น
การโคลนเวอร์ชัน
hosting:clone \
SOURCE_SITE_ID:SOURCE_CHANNEL_ID \
TARGET_SITE_ID:TARGET_CHANNEL_ID

โคลนเวอร์ชันที่ติดตั้งใช้งานล่าสุดในช่อง "ต้นทาง" ที่ระบุไปยังช่อง "เป้าหมาย" ที่ระบุ

คำสั่งนี้ยังทำให้ใช้งานได้ในช่องทาง "เป้าหมาย" ที่ระบุด้วย หากยังไม่มีแชแนล "เป้าหมาย" คำสั่งนี้จะสร้างแชแนลตัวอย่างใหม่ในเว็บไซต์ Hosting "เป้าหมาย" ก่อนที่จะทำให้ใช้งานได้ในแชแนล

hosting:clone \
SOURCE_SITE_ID@VERSION_ID \
TARGET_SITE_ID:TARGET_CHANNEL_ID

โคลนเวอร์ชันที่ระบุไปยังช่อง "เป้าหมาย" ที่ระบุ

คำสั่งนี้ยังทำให้ใช้งานได้ในช่องทาง "เป้าหมาย" ที่ระบุด้วย หากยังไม่มีแชแนล "เป้าหมาย" คำสั่งนี้จะสร้างแชแนลตัวอย่างใหม่ในเว็บไซต์ Hosting "เป้าหมาย" ก่อนที่จะทำให้ใช้งานได้ในแชแนล

คุณดู VERSION_ID ได้ในแดชบอร์ด Hosting ของคอนโซล Firebase

คำสั่ง Realtime Database รายการ

โปรดทราบว่าคุณสามารถสร้างอินสแตนซ์ Realtime Database เริ่มต้นที่เป็นค่าเริ่มต้นได้ในคอนโซล Firebase หรือโดยใช้เวิร์กโฟลว์ firebase init ทั่วไปหรือขั้นตอน firebase init database ที่เฉพาะเจาะจง

เมื่อสร้างอินสแตนซ์แล้ว คุณจะจัดการอินสแตนซ์ได้ตามที่อธิบายไว้ในจัดการและโต้ตอบกับอินสแตนซ์ที่เฉพาะเจาะจงโดยใช้ CLI

คำสั่ง คำอธิบาย
database:get \
PATH

ดึงข้อมูลที่ตำแหน่งฐานข้อมูลที่ระบุ (PATH) สำหรับอินสแตนซ์ Realtime Database และแสดงข้อมูลเป็น JSON รองรับการค้นหาข้อมูลที่จัดทำดัชนี

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับต่อไปนี้

  • --instance DATABASE_NAME
    ระบุอินสแตนซ์ Realtime Database สำหรับการดำเนินการ หากไม่ระบุ ระบบจะใช้ค่าเริ่มต้นเป็นอินสแตนซ์ Realtime Database เริ่มต้นของโปรเจ็กต์ Firebase ที่ใช้งานอยู่
database:instances:create \
DATABASE_NAME \
--location REGION_NAME

สร้างอินสแตนซ์ Realtime Database ที่มี DATABASE_NAME ที่ระบุในตำแหน่งที่ระบุ

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับ (แต่แนะนำ) ต่อไปนี้

คุณไม่สามารถใช้คำสั่งนี้เพื่อสร้างอินสแตนซ์ Realtime Database เริ่มต้นสำหรับโปรเจ็กต์ Firebase ที่ใช้งานอยู่ หากโปรเจ็กต์ไม่มีอินสแตนซ์ Realtime Database อยู่ ระบบจะแจ้งให้คุณเรียกใช้ขั้นตอน firebase init เพื่อสร้างอินสแตนซ์ Realtime Database แรกของโปรเจ็กต์ (อินสแตนซ์เริ่มต้น)

database:instances:list

แสดงรายการอินสแตนซ์ Realtime Database ทั้งหมดในโปรเจ็กต์ Firebase ที่ใช้งานอยู่

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับต่อไปนี้

  • --location REGION_NAME
    ระบุสถานที่ตั้งที่เจาะจงเพื่อแสดงรายการอินสแตนซ์ Realtime Database รายการ ดูชื่อภูมิภาคที่พร้อมใช้งานได้ที่ตำแหน่งสำหรับ Realtime Database
database:profile

สร้างโปรไฟล์การดำเนินการสำหรับอินสแตนซ์ Realtime Database
ดูรายละเอียดเพิ่มเติมได้ที่ประเภทการดำเนินการของ Realtime Database

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับต่อไปนี้

  • --instance DATABASE_NAME
    ระบุอินสแตนซ์ Realtime Database สำหรับการดำเนินการ หากไม่ระบุ ระบบจะใช้ค่าเริ่มต้นเป็นอินสแตนซ์ Realtime Database เริ่มต้นของโปรเจ็กต์ Firebase ที่ใช้งานอยู่
database:push \
PATH \
[INFILE]

พุชข้อมูลใหม่ไปยังรายการที่ตำแหน่งฐานข้อมูลที่ระบุ (PATH) ในอินสแตนซ์ Realtime Database

รับอินพุตจากไฟล์ (INFILE), STDIN หรือแฟล็ก -d (--data)

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับต่อไปนี้

  • --instance DATABASE_NAME
    ระบุอินสแตนซ์ Realtime Database สำหรับการดำเนินการ หากไม่ระบุ ระบบจะใช้ค่าเริ่มต้นเป็นอินสแตนซ์ Realtime Database เริ่มต้นของโปรเจ็กต์ Firebase ที่ใช้งานอยู่
database:remove \
PATH

ลบข้อมูลทั้งหมดในตำแหน่งฐานข้อมูลที่ระบุ (PATH) ในอินสแตนซ์ Realtime Database

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับต่อไปนี้

  • --instance DATABASE_NAME
    ระบุอินสแตนซ์ Realtime Database สำหรับการดำเนินการ หากไม่ระบุ ระบบจะใช้ค่าเริ่มต้นเป็นอินสแตนซ์ Realtime Database เริ่มต้นของโปรเจ็กต์ Firebase ที่ใช้งานอยู่

CLI จะแสดงข้อความแจ้งให้ยืนยันก่อนดำเนินการ หากต้องการข้ามข้อความแจ้งให้ยืนยัน (จำเป็นในโหมดที่ไม่ใช่แบบอินเทอร์แอกทีฟ) ให้ส่งแฟล็ก -f หรือ --force

database:set \
PATH \
[INFILE]

แทนที่ข้อมูลทั้งหมดที่ตำแหน่งฐานข้อมูลที่ระบุ (PATH) ในอินสแตนซ์ Realtime Database

รับอินพุตจากไฟล์ (INFILE), STDIN หรือแฟล็ก -d (--data)

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับต่อไปนี้

  • --instance DATABASE_NAME
    ระบุอินสแตนซ์ Realtime Database สำหรับการดำเนินการ หากไม่ระบุ ระบบจะใช้ค่าเริ่มต้นเป็นอินสแตนซ์ Realtime Database เริ่มต้นของโปรเจ็กต์ Firebase ที่ใช้งานอยู่

CLI จะแสดงข้อความแจ้งให้ยืนยันก่อนดำเนินการ หากต้องการข้ามข้อความแจ้งให้ยืนยัน (จำเป็นในโหมดที่ไม่ใช่แบบอินเทอร์แอกทีฟ) ให้ส่งแฟล็ก -f หรือ --force

database:update \
PATH \
[INFILE]

ทำการอัปเดตบางส่วนที่ตำแหน่งฐานข้อมูลที่ระบุ (PATH) ในอินสแตนซ์ Realtime Database

รับอินพุตจากไฟล์ (INFILE), STDIN หรือแฟล็ก -d (--data)

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับต่อไปนี้

  • --instance DATABASE_NAME
    ระบุอินสแตนซ์ Realtime Database สำหรับการดำเนินการ หากไม่ระบุ ระบบจะใช้ค่าเริ่มต้นเป็นอินสแตนซ์ Realtime Database เริ่มต้นของโปรเจ็กต์ Firebase ที่ใช้งานอยู่

CLI จะแสดงข้อความแจ้งให้ยืนยันก่อนดำเนินการ หากต้องการข้ามข้อความแจ้งให้ยืนยัน (จำเป็นในโหมดที่ไม่ใช่แบบอินเทอร์แอกทีฟ) ให้ส่งแฟล็ก -f หรือ --force

คำสั่ง Remote Config รายการ

คำสั่งเหล่านี้และกรณีการใช้งานจะอธิบายไว้อย่างละเอียดในแก้ไข Remote Config โดยใช้โปรแกรม

คำสั่ง คำอธิบาย
remoteconfig:versions:list

แสดงรายการเทมเพลต Remote Config ทุกเวอร์ชัน

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับต่อไปนี้

  • --limit NUMBER_OF_VERSIONS
    ระบุจำนวนเวอร์ชันสูงสุดที่จะแสดง ระบุ 0 เพื่อแสดงเวอร์ชันที่มีอยู่ทั้งหมด หากไม่ระบุ ระบบจะใช้ค่าเริ่มต้นเป็น 10
remoteconfig:get \
--version-number VERSION_NUMBER

ดึงรายละเอียดของเทมเพลต Remote Config ในเวอร์ชันที่ระบุ

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับ (แต่แนะนำ) ต่อไปนี้

  • -v หรือ --version-number VERSION_NUMBER
    ระบุเวอร์ชันของเทมเพลต Remote Config ที่จะดึงข้อมูล หากไม่ระบุ ระบบจะใช้เวอร์ชันล่าสุดเป็นค่าเริ่มต้น
  • -o หรือ --output FILENAME
    เขียนเอาต์พุตลงในไฟล์ JSON ที่มีชื่อไฟล์ที่ระบุแทนการพิมพ์เป็นตาราง
remoteconfig:rollback \
--version-number VERSION_NUMBER

ย้อนกลับเทมเพลต Remote Config ไปเป็นเวอร์ชันก่อนหน้าที่ระบุ

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับ (แต่แนะนำ) ต่อไปนี้

  • -v หรือ --version-number VERSION_NUMBER
    ระบุเวอร์ชันของเทมเพลต Remote Config ที่จะย้อนกลับไปใช้ หากไม่ระบุ ระบบจะใช้เวอร์ชันก่อนหน้าทันทีโดยค่าเริ่มต้น (เวอร์ชันปัจจุบัน - 1)

CLI จะแสดงข้อความแจ้งให้ยืนยันก่อนดำเนินการ หากต้องการข้ามข้อความแจ้งให้ยืนยัน (จำเป็นในโหมดที่ไม่ใช่แบบอินเทอร์แอกทีฟ) ให้ส่งแฟล็ก -f หรือ --force

remoteconfig:experiments:list

แสดงรายการการทดสอบ Remote Config ทั้งหมดในโปรเจ็กต์ Firebase ที่ใช้งานอยู่

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับต่อไปนี้

  • --filter EXPRESSION
    ระบุนิพจน์เพื่อกรองการทดสอบ
  • --pageSize NUMBER
    ระบุจำนวนการทดสอบที่จะแสดงต่อหน้า หากไม่ระบุ ระบบจะใช้ค่าเริ่มต้นเป็น 10
  • --pageToken TOKEN
    ระบุออฟเซ็ตเริ่มต้นสำหรับรายการ
remoteconfig:experiments:get \
EXPERIMENT_ID

ดึงรายละเอียดของการทดสอบ Remote Config ที่ระบุ

เอาต์พุตตารางประกอบด้วยชื่อทรัพยากร ชื่อที่แสดง สถานะ (PENDING, RUNNING, DONE หรือ EXPIRED) เวลาเริ่มต้นและสิ้นสุด ตัวแปร (ชื่อและน้ำหนักการจัดสรรการเข้าชม) และวัตถุประสงค์/เมตริกที่กำหนดค่าไว้ของการทดสอบ คำอธิบายการทดสอบจะรวมอยู่ในเอาต์พุต JSON ดิบเมื่อส่ง --json เท่านั้น

remoteconfig:experiments:delete \
EXPERIMENT_ID

ลบการทดสอบ Remote Config ที่ระบุ

CLI จะแสดงข้อความแจ้งให้ยืนยันก่อนดำเนินการ และไม่รองรับแฟล็ก -f หรือ --force ในโหมดที่ไม่ใช่แบบอินเทอร์แอกทีฟ การยืนยันจะมีค่าเริ่มต้นเป็น "ไม่" และคำสั่งจะออกโดยไม่ลบการทดสอบ

remoteconfig:rollouts:list

แสดงรายการการเปิดตัว Remote Config ทั้งหมดในโปรเจ็กต์ Firebase ที่ใช้งานอยู่

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับต่อไปนี้

  • --filter EXPRESSION
    ระบุนิพจน์เพื่อกรองการเปิดตัว
  • --pageSize NUMBER
    ระบุจำนวนการเปิดตัวที่จะแสดงต่อหน้า หากไม่ระบุ ระบบจะใช้ค่าเริ่มต้นเป็น 10
  • --pageToken TOKEN
    ระบุออฟเซ็ตเริ่มต้นสำหรับรายการ
remoteconfig:rollouts:get \
ROLLOUT_ID
ดึงรายละเอียดของการเปิดตัว Remote Config ที่ระบุ
remoteconfig:rollouts:delete \
ROLLOUT_ID

ลบการเปิดตัว Remote Config ที่ระบุ

CLI จะแสดงข้อความแจ้งให้ยืนยันก่อนดำเนินการ และไม่รองรับแฟล็ก -f หรือ --force (ในโหมดที่ไม่มีการโต้ตอบ ค่าเริ่มต้นของการยืนยันจะเป็น "ไม่" และคำสั่งจะออกโดยไม่ลบการเปิดตัว)

คำสั่ง SQL Connect รายการ

คำสั่งเหล่านี้และกรณีการใช้งานจะอธิบายไว้อย่างละเอียดในคู่มืออ้างอิง CLI ของ SQL Connect

คำสั่ง คำอธิบาย
dataconnect:services:list แสดงรายการบริการ SQL Connect ทั้งหมดที่ติดตั้งใช้งานในโปรเจ็กต์ Firebase ที่ใช้งานอยู่
dataconnect:sql:diff

แสดงความแตกต่างระหว่างสคีมา SQL Connect ในเครื่อง กับสคีมาฐานข้อมูล Cloud SQL

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับต่อไปนี้

  • --service SERVICE_ID
    ระบุรหัสบริการ SQL Connect หากละเว้น ระบบจะใช้บริการเดียวที่กำหนดค่าไว้ใน firebase.json หากมีการกำหนดค่าบริการหลายรายการ คำสั่งจะดำเนินการไม่สำเร็จ เว้นแต่คุณจะระบุ --service และ --location หากจำเป็น
  • --location LOCATION
    ระบุตำแหน่งของบริการ SQL Connect จำเป็นเฉพาะในกรณีที่ใช้รหัสบริการในหลายสถานที่
dataconnect:sql:migrate

ย้ายข้อมูลสคีมาสำหรับฐานข้อมูล Cloud SQL ให้ตรงกับสคีมา SQL Connect ในเครื่อง

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับต่อไปนี้

  • --service SERVICE_ID
    ระบุรหัสบริการ SQL Connect หากละเว้น ระบบจะใช้บริการเดียวที่กำหนดค่าไว้ใน firebase.json (หากกำหนดค่าบริการหลายรายการ คำสั่งจะดำเนินการไม่สำเร็จ เว้นแต่คุณจะระบุ --service และ --location หากจำเป็น)
  • --location LOCATION
    ระบุตำแหน่งของบริการ SQL Connect จำเป็นเฉพาะในกรณีที่ใช้รหัสบริการในหลายสถานที่

ในโหมดอินเทอร์แอกทีฟ CLI จะแสดงข้อความแจ้งให้ยืนยันก่อนดำเนินการ ในโหมดที่ไม่ใช่แบบอินเทอร์แอกทีฟ การย้ายข้อมูลแบบไม่ทำลายจะทำงานโดยอัตโนมัติ ส่วนการเปลี่ยนแปลงแบบทำลายจะถูกยกเลิก เว้นแต่คุณจะส่ง -f หรือ --force (ซึ่งจะข้ามข้อความแจ้งให้ยืนยันในโหมดอินเทอร์แอกทีฟด้วย)

dataconnect:sql:grant \
--role SQL_ROLE \
--email EMAIL_ADDRESS

ให้สิทธิ์ SQL_ROLE ที่ระบุ (อย่างใดอย่างหนึ่งต่อไปนี้ owner, writer หรือ reader) แก่ EMAIL_ADDRESS ที่ระบุของผู้ใช้หรือบัญชีบริการ

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับต่อไปนี้

  • --service SERVICE_ID
    ระบุรหัสบริการ SQL Connect หากละเว้น ระบบจะใช้บริการเดียวที่กำหนดค่าไว้ใน firebase.json (หากกำหนดค่าบริการหลายรายการ คำสั่งจะดำเนินการไม่สำเร็จ เว้นแต่คุณจะระบุ --service และ --location หากจำเป็น)
  • --location LOCATION
    ระบุตำแหน่งของบริการ SQL Connect จำเป็นเฉพาะในกรณีที่ใช้รหัสบริการในหลายสถานที่
dataconnect:sdk:generate

สร้าง SDK ที่พิมพ์สำหรับเครื่องมือเชื่อมต่อ SQL Connect

คำสั่งนี้รองรับแฟล็กที่ไม่บังคับต่อไปนี้

  • --service SERVICE_ID
    ระบุรหัสบริการ SQL Connect หากละเว้น ระบบจะสร้าง SDK สำหรับบริการที่กำหนดค่าไว้ทั้งหมด
  • --location LOCATION
    ระบุตำแหน่งของบริการ SQL Connect จำเป็นเฉพาะในกรณีที่ใช้รหัสบริการในหลายสถานที่
  • --watch
    คอยดูการเปลี่ยนแปลงในไฟล์ GQL ของเครื่องมือเชื่อมต่อและสร้าง SDK ใหม่เมื่อมีการอัปเดต