Firebase CLI 是一項工具,可讓您透過指令列管理及設定 Firebase 產品和服務。
CLI 提供的指令可用於執行各種 Data Connect 工作,例如建立新的 Data Connect 專案、初始化對應的本機工作目錄、設定 Data Connect 模擬器、列出 Data Connect 資源、產生用戶端 SDK 等等。
設定指令
將 Data Connect 新增至 Firebase 專案
Firebase init
使用 firebase init
設定新的本機專案設定。這項工作流程
在以下位置建立或更新 Firebase 設定檔:
目錄。
firebase init
firebase init
流程會引導您設定服務和資料庫。
並視需要安裝 Data Connect 模擬器
設定產生的 SDK
服務和資料庫設定
如果您選取 dataconnect
進行產品設定,CLI 會提示您輸入新的服務名稱和位置,以及要連結現有的 PostgreSQL 適用的 Cloud SQL 執行個體,還是建立新的執行個體。
如果已連結現有執行個體,CLI 會檢查是否有相容的設定,例如 IAM 驗證和公開 IP 位址。
Local Emulator Suite 設定
CLI 流程提供設定模擬器的功能,包括 Data Connect 模擬器。
Data Connect 模擬器指令
啟動 Data Connect 模擬器
模擬器:start/exec
firebase emulators:start/exec
使用 Local Emulator Suite 版本的 Data Connect 模擬器
互動模式下,使用 start
或指令碼導向、非互動模式,
exec
。
結構定義和連接器管理指令
本節包含用於管理指令的 CLI 參考資訊 結構定義和連接器
如要瞭解與這些指令相關的使用案例和建議做法,請參閱 結構定義與連接器管理指南。
部署結構定義和連接器資源
deploy
firebase deploy
這個指令會為已在 建立索引的 Data Connect 服務部署資源 firebase.json。視需要執行結構定義遷移。
指令 | 說明 | |
---|---|---|
firebase deploy |
標記 | 說明 |
– 僅限數據連線 |
為此專案的所有 Data Connect 服務部署結構定義和連接器,但不要部署其他 Firebase 產品資源。 | |
–-only dataconnect:serviceId |
為指定的 Data Connect 服務部署結構定義和連接器。 | |
–-only dataconnect:serviceId:connectorId |
為指定的 Data Connect 服務部署單一連接器。 | |
–-only dataconnect:serviceId:schema |
為指定的 Data Connect 服務部署結構定義。 |
您可以使用 –-only
標記,傳遞以半形逗號分隔的值,以便部署所需的任何資源子集。
firebase deploy --only dataconnect:service1:schema,dataconnect:service2
列出 Data Connect 服務、結構定義和連接器
dataconnect:services:list
firebase dataconnect:services:list
這個指令會輸出服務、結構定義和連接器的基本資訊 是在專案中部署的 Pod
比較及遷移 SQL 結構定義
dataconnect:sql:diff
firebase dataconnect:sql:diff
這個指令會將服務的本機結構定義與目前的 對應的 Cloud SQL 資料庫該指令會顯示即將執行的指令 ,將資料庫遷移至新的結構定義。
指令 | 說明 | |
---|---|---|
firebase dataconnect:sql:diff |
標記/參數 | 說明 |
serviceId |
指定服務。如果省略,則會列印 firebase.json 中所有服務的差異。 |
dataconnect:sql:migration
firebase dataconnect:sql:migrate
這項指令會將本機結構定義變更套用至服務的 Cloud SQL 資料庫。
當您使用預設 dataconnect.yaml
檔案設定新的本機 Data Connect 專案時,dataconect:sql:migrate
指令的行為會在執行變更前,先提示您進行任何必要變更,然後再提示您進行任何選用變更。您可以將此行為修改為
更新您的dataconnect.yaml
,以納入或忽略選擇性的變更
如「以嚴格或相容模式遷移結構定義」一文所述
在互動式環境中,CLI 會顯示各個遷移 SQL 陳述式
(以及是否破壞性) 並提示要套用的變更。
傳遞 --force
標記,就等同於接受所有提示。
在非互動式環境中:
- 沒有
--force
,只會進行非破壞性變更。如果有 破壞性變更,CLI 不會進行任何變更。 - 與
--force
搭配使用,所有變更都會生效。如果這含有 並列印變更,接著系統會提示您是否要繼續 除非提供了--force
旗標,否則請勿變更。
指令 | 說明 | |
---|---|---|
firebase dataconnect:sql:migrate |
標記 | 說明 |
serviceId |
遷移指定服務的資料庫。serviceId 為 會推斷您的專案 | |
–-強制 |
自動接受提示。 |
與其他 --only
旗標一樣,您可以提供多項服務,並以
。
遷移嚴格或相容模式的結構定義
Data Connect 結構定義遷移作業有兩種不同的結構定義驗證模式:嚴格和相容。在嚴格模式驗證中,資料庫結構定義必須與應用程式結構定義完全相符,應用程式結構定義才能部署。相容模式驗證需要資料庫 結構定義與應用程式結構定義相容,也就是說, 不要修改應用程式結構定義所使用的資料庫。
這些結構定義驗證模式和結構定義遷移最佳做法,請參閱結構定義和連接器管理指南
驗證模式是使用 dataconnect.yaml
檔案中的 schemaValidation
鍵定義。如果未指定 schemaValidation
,CLI
並發出提示,再執行任何嚴格的變更請參閱設定參考資料。
SDK 指令
產生 SDK
dataconnect:sdk:generate
firebase dataconnect:sdk:generate
這個指令會產生 connector.yaml 中宣告的類型 SDK。
另請參閱相關指南,瞭解如何使用網路 SDK、Android SDK 和 iOS SDK。
指令 | 說明 | |
---|---|---|
firebase dataconnect:sdk:generate |
標記 | 說明 |
–-watch |
讓程序持續執行,並在儲存後產生新的 SDK
結構定義和連接器 GQL 檔案變更。 如果產生作業失敗,系統會將錯誤訊息輸出至標準輸出,產生的程式碼不會變更,指令也會繼續執行。 |
|
--only connectorId:platform |
只為單一平台和單一連接器產生 SDK。 |
您可以使用 –only
標記傳遞以半形逗號分隔的值。
firebase dataconnect:sdk:generate –-only connector1, connector1:kotlin
Cloud SQL 管理指令
授予 Cloud SQL 的 SQL 角色
dataconnect:sql:grant
firebase dataconnect:sql:grant
這個指令會將 PostgreSQL 使用者角色授予 新增至指定使用者或服務帳戶:
- 讀取器:可讀取結構定義中的資料表。
- 寫入器:可讀取及寫入結構定義中的資料表。
- 擁有者:可執行遷移作業及變更結構定義。這類內容不包括 安裝擴充功能的權限。
指令 | 說明 | |
---|---|---|
firebase dataconnect:sql:grant |
標記/參數 | 說明 |
-R, --role 角色 |
要授予的 SQL 角色,可能為擁有者、寫入者或讀取者。 | |
-E, --email email_address |
要授予角色的使用者或服務帳戶電子郵件地址。 |
全域選項
下列全域選項適用於所有指令:
--json
會將 CLI 輸出內容切換至 JSON,以便其他工具剖析。--noninteractive
和--interactive
會視需要覆寫非 TTY 環境的自動偵測功能。