你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本教程介绍如何使用 Azure 逻辑应用将应用服务应用与业务流程集成。 创建一个逻辑应用,通过 Gmail 从 Azure 应用服务应用发送电子邮件。
可通过其他方法从 Web 应用发送电子邮件,例如在语言框架中使用简单邮件传输协议(SMTP)配置。 但是,逻辑应用为许多业务集成提供了简单的配置界面,无需为代码添加复杂性。
可以使用本教程中演示的步骤来实现多个常见的 Web 应用方案,例如:
- 发送事务的确认电子邮件。
- 将用户添加到 Facebook 组。
- 连接到 SAP 和 Salesforce 等外部系统。
- 交换标准 B2B 消息。
先决条件
必须具备以下先决条件才能完成本教程:
Gmail 帐户。
有权创建资源的 Azure 帐户。
采用所选语言部署的 Azure 应用服务应用。 可以从以下教程之一使用示例应用:
创建逻辑应用
按照“创建消耗逻辑应用”资源中的说明在 Azure 逻辑应用中创建多租户消耗应用。 创建应用后,选择“ 转到资源”。
在逻辑应用页上,在左侧导航菜单中的“开发工具”下选择“逻辑应用设计器”。
添加触发器
在逻辑应用设计器画布上选择 “添加触发器 ”。
在“内置工具”下的“添加触发器”屏幕上,选择“请求”,然后在下一个屏幕上选择“收到 HTTP 请求时”。
触发器显示在设计器画布上。
在 “收到 HTTP 请求时 ”屏幕上,选择 “使用示例有效负载生成架构”。
在 Enter 中粘贴以下代码或粘贴示例 JSON 有效负载 屏幕,然后选择“ 完成”。
{ "task": "<description>", "due": "<date>", "email": "<email-address>" }Azure 为输入的请求数据生成架构。 在实践中,可以从应用程序代码捕获实际请求数据,并使用它生成 JSON 架构。
在逻辑应用设计器顶部工具栏上,选择“ 保存”。
生成的 HTTP URL 现在显示在“收到 HTTP 请求时”屏幕上的 HTTP URL 下。 选择复制图标以复制 URL 以供以后使用。
HTTP 请求定义是此逻辑应用工作流中要执行的任何作(例如发送邮件)的触发器。 稍后将在应用服务应用中调用此 URL。 有关请求触发器的详细信息,请参阅 接收和响应发送到 Azure 逻辑应用中工作流的入站 HTTPS 调用。
创建电子邮件
添加发送电子邮件作,并使用前面输入的三个 HTTP 请求属性填充电子邮件。
在设计器画布上,选择 + 触发器下方并选择 “添加作”。
在“添加作”屏幕上,在搜索框中输入 gmail,然后选择“发送电子邮件”(V2)。
提示
可以搜索其他类型的集成,例如 SendGrid、MailChimp、Microsoft 365 和 SalesForce。 有关详细信息,请查看适用于 Azure 逻辑应用的托管连接器。
在“ 创建连接 ”屏幕上,选择 “登录 ”,对要从中发送电子邮件的 Gmail 帐户的访问权限进行身份验证。
登录后,在“发送电子邮件”(V2)屏幕上的“To”字段中选择以显示动态内容图标。 选择图标的上部闪电部分。
此时会显示动态内容列表,其中显示了前面输入的三个 HTTP 请求属性。 从列表中选择 电子邮件 。
在 “发送电子邮件”(V2) 屏幕上, 电子邮件 项将显示在“ To” 字段中。 在 “高级参数”下下拉列表,然后选择 “主题 和 正文”。
“ 主题 ”和 “正文 ”字段显示在 “发送电子邮件”(V2) 屏幕上。 在 “主题” 字段中选择以显示动态内容图标,然后从动态内容列表中选择 任务 。
在任务旁边的“主题”字段中,键入后跟创建的空格。
在 “正文 ”字段中选择,显示动态内容列表,然后选择 “截止日期”。
在 “正文 ”字段中,在 “正文 ”字段中移动光标,然后输入 “此工作项 ”后接空格。
添加响应
向 HTTP 触发器添加异步 HTTP 响应。
在设计器画布上,选择 + HTTP 请求触发器和 Gmail作之间,然后选择 “添加并行分支”。
在 “添加作 ”屏幕上,在搜索字段中输入 响应 ,然后选择“ 响应”。
默认情况下,响应作发送一个
HTTP 200足以满足本教程要求。 有关详细信息,请参阅 接收和响应发送到 Azure 逻辑应用中工作流的入站 HTTPS 调用。在逻辑应用设计器工具栏上选择“ 保存 ”。
将 HTTP 请求代码添加到应用服务应用
应避免将敏感信息(如请求触发器 URL)直接放入应用服务应用代码中。 相反,可以从应用服务应用设置中将 URL 引用为环境变量。 以下命令创建为逻辑应用 HTTP URL 调用 LOGIC_APP_URL 的环境变量。
在 Azure Cloud Shell 中,运行以下 Azure CLI 命令来创建应用设置。 替换
<app-name>应用<resource-group-name>服务应用和资源组名称。 替换为<http-url>从逻辑应用复制的 HTTP URL。az webapp config appsettings set --name <app-name> --resource-group <resource-group-name> --settings LOGIC_APP_URL="<http-url>"在代码中,使用以下配置,使用可用于语言框架的 HTTP 客户端语言将标准 HTTP 帖子发布到逻辑应用 URL:
确保请求包含标题
Content-Type: application/json。使用请求正文中提供给逻辑应用的相同 JSON 格式:
{ "task": "<description>", "due": "<date>", "email": "<email-address>" }若要优化性能,在可能的情况下,请以异步方式发送请求。
有关日志记录说明,请查看首选框架的文档。
请求/响应代码示例示例
选择首选语言/框架以查看示例请求和响应。 一些示例需要使用或安装代码包。
在 ASP.NET Core 中,可以使用 System.Net.Http.HttpClient 类发送 HTTP POST 请求。 下面的代码示例需要使用 System.Net.Http 和 System.Text.Json。 需要 HttpResponseMessage 依赖项注入(DI)配置才能访问应用设置。 有关详细信息,请参阅 Access 环境变量。
// requires using System.Net.Http;
var client = new HttpClient();
// requires using System.Text.Json;
var jsonData = JsonSerializer.Serialize(new
{
email = "someone@example.com",
due = "4/1/2025",
task = "My new task!"
});
HttpResponseMessage result = await client.PostAsync(
// Requires DI configuration to access app settings
_configuration["LOGIC_APP_URL"],
new StringContent(jsonData, Encoding.UTF8, "application/json"));
var statusCode = result.StatusCode.ToString();
注意
为了简单起见,编写了此演示代码。 实际上,不会实例化 HttpClient 每个请求的对象。 请按照使用 IHttpClientFactory 实现可复原的 HTTP 请求中的指导进行操作。
提示
如果使用教程中的示例应用:在 Azure 应用服务中生成 ASP.NET Core 和 SQL 数据库应用,可以在添加Todo项后使用此代码在“创建”作中发送电子邮件确认。