AppSync:在不到10分钟内创建并部署你的 API

发布: (2026年3月5日 GMT+8 02:13)
11 分钟阅读
原文: Dev.to

Source: Dev.to

在 AWS AppSync 部署你的 GraphQL 架构

在上一篇文章中,我们为社交网络 API 设计了完整的架构(UsuarioPublicaciónComentario 类型,queries、mutations 以及清晰的契约)。该架构仅存在于本地文件中。
在本篇文章中,我们将把它部署到 AWS AppSync(托管的 GraphQL 服务),并让它实时运行。

你将得到的成果

  • ✅ 部署在云端的 GraphQL API
  • ✅ 可共享的 endpoint
  • ✅ 自动生成的文档
  • ✅ 用于测试 queries 的 playground

预计时间: (不涉及后端代码编写)

前置条件

必需项详情
schema.graphql前一篇文章中创建的文件
AWS 账户Free Tier 已足够
网页浏览器Chrome、Firefox、Edge 等

没有 AWS 账户吗?
别担心,创建账户免费且只需几分钟。Ana Cunha 编写了一篇完整的指南,教你如何在不花钱的情况下开始使用 AWS(请查看 Free Tier)。

1️⃣ 如何运行 GraphQL API?

Self‑hosted(自行管理服务器)

  • Apollo Server
  • GraphQL Yoga

优势

  • 对一切拥有完全控制
  • 可以在任何地方运行(AWS、GCP、你的电脑等)
  • 开源且免费

劣势

  • 需要自行管理服务器、更新和扩展
  • 需要 DevOps 知识
  • 配置时间更长
  • 需要为部署的基础设施付费

Managed(供应商管理基础设施)

  • AWS AppSync
  • Hasura
  • StepZen

优势

  • 无需维护服务器
  • 自动扩展
  • 包含的功能(实时、缓存等)

劣势

  • 控制权较少
  • 依赖供应商
  • 价格模式多变(请查阅各服务文档)

为什么我们选择 AWS AppSync

  1. Serverless – 无需担心服务器。
  2. 适合学习 – 只专注于 GraphQL,而不是基础设施。
  3. 内置实时 – 我们将在下一篇文章中使用它进行 subscriptions

提示: 没有“一刀切”的最佳选项。你的选择取决于对控制权的需求、团队经验以及架构偏好。

2️⃣ AWS AppSync 为你做了什么?

把它想象成 GraphQL‑as‑a‑Service

功能含义
Hosting del esquema你的模式托管在云端,始终可用
Ejecución de queries处理发送到你的 API 的查询
WebSockets para real‑timeSubscriptions 自动工作
Caching更快的响应,无需额外配置
Endpoint de API客户端可以使用的 URL
Tus resolvers获取数据的逻辑(将在第 4 篇文章中看到)
Mock data我们将使用模拟数据来学习

今天我们将专注于第 1 步和第 2 步(部署模式)。解析器我们留到下一篇文章。

3️⃣ 步骤指南:在 AppSync 中部署模式

  1. 打开控制台

  2. 登录 使用你的 AWS 账户。

    • 确保选择你想要的区域(例如:us-east-1)。
  3. 创建一个新 API

    • 点击橙色按钮 Create API
  4. 选择 API 类型

    • 选择 GraphQL API
  5. 选择 API 类型

    • API type 部分选择 GraphQL APIs
  6. 选择模板

    • 选择 Design from scratch(因为你已经有自己的模式)。
    • 点击 Next
  7. 配置 API

    字段建议值
    API nameSocial-Media-API (或你喜欢的名称)
    其他字段保持默认值。
    • 点击 Next
  8. 连接数据源

    • 选择 Create GraphQL resources later(我们暂时使用 mock data)。
    • 点击 Next
  9. 检查摘要

    • API type: GraphQL APIs
    • API name: Social‑Media‑API
    • GraphQL resources: Create later
    • 点击 Create API
  10. 完成!

    • 控制台将显示你的新 API,带有 endpoint 和可直接使用的 GraphQL Playground

4️⃣ 后续步骤

  • 上传你的模式 (schema.graphql) 到控制台的 Schema 部分。
  • 在 Playground 中测试查询
  • 第 4 篇文章 中,我们将添加 解析器(DynamoDB、Lambda 等),并转向真实数据。

快速概览

步骤操作
1访问 AppSync 控制台
2从零创建 GraphQL API
3为 API 命名,暂时省略数据源
4审核并创建 API
5上传你的模式并在 Playground 中测试

恭喜!你已经在 AWS AppSync 上部署了你的第一个 GraphQL 模式。 🎉

继续阅读下一篇文章,以连接解析器并处理真实数据。

🚀 AppSync 中的 GraphQL API 入门 – 上传模式

你正处于 dashboard(仪表盘)页面。页面会显示两个主要部分,提供后续步骤的信息。

1️⃣ 打开模式编辑器

  1. 在左侧菜单中,点击 “Schema”
  2. 将出现一个大型文本编辑器,里面有一些默认注释。
    这里就是放置你的模式(schema)的地方。

2️⃣ 复制本地模式

  1. 打开上一篇文章中的 schema.graphql 文件。
  2. 删除 AppSync 编辑器中默认的注释。
  3. 复制 文件中的全部内容。
  4. 粘贴 到 AppSync 编辑器中。

3️⃣ 保存

  • 点击右上角的橙色按钮 “Save Schema”

💡 如果看到错误怎么办?
AppSync 会自动验证你的模式。如果存在语法错误,会以红色提示。请检查是否完整复制了模式。
若一切正常,你会看到提示信息: “Schema saved successfully.”

🎉 已部署的模式

太棒了!你的模式已经部署到云端。AppSync 已对其进行验证、处理,现在已可以使用。

4️⃣ 探索 AppSync 自动生成的内容

  1. 在侧边菜单中,点击 “Settings”

  2. 找到 “API URL”“GraphQL endpoint” 部分。你会看到类似如下的 URL:

    https://xxxxxxxxxx.appsync-api.us-east-1.amazonaws.com/graphql

    这就是你的 API URL。任何 GraphQL 客户端都可以使用它来执行 queriesmutations(目前仅你自己有访问权限;我们稍后会讨论身份验证)。

  3. 在侧边菜单中,点击 “Queries”

  4. 在编辑器右上角,找到 “Docs” 按钮/图标 (📖) 并打开它。

自动文档中看到什么?

  • 类型Usuario, Publicacion, Comentario
  • Queriesusuario, publicacion, publicaciones
  • MutationscrearUsuario, crearPublicacion, crearComentario
  • 每种类型的 字段 及其数据类型

这就是 introspection(自省)在发挥作用:GraphQL 允许任何客户端“查询”模式,像此 playground 之类的工具会利用这些信息提供自动补全。

示例:检查类型 Usuario

  • 字段:id, nombre, email, fotoPerfil, publicaciones, creadoEn
  • 每个字段显示其类型:String!, [Publicacion!]!, 等。

为什么重要?

  • 你不需要会过时的单独文档。
  • 模式即文档
  • 任何更改都会立即反映。
  • 开发者可以自行探索 API,无需向你询问。

📋 当前概览

项目描述
已部署的模式您的 API 合约已在云端
API 端点客户端可使用的 URL
自动文档从您的模式生成
Playground查询编辑器已就绪
解析器返回数据的逻辑(缺失)
真实数据目前,查询将返回 null

🔜 下一步 (第 4 部分)

  1. 理解 resolvers – 你的模式与数据之间的桥梁。
  2. 使用 TypeScript 实现 resolvers – 具备 类型安全 的代码。
  3. 使用 mock 数据 – 立即看到结果。
  4. 测试真实查询 – 查看你的 API 正在运行。
  5. 实现 mutations – 创建用户、帖子和评论。

即将可以执行的查询示例:

query {
  publicaciones {
    contenido
    autor {
      nombre
    }
    comentarios {
      contenido
    }
  }
}

📚 推荐

  • 探索文档 – 熟悉 Docs 面板。
  • 检查你的模式 – 确保它包含你需要的所有内容。
  • 保存你的 API 端点 – 之后会用到。

🎉 已取得的成就

  • 了解了运行 GraphQL API 的选项。
  • 认识了 AWS AppSync 以及它为你做了什么。
  • 在 AppSync 上创建了你的第一个 API。
  • 部署了你的模式。
  • 探索了自动生成的文档。

迄今为止系列概览

部分主题
1GraphQL 介绍 – 什么是 GraphQL,为什么使用它。
2模式设计 – 创建 API 合约。
3部署(本文)– 在 AppSync 上部署模式。
4解析器实现 – 让 API 工作(即将推出)。

🎊 庆祝!

你已经从一个文本文件转变为一个 部署在云端的 GraphQL API。这可不是小事。 🚀

有用链接

  • AWS AppSync Documentation
  • GraphQL Introspection
0 浏览
Back to Blog

相关文章

阅读更多 »