Azure 物联网集线器消息处理器
在处理Azure IoT中心中创建的邮件时遇到一些问题 获取以下eror:引发异常:“Microsoft.ServiceBus.dll中的Microsoft.ServiceBus.Messaging.Amqp.AmqpException”(“发生Amqp错误(条件='Amqp:link:redirect')) 谁能给我指出正确的方向吗 问候,, 乔纳斯Azure 物联网集线器消息处理器,azure,iot,azure-iot-hub,Azure,Iot,Azure Iot Hub,在处理Azure IoT中心中创建的邮件时遇到一些问题 获取以下eror:引发异常:“Microsoft.ServiceBus.dll中的Microsoft.ServiceBus.Messaging.Amqp.AmqpException”(“发生Amqp错误(条件='Amqp:link:redirect')) 谁能给我指出正确的方向吗 问候,, 乔纳斯 我在测试代码时没有遇到这个问题,因此它可能与其他方面有关。我发现重复的线程,建议检查块端口或代理设置,您可以尝试。我在测试代码时没有遇到这个问题
我在测试代码时没有遇到这个问题,因此它可能与其他方面有关。我发现重复的线程,建议检查块端口或代理设置,您可以尝试。我在测试代码时没有遇到这个问题,因此它可能与其他内容有关。我发现重复的线程,建议检查块端口或代理设置,您可以尝试。您的IoTubD2cendPoint的格式不正确。您可以在azure门户->消息->设备到云设置中找到兼容的端点
我发现这是一个非常有用的示例:您的IoTubD2cendPoint的格式不正确。您可以在azure门户->消息->设备到云设置中找到兼容的端点
我发现这是一个非常有用的例子:代码在我看来很好。我的是相同的,运作良好
您最好的选择是在Azure中创建一个新的物联网中心并替换字符串 代码在我看来很好。我的是相同的,运作良好
您最好的选择是在Azure中创建一个新的物联网中心并替换字符串 在构建连接字符串时,是否可以尝试在第12行中使用“Endpoint=”而不是“HostName=” 希望这有帮助
Mert在构建连接字符串时,是否可以尝试在第12行中使用“Endpoint=”而不是“HostName=” 希望这有帮助 Mert有几点意见:
如果您仍然遇到此问题,请告诉我们。有时我看到代理会过滤amqp数据包。将传输类型更改为http可能会解决这个问题。 现在我没有访问VisualStudio的权限,但我似乎记得可以在客户端属性下设置传输。
如果您尝试它,您可以很容易地发现问题是在代理中还是在程序中。有时我会看到代理过滤amqp数据包。将传输类型更改为http可能会解决这个问题。 现在我没有访问VisualStudio的权限,但我似乎记得可以在客户端属性下设置传输。
如果您尝试,您可以很容易地发现问题是在代理中还是在程序中。您是否应该使用与事件中心兼容的端点来使用EventHubClient?您好,您是否仍然存在此问题?您是否应该使用与事件中心兼容的端点来使用EventHubClient?您好,您仍然存在此问题?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.ServiceBus.Messaging;
namespace IOTHubMessageProcessor
{
class Program
{
static string connectionString = "HostName=yaddaaaa.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=keydataasdss+tacsCxwkWQeUm9sMCc2GHnQkIZHM=";
static string iotHubD2cEndpoint = "messages/events";
static EventHubClient eventHubClient;
static void Main(string[] args)
{
Console.WriteLine("Receive messages\n");
eventHubClient = EventHubClient.CreateFromConnectionString(connectionString, iotHubD2cEndpoint);
var d2cPartitions = eventHubClient.GetRuntimeInformation().PartitionIds;
foreach (string partition in d2cPartitions)
{
ReceiveMessagesFromDeviceAsync(partition);
}
Console.ReadLine();
}
private async static Task ReceiveMessagesFromDeviceAsync(string partition)
{
var eventHubReceiver = eventHubClient.GetDefaultConsumerGroup().CreateReceiver(partition, DateTime.UtcNow);
while (true)
{
EventData eventData = await eventHubReceiver.ReceiveAsync();
if (eventData == null) continue;
string data = Encoding.UTF8.GetString(eventData.GetBytes());
Console.WriteLine(string.Format("Message received. Partition: {0} Data: '{1}'", partition, data));
}
}
}
}