![](/img/trans.png)
[英]Azure Function app Not able to run showing this error Value cannot be null. (Parameter 'provider') in java
[英]Azure function IoTHub: Error indexing method Value cannot be null. (Parameter 'connectionString')
我试图从 Azure function 设置触发器来读取来自我的 IoT 中心的所有数据。 为此,我遵循了本教程。
在本地设置中设置连接字符串后,当我尝试启动 function 时,出现以下错误:
“functionName”function 出错:Microsoft.Azure.WebJobs.Host:错误索引方法“Functions.functionName”。 Microsoft.WindowsAzure.Storage:值不能为 null。 (参数'connectionString')。
我尝试将端点添加为服务总线,或直接添加为主机名,但两者都有相同的错误。
为了进一步澄清,我将展示我的实现:
local.settings.json
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"FUNCTIONS_WORKER_RUNTIME": "java",
"app_trigger_hub_name": "{hubname}",
"app_trigger_connection": "Endpoint=sb://{hubname}.servicebus.windows.net/;SharedAccessKeyName={accessKey};SharedAccessKey={sharedKey}",
}
}
Azure Function 触发器
@FunctionName("functionName")
public void eventHubProcessor(
@EventHubTrigger(name = "functionName", eventHubName = "%app_trigger_hub_name%",
connection = "app_trigger_connection") String message,
final ExecutionContext context) {
context.getLogger().info(message);
}
编辑
经过一些试验和错误后,我设法使用服务总线获得连接,但仍然无法正常工作。 现在,当我启动 function 时,出现以下错误:
function 'Functions.function' 的侦听器无法启动。 Microsoft.Azure.EventHubs.Processor:获取 EventHub PartitionIds 列表时遇到错误。 System.Private.CoreLib:提供节点名或服务名,或未知。
首先,您使用的是 IoTHub 还是 EventHub? 在 C# 中,您使用 iothub 属性:“IoTHubTrigger”。
例如:
@FunctionName("ehprocessor")
public void eventHubProcessor(
@IoTHubTrigger(name = "msg",
eventHubName = "myeventhubname",
connection = "myconnvarname") String message,
final ExecutionContext context )
{
context.getLogger().info(message);
}
using IoTHubTrigger = Microsoft.Azure.WebJobs.EventHubTriggerAttribute;
对于 connectionString,您可以使用“事件中心兼容端点”,您可以在 azure 门户的“内置端点”下找到该端点。
我现在看到了您编辑的部分,您是否尝试在本地清空您的 eventthub 容器? “azure-webjobs-eventhub”? 为我解决了许多奇怪的错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.