gpt4 book ai didi

java - 使用 Rest API 在 Azure IoT 中心创建共享访问策略

转载 作者:行者123 更新时间:2023-12-01 10:06:37 25 4
gpt4 key购买 nike

我是 Azure IoT 的新手。我正在尝试使用 Azure IoT Hub 的 REST API 创建共享访问策略。

 https://management.azure.com/subscriptions/{subscription-Id}/resourceGroups/{group-name}/providers/Microsoft.Devices/IotHubs/{hub-name}?api-version=2016-02-03");

我的java代码是

     String policyold = "{\"tags\" : {}, \"location\": \"East Asia\",\"properties\" : \"authorizationPolicies\" : [{\"name\" : \"policy-namw\", \"primaryKey\" : \"{mykey}\" ,\"secondaryKey\" : \"secondary-key\" ,\"permissions\" :[\"ServiceConnect\" ,\"RegistryRead\" ,\"RegistryWrite\" ,\"DeviceConnect\"]}],\"eventHubEndpoints\" : { \"events\" : {\"messageRetentionInDays\":\"2\"}}}";


StringEntity input1 = new StringEntity(policyold);
input1.setContentType("application/json");
input1.setContentEncoding("UTF8");
put.setEntity(input1);

put.setHeader("Authorization", token);
HttpResponse r2 = httpclient2.execute(put);
System.out.println(r2.getStatusLine());
String content2 = EntityUtils.toString(r2.getEntity());
org.json.JSONObject recvObj2 = new org.json.JSONObject(content2);

但我面临以下错误。

 HTTP/1.1 400 Bad Request  {"error":{"code":"InvalidRequestContent","message":"The request content was invalid and could not be deserialized: 'Error converting value \"authorizationPolicies\" to type 'System.Collections.Generic.Dictionary`2[System.String,Newtonsoft.Json.Linq.JToken]'. Path 'properties', line 1, position 76.'."}}

此外,我正在使用本教程。 https://msdn.microsoft.com/en-us/library/mt589015.aspx

谁能帮我解决这个问题吗?

最佳答案

根据官方文档Common error codes对于 Azure IoTHub,错误代码 400 表示“请求正文无效;例如,无法解析它,或者无法验证对象。”。

我检查了代码中的 policyold 字符串值,然后发现 json 字符串缺少所需的元素 Sku nameUnits。请仔细查看Json请求内容末尾下方的元素表。

Azure IoTHub 可以拥有多个共享访问策略。

因此,如果在创建新的 IoTHub 时创建共享访问策略,请使用 REST API Create a new IoT Hub ,否则使用 REST API Update metadata on an existing IoT Hub为现有 IoTHub 添加新的 IoTHub。

关于java - 使用 Rest API 在 Azure IoT 中心创建共享访问策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36404551/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com