适用于 Azure Functions 的 Azure Database for MySQL 绑定概述

本系列文章介绍如何使用 Azure Functions 中的 Azure Database for MySQL 绑定。 Azure Functions 支持正式版中的输入绑定和输出绑定。 对于预览版,Azure Functions 支持 Azure Database for MySQL 的触发器绑定。

操作 类型
从数据库中读取数据 输入绑定
将数据保存到数据库 输出绑定
在 MySQL 表中检测到更改时触发函数(预览版) 触发器绑定

安装扩展

安装的扩展 NuGet 包取决于在函数应用中使用的 C# 模式:

Functions 在隔离的 C# 工作进程中运行。 若要了解详细信息,请参阅 在独立工作进程中运行 C# Azure 函数的指南

通过安装此 NuGet 包将该扩展添加到你的项目。

dotnet add package Microsoft.Azure.Functions.Worker.Extensions.MySql --version 1.0.3-preview

安装捆绑包

Azure Database for MySQL 绑定的扩展是 v4 扩展捆绑包的一部分。 此捆绑包在 host.json 项目文件中指定。

预览捆绑包 v4.x

可以通过在 host.json 文件中添加或替换以下代码来使用预览扩展捆绑包:

{
  "version": "2.0",
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
    "version": "[4.*, 5.0.0)"
  }
}

安装捆绑包

Azure Database for MySQL 绑定的扩展是 v4 扩展捆绑包的一部分。 此捆绑包在 host.json 项目文件中指定。

预览捆绑包 v4.x

可以通过在 host.json 文件中添加或替换以下代码来使用预览扩展捆绑包:

{
  "version": "2.0",
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
    "version": "[4.*, 5.0.0)"
  }
}

安装捆绑包

Azure Database for MySQL 绑定的扩展是 v4 扩展捆绑包的一部分。 此捆绑包在 host.json 项目文件中指定。

预览捆绑包 v4.x

可以通过在 host.json 文件中添加或替换以下代码来使用预览扩展捆绑包:

{
  "version": "2.0",
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
    "version": "[4.*, 5.0.0)"
  }
}

更新包

可以将预览扩展捆绑包与 Java Azure Functions 项目中 pom.xml 文件的更新一起使用,如以下代码片段所示:

<dependency>
<groupId>com.microsoft.azure.functions</groupId>
<artifactId>azure-functions-java-library-mysql</artifactId>
<version>1.0.1-preview</version>
</dependency>

MySQL 连接字符串

适用于 Azure Functions 的 Azure Database for MySQL 绑定具有连接字符串的必需属性。 这些绑定将连接字符串传递到 MySql.Data.MySqlClient 库,并提供 MySqlClient ConnectionString 文档中定义的支持。 值得注意的关键字包括:

  • server:运行服务器实例的主机。 该值可以是主机名、IPv4 地址或 IPv6 地址。
  • uid:用于身份验证过程的 MySQL 用户帐户。
  • pwd:用于身份验证过程的密码。
  • database:连接的默认数据库。 如果未指定任何数据库,则连接没有默认数据库。

注意事项

  • Azure Database for MySQL 绑定支持 Azure Functions 运行时版本 4.x 及更高版本。
  • 可以在 此 GitHub 存储库中找到 Azure Database for MySQL 绑定的源代码。
  • 这些绑定需要连接到 Azure Database for MySQL。
  • 针对具有空间数据类型GEOMETRYPOINT列的表的输出绑定,并且POLYGON不受支持。 数据更新插入失败。

示例

除了 适用于 Azure Database for MySQL 绑定的 GitHub 存储库中提供的 C#、Java、JavaScript、PowerShell 和 Python 示例外,Azure 示例还提供更多 示例