无法将 Azure 函数添加为流分析作业输出
Posted
技术标签:
【中文标题】无法将 Azure 函数添加为流分析作业输出【英文标题】:Unable to add Azure Function as Stream Analytics Job output 【发布时间】:2020-10-20 14:09:13 【问题描述】:我正在尝试将函数作为输出添加到 ASA 作业。我已经阅读了我能找到的所有帖子和建议。尝试以下:
添加了值为“Files”的 AzureWebJobsSecretStorageType(也尝试使用小写“files”) 将 TLS 版本降低到 1.0 将函数 AuthorizationLevel 设置为匿名 已尝试应用级别和功能级别键 通过 Postman 测试 - 使用 POST 方法始终可以正常工作但在作业输出 ui 中仍然出现此错误(手动和自动输出设置):
System.InvalidOperationException:运行时密钥存储在 Blob 存储中。此 API 不支持此配置。请将环境变量 AzureWebJobsSecretStorageType 值更改为“文件”。欲了解更多信息,请访问 Kudu.Core.Functions.FunctionManager 上的https://aka.ms/funcsecrets。
使用自动设置(从订阅中选择 Azure 功能)我在功能日志中收到 404:
传出响应,类型:response,statusCode:404,statusText:NotFound
我的功能码:
public static class AsaRequestRouter
[FunctionName ("AsaRequestRouter")]
public static async Task<IActionResult> Run (
[HttpTrigger (AuthorizationLevel.Function, "get", "post", Route = null)]
HttpRequest req,
ILogger log)
log.LogInformation ("C# HTTP trigger function processed a request.");
string requestBody = await new StreamReader (req.Body).ReadToEndAsync ();
log.LogInformation(requestBody);
return new OkObjectResult (@"""response"":""OK""");
【问题讨论】:
这很奇怪。我知道 Azure Function 需要附加一个 Blob 存储来处理队列和其他内容。部署 Azure 功能时,可能出现了问题。看看这篇文章,或许有帮助docs.microsoft.com/en-us/azure/stream-analytics/…它基于Azure Function csx(cshap脚本),不过和你的差不多。 我从这篇文章开始。也许不同之处在于我的函数应用托管在应用服务计划上 【参考方案1】:我遇到了类似的情况,最终为我的流分析作业创建了一个新函数应用,它只有天蓝色函数和应用程序设置AzureWebJobsSecretStorageType with value 'Files'
。
创建新的函数应用后,我回到流分析作业 -> 输出并尝试添加 Azure 函数作为输出接收器并提供详细信息,当 Azure 尝试在您的订阅。但是一旦我选择了我的新函数应用,错误就消失了。
【讨论】:
以上是关于无法将 Azure 函数添加为流分析作业输出的主要内容,如果未能解决你的问题,请参考以下文章
使用 Azure Function 作为流分析的输出:连接测试失败