使用 Azure Function 作为流分析的输出:连接测试失败

Posted

技术标签:

【中文标题】使用 Azure Function 作为流分析的输出:连接测试失败【英文标题】:Using Azure Function as output for Stream Analytics: Connection Test Fails 【发布时间】:2019-07-26 18:36:28 【问题描述】:

我有一个使用 Azure 函数作为输出的 Azure 流分析作业。我通过 CI/CD 部署 ASA 作业和功能。当我部署 ASA 作业(假设 AF 存在)时,部署成功并且作业成功启动。此外,AF 被成功触发(即输出正常,这不是问题,例如与 TSL 设置有关 -> Connection Test Failed when trying to add an Azure function as an output sink to Stream Analytics Job)。

不过,当我进行连接测试时它失败了:

为什么连接测试失败?

【问题讨论】:

【参考方案1】:

在测试连接的健康状况时,会从 ASA 向 AF 发送一个空批次。问题是我正在处理空批次,返回 500 响应最终导致连接测试失败。

为了避免这个问题,有必要实现另一种处理空批次的方法:

// Get and deserialize input content
string content = await req.Content.ReadAsStringAsync();
dynamic asaInput = JsonConvert.DeserializeObject(content);

// Handle empty input
if (asaInput is null || asaInput.Count == 0)

    log.Info("Received an empty request body...");
    return req.CreateResponse(HttpStatusCode.NoContent);

【讨论】:

以上是关于使用 Azure Function 作为流分析的输出:连接测试失败的主要内容,如果未能解决你的问题,请参考以下文章

Grafana 作为 Azure 流分析输出

Azure Functions 与 Azure 流分析

发生错误发送事件:Azure 函数输出适配器无法将事件写入 Azure 函数作为流分析作业输出

无法使用输出 Azure 函数获得流分析工作

流分析作业的 Azure 函数绑定类型?

Unix 时间在 Azure 流分析中转换为日期