使用 Azure 函数作为流分析的输出:连接测试失败
Using Azure Function as output for Stream Analytics: Connection Test Fails
我有一个使用 Azure 函数作为输出的 Azure 流分析作业。我通过 CI/CD 部署了 ASA 作业和函数。当我部署 ASA 作业时(假设 AF 存在),部署成功并且作业成功启动。此外,AF 成功触发(即输出正常,这不是问题,例如与 TSL 设置相关 -> )。
仍然,当我进行连接测试时,它失败了:
为什么连接测试失败?
在测试连接的健康状况时,一个空批次从 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 函数作为输出的 Azure 流分析作业。我通过 CI/CD 部署了 ASA 作业和函数。当我部署 ASA 作业时(假设 AF 存在),部署成功并且作业成功启动。此外,AF 成功触发(即输出正常,这不是问题,例如与 TSL 设置相关 ->
仍然,当我进行连接测试时,它失败了:
为什么连接测试失败?
在测试连接的健康状况时,一个空批次从 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);
}