在本快速入门中,您将学习如何构建 Firebase Data Connect 部署应用
- 将 Firebase Data Connect 添加到您的 Firebase 项目中。
- 设置一个开发环境,其中包含一个 Visual Studio Code 扩展程序,以便与生产实例搭配使用。
- 然后,我们将向您展示如何:
- 为影评应用创建架构并部署到生产环境。
- 为架构定义查询和更改。
- 生成强类型 SDK 并在您的应用中使用它们
- 将最终架构、查询和数据部署到生产环境。
前提条件
如需在本地环境中使用此快速入门,您需要具备以下条件。
- Linux、macOS 或 Windows
- Visual Studio Code
关联到您的 Firebase 项目
- 如果您还没有 Firebase 项目,请先创建一个。
- 在 Firebase 控制台中,点击添加项目,然后按照屏幕上的说明操作。
- 前往 Firebase 控制台的 Data Connect 部分,然后按照商品设置工作流程操作。
将您的项目升级为 Blaze 方案。这样,您就可以创建 Cloud SQL for PostgreSQL 实例了。
为 CloudSQL for PostgreSQL 数据库选择一个位置。
请记下项目、服务和数据库的名称及 ID,以便稍后确认。
按照其余设置流程操作,然后点击完成。
选择并设置开发环境
Data Connect 支持两种开发体验:
- 如果您是 Kotlin Android、iOS、Flutter 或 Web 开发者, 您可以使用 VS Code 开发来设计和测试架构及操作 同时连接到 Cloud SQL for PostgreSQL 实例。
- 如果您是 Web 开发者,可以使用 IDX Development 进行原型设计 在 IDX 工作区中使用 PostgreSQL 预配置的 IDX 模板, 带有 Data Connect 模拟器和快速入门客户端的 VS Code 扩展程序 已为您设置好代码如需更多信息,请访问 Project IDX 网站。
本快速入门重点介绍 VS Code 扩展程序开发流程。请按以下步骤继续操作:
- 为本地项目创建一个新目录。
- 在新目录中打开 VS Code。
从 Visual Studio Code Marketplace 安装 Firebase Data Connect 扩展程序。
设置本地项目
按照常规说明安装 CLI。如果您使用 npm 请运行以下命令:
npm install -g firebase-tools
设置项目目录
如需设置本地项目,请初始化您的项目目录。
在 VS Code 的左侧面板中,点击 Firebase 图标以打开 Firebase VS Code 扩展程序界面。
- 点击使用 Google 账号登录按钮。
- 点击关联 Firebase 项目按钮,然后在控制台中选择您之前创建的项目。
- 点击运行 Firebase init 按钮。
- 如果您的项目使用的是 Blaze 方案,当系统提示时 “Would you like to configure your backend resources now?”,请回答 “Yes”。
点击启动模拟器按钮。
创建架构
在 Firebase 项目目录的 /dataconnect/schema/schema.gql
文件中,开始定义包含电影的 GraphQL 架构。
电影
在 Data Connect 中,GraphQL 字段会映射到列。Movie
类型具有 id
、title
、imageUrl
和 genre
。Data Connect 可以识别基元数据类型 String
和 UUID
。
复制以下代码段或取消注释文件中的相应行。
# File `/dataconnect/schema/schema.gql`
# By default, a UUID id key will be created by default as primary key.
type Movie @table {
id: UUID! @default(expr: "uuidV4()")
title: String!
imageUrl: String!
genre: String
}
MovieMetadata
现在,您已经有了电影,可以对电影元数据进行建模了。
复制以下代码段或取消对文件中的相应行的注释。
# Movie - MovieMetadata is a one-to-one relationship
type MovieMetadata @table {
# This time, we omit adding a primary key because
# you can rely on Data Connect to manage it.
# @unique indicates a 1-1 relationship
movie: Movie! @unique
# movieId: UUID <- this is created by the above reference
rating: Float
releaseYear: Int
description: String
}
请注意,movie
字段会映射到 Movie
类型。
Data Connect了解这是Movie
之间的关系
和MovieMetadata
,并将为您管理此关系。
将架构部署到生产环境
如果您使用 Firebase VS Code 扩展程序来处理 生产数据库,您需要先部署架构,然后才能继续操作。将架构部署到生产数据库后,您应该能够在控制台中查看该架构。
- 您可以使用 Data Connect VS Code 扩展程序进行部署。
- 在扩展程序界面中的 Firebase Data Connect 面板下,点击 部署到生产环境。
- 您可能需要审核架构更改并批准可能具有破坏性的架构
修改。系统会提示您执行以下操作:
<ph type="x-smartling-placeholder">
- </ph>
- 使用
firebase dataconnect:sql:diff
查看架构更改 - 如果您对更改感到满意,请按照
firebase dataconnect:sql:migrate
。
- 使用
向表格添加数据
在 VS Code 编辑器面板中,您可以看到 CodeLens 按钮显示在
/dataconnect/schema/schema.gql
中的 GraphQL 类型。由于您已经部署了
将架构部署到生产环境中,您可以使用添加数据和
运行(生产)按钮可将数据添加到后端的数据库。
如需向 Movie
表添加记录,请执行以下操作:
- 在
schema.gql
中,点击Movie
类型声明上方的添加数据按钮。
- 在生成的
Movie_insert.gql
文件中,为 四个字段。 - 点击 Run (Production) 按钮。
如需快速验证数据是否已添加,请执行以下操作:
- 返回
schema.gql
,点击读取数据按钮。 - 在生成的
Movie_read.gql
文件中,点击运行(正式版) 按钮以执行查询。
定义查询
而最有趣的部分是查询。作为开发者,您可能习惯编写 SQL 查询,而不是 GraphQL 查询,因此这在开始时可能会感觉有些不同。然而,GraphQL 比原始 SQL 更为简洁和类型安全。我们的 VS Code 扩展程序可简化开发体验。
开始修改 /dataconnect/connector/queries.gql
文件。如果您想获取所有电影,请使用如下查询。
# File `/dataconnect/connector/queries.gql`
# @auth() directives control who can call each operation.
# Anyone should be able to list all movies, so the auth level
# is set to PUBLIC
query ListMovies @auth(level: PUBLIC) {
movies {
id
title
imageUrl
genre
}
}
使用附近的 CodeLens 按钮执行查询。
生成 SDK 并在您的应用中使用它们
- 点击向应用添加 SDK 按钮。
在随即显示的对话框中,选择包含应用代码的目录。Data ConnectSDK 代码将生成并保存在此处。
选择您的应用平台,然后请注意,SDK 代码会立即 该文件是在您选择的目录中生成的
了解如何使用生成的 SDK 从客户端调用查询和变更 应用(Web、Android、 iOS、Flutter)。
将架构和查询部署到生产环境
您已完成开发迭代。现在,您可以 通过 Firebase 向服务器架构、数据和查询 扩展程序界面或 Firebase CLI,就像您对架构所做的那样。
如果您使用 Firebase VS Code 扩展程序进行部署,请点击 部署到生产环境按钮。
部署完成后,请前往 Firebase 控制台,验证架构、操作和数据是否已上传到云端。您应该能够查看架构,并在控制台中运行操作。Cloud SQL for PostgreSQL 实例将更新为最终部署的生成架构和数据。
后续步骤
查看已部署的项目并发现更多工具:
在 Firebase 控制台中将数据添加到您的数据库、检查和修改架构,以及监控 Data Connect 服务。 如需了解详情,请参阅相关文档。例如,由于您已完成快速入门的学习:
详细了解架构、查询和变更开发