快速入门:将数据 API 生成器与 Azure Cosmos DB for NoSQL 和 Azure 静态 Web 应用配合使用

在本快速入门中,你将数据 API 生成器(DAB)作为 Docker 容器部署到 Azure 容器应用。 使用 Azure 开发人员 CLI (AZD) 模板通过最新的最佳做法部署 DAB 和 Azure Cosmos DB for NoSQL 数据库。 该模板还部署使用 GraphQL 连接到 DAB 终结点的示例 Web 应用程序。

先决条件

  • Azure 开发人员 CLI
  • .NET 9.0

如果没有 Azure 帐户,请在开始前创建 免费帐户

初始化项目

使用 Azure 开发人员 CLI (azd) 创建 Azure Cosmos DB for NoSQL 帐户,将 DAB 部署为容器化解决方案,并部署容器化示例应用程序。 示例应用程序使用 DAB 查询示例数据。

  1. 在空目录中打开终端。

  2. 如果尚未进行身份验证,请使用 azd auth login向 Azure 开发人员 CLI 进行身份验证。 按照工具指定的步骤,使用首选的 Azure 凭据向 CLI 进行身份验证。

    azd auth login
    
  3. 使用 azd init 初始化项目。

    azd init --template dab-azure-cosmos-db-nosql-quickstart
    
  4. 在初始化期间,配置唯一的环境名称。

  5. 使用 azd up将完整解决方案部署到 Azure。 Bicep 模板将 Azure Cosmos DB for NoSQL 帐户 DAB 部署到 Azure 容器应用服务,并包括一个示例 Web 应用程序。

    azd up
    
  6. 在预配过程中,选择订阅和所需位置。 等待预配过程完成。 此过程可能需要大约 7 分钟

  7. 预配 Azure 资源后,输出中将包含正在运行的 Web 应用程序的 URL。

    Deploying services (azd deploy)
    
    (✓) Done: Deploying service api
    - Endpoint: <https://[container-app-sub-domain].azurecontainerapps.io>
    
    (✓) Done: Deploying service web
    - Endpoint: <https://[container-app-sub-domain].azurecontainerapps.io>
    
    SUCCESS: Your up workflow to provision and deploy to Azure completed in 7 minutes 0 seconds.
    
  8. 记录 APIweb 服务的 URL 值。 您将在本指南中稍后使用这些值。

配置数据库连接

现在,浏览到 Azure 容器应用中的每个容器化应用程序,以验证它们是否按预期工作。

  1. 首先,访问 API 服务的 URL。 此 URL 链接到正在运行的 DAB 实例。

  2. 观察 DAB 的 JSON 输出。 它应显示 DAB 容器正在运行,状态 正常

    {
      "status": "healthy",
      "version": "1.1.7",
      "app-name": "dab_oss_1.1.7"
    }
    
  3. 导航到 DAB 实例的相对 /graphql 路径。 此 URL 应打开 Nitro GraphQL 集成开发环境(IDE)。

  4. 在 Nitro IDE 中,创建新文档并运行此查询,以获取 Azure Cosmos DB for NoSQL products 容器中的所有 100 项。

    query {
      products {
        items {
        id
        name
        description
        sku
        price
        cost
        }
      }
    }
    
  5. 最后,导航到 网络 服务的 URL。 此 URL 链接到正在运行的示例 Web 应用程序,该应用程序连接到在上一步中访问的 GraphQL 终结点。

  6. 观察正在运行的 Web 应用程序并查看输出数据。

    Azure 容器应用中正在运行的 Web 应用程序的屏幕截图。

收拾

不再需要示例应用程序或资源时,请删除相应的部署和所有资源。

  1. 从 Azure 订阅中删除部署。

    azd down
    
  2. 如果使用的是 GitHub Codespaces,请删除正在运行的代码空间,以最大化存储和核心权利。

下一步