我正在使用Azure sdk和rest客户端向IoT中心发送事件。
我必须使用IoT中心路由功能,所以我在发送到IotHub之前将添加属性添加到主负载
案例1:使用Azure SDK发送数据
事件模型
RealTimeMachineData realTimeData = new RealTimeMachineData();
realTimeData.Date = DateTime.UtcNow;
realTimeData.MachineCode = "M1";
当我在服务总线资源管理器中看到此消息时,我看起来像这样
{
"MachineCode": "M1",
"Date": "2017-08-27T10:05:22.7063498Z",
}
案例2:当我通过RESTAPI调用做同样的事情时
HttpClient client = new HttpClient();
string deviceId = "DemoDevice";
string baseUrl = "https://******.azure-devices.net/devices/" + deviceId + "/messages/events?api-version=2016-02-03";
client.BaseAddress = new Uri(baseUrl);
var sas = @"SharedAccessSignature sr=********";
client.DefaultRequestHeaders.Add("Authorization", sas);
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var message1 = new Microsoft.Azure.Devices.Client.Message(Encoding.ASCII.GetBytes(realTimeData.ToString()));
message1.Properties.Add("Source", "AiR");
HttpResponseMessage response = client.PostAsJsonAsync(baseUrl, message1).Result;
以这种方式发送事件后,当我检查消息到服务总线资源管理器时,它看起来像
我必须在流分析中使用这种方法,因为当通过rest客户端发送时,负载变得不同,所以面临很多问题。
在通过Rest客户端发送时,我是否做错了什么,或者我必须做些不同的事情?
以下是修复方法:
var message1 = new StringContent(JsonConvert.SerializeObject(new RealTimeMachineData() { Date = DateTime.UtcNow, MachineCode = "M1" }));
client.DefaultRequestHeaders.Add("iothub-app-Source", "AiR");
我试图使用Keycloak rest API向特定用户添加客户端级别的角色。我在邮递员尝试这个,但不断得到404找不到。 https://{keycloak url}/auth/admin/realms/acme/users/b62dc517-0dd8-41ad-9d97-f385e507e279/role-mappings/clients/6b1f23b4-6bec-4873-a991-4b7e
我在配置了DLQ的SQS队列上有一个lambda触发器。 当我的lambda失败时,来自队列的原始消息将被重定向到DLQ。现在我想添加更多的信息到这个原始的消息(如为什么有一个错误等)。我知道我不能修改原始消息,但我看到消息可以有额外的消息属性。 如何从lambda函数(NodeJS)使用/设置它们?
有没有办法在Kafka消息有效载荷中添加时间戳标头?我想检查消息是何时在消费者端创建的,并基于此应用自定义逻辑。 编辑: 我试图找到一种方法,将一些自定义值(基本上是时间戳)附加到生产者发布的消息上,这样我就可以在特定的时间段内消费消息。现在Kafka只确保消息将按照它们被放入队列的顺序传递。但是在我的例子中,先前生成的记录可能在某个延迟之后到达(因此在时间T1生成的消息可能比在稍后时间T2生成的
问题内容: 我在MVC 4程序中使用Json.net。 我有一个阶级的对象。 我做了: 现在,我想添加一个额外的属性,如成。 我如何使用Json.net实现这一目标? 问题答案: 您有几种选择。 正如@Manvik所建议的那样,最简单的方法就是在类中添加另一个属性并在序列化之前设置其值。 如果您不想这样做,那么下一个最简单的方法是将您的对象加载到中,追加新属性值,然后从那里写出JSON。这是一个简
我有两个文件。一个位于内部,另一个位于我的.jar文件外部的一个名为的目录中。 据我所知,我的是从加载的。虽然在应用程序工作时,不使用其中的值。它们来自我的项目文件夹中的默认。我做错什么了吗?
我正在使用Spring Boot hibernate制作一个书店rest api,我不知道该如何进行。因此,首先创建用户(使用此处未发布的DTO): 然后他可以登录并搜索他感兴趣的书籍。当他想订购时(使用POST和JSON包含他的书),他应该在我的客户实体中输入他的详细信息(使用DTO): 这是一个好方法吗?我不知道如何才能将用户和客户联系起来- 编辑:澄清: > 用户注册并且只有电子邮件和密码-