探索 Azure SQL 数据库的数据 API 生成器
在当今的数据驱动世界中,高效访问和操作数据的能力对企业和开发人员都至关重要。 数据 API Builder (DAB) 提供了一个强大的解决方案,用于为 Azure SQL 数据库创建新式 REST 和 GraphQL 终结点,并替换针对数据库执行 CRUD(创建、读取、更新、删除)操作的自定义 API。
Azure 数据 API 生成器是一种开源工具,专为开发人员设计,用于简化将数据库对象公开为终结点的过程。 它支持许多数据库,包括但不限于 Azure SQL、SQL Server、PostgreSQL 和 Azure Cosmos DB。 使用 DAB,无需编写任何代码即可创建安全、可缩放且高性能的 API。
发现关键功能
在开发过程中使用 DAB 可提供许多好处。 下面是一些关键优势,可帮助你确定它与项目要求的一致程度。
- 跨平台兼容性:DAB 是跨平台的,可在任何云或本地环境中运行。 它支持多个后端数据源,包括关系数据库和 NoSQL 数据库。
- 安全性和身份验证:DAB 与各种身份验证方法(包括 OAuth2、EasyAuth 和 Microsoft Entra ID)集成。 它还支持基于角色的授权和精细的安全控制。 这意味着,你可以公开数据,同时保持对谁可以访问数据以及他们可以使用这些数据执行的操作的控制。
- 易用性:使用单个配置文件,可以定义 API 终结点,使设置过程简单高效。
- 与 Azure 服务集成:DAB 与 Azure Static Web Apps、Azure 容器应用和其他 Azure 服务无缝集成,增强其功能和可伸缩性。
若要查看数据 API 生成器可用的功能列表,请参阅数据 API 生成器功能可用性。
使用数据 API 生成器
若要开始使用 Azure 数据 API 生成器,请确保已安装 Azure 订阅和必要的工具,例如最新的 .NET 8 和 Azure 开发人员 CLI。
创建新项目:使用 Azure Developer CLI 创建和部署所需的服务。 例如,使用 Azure 开发人员 CLI 部署托管数据 API 生成器的 Azure Static Web App。 导航到要在其中创建项目的目录,并运行以下命令以创建新的 Azure Static Web App 项目。
azd init --template staticwebapp azd up配置数据库连接:使用数据库连接功能将 Azure SQL 数据库链接到已部署的静态 Web 应用。 导航到创建的 Azure Static Web App,然后在“设置”下,链接“数据库连接”页下的现有数据库。
定义 API 终结点:创建配置文件以定义 REST 或 GraphQL 终结点。 此文件指定要公开的数据库对象以及允许的操作。 例如,可以运行以下命令,将数据库实体添加到配置文件。
dab add "Address" --source "dbo.Address" --permissions "anonymous:*" --config "swa-db-connections/staticwebapp.database.config.json"
查看配置文件
下面是一个简单的配置文件示例,用于在 Azure SQL 数据库中公开表。
{
"data-source": {
"database-type": "mssql",
"connection-string": "Server=tcp:your_server.database.windows.net,1433;Initial Catalog=your_database;Persist Security Info=False;User ID=your_user;Password=your_password;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
},
"entities": {
"products": {
"source": "Address",
"rest": true,
"graphql": true,
"permissions": [
{
"role": "anonymous",
"actions": ["read"]
}
]
}
}
}
此配置将“地址”表公开为 REST 和 GraphQL 终结点,从而允许对匿名用户进行读取访问。