public async Task <object> GetDeviceModules(string deviceId, AccessPolicyModel accessPolicyModel, string access_token) { RequestDeviceModel requestDeviceModel = new RequestDeviceModel { apiVersion = "2018-08-30-preview", authorizationPolicyKey = accessPolicyModel.SharedAccessKey, authorizationPolicyName = accessPolicyModel.SharedAccessKeyName, hostName = accessPolicyModel.HostName, requestPath = string.Format("/devices/{0}/modules", deviceId) }; string url = "https://main.iothub.ext.azure.cn/api/dataPlane/get"; var request = new HttpRequestMessage(HttpMethod.Post, url); var client = this._clientFactory.CreateClient(); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", access_token); string requestbody = JsonConvert.SerializeObject(requestDeviceModel); request.Content = new StringContent(requestbody, UnicodeEncoding.UTF8, "application/json"); var response = await client.SendAsync(request); string result = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { JObject job = (JObject)JsonConvert.DeserializeObject(result); return(job); } else { return(response.ReasonPhrase); } }
public async Task <string> UpdateDeviceTwin(string deviceId, Twin twin, AccessPolicyModel accessPolicyModel, string access_token) { //IoTHubDevice ioTHubDevice = new IoTHubDevice(accessPolicyModel); //return ioTHubDevice.UpdateDeviceTwin(deviceId, twin); RequestDeviceModel requestDeviceModel = new RequestDeviceModel() { hostName = accessPolicyModel.HostName, authorizationPolicyKey = accessPolicyModel.SharedAccessKey, authorizationPolicyName = accessPolicyModel.SharedAccessKeyName, apiVersion = "2018-08-30-preview", requestPath = string.Format("/twins/{0}", deviceId), requestBody = JsonConvert.SerializeObject(twin), }; string url = "https://main.iothub.ext.azure.cn/api/dataPlane/patch"; var request = new HttpRequestMessage(HttpMethod.Post, url); var client = this._clientFactory.CreateClient(); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", access_token); string requestbody = JsonConvert.SerializeObject(requestDeviceModel); request.Content = new StringContent(requestbody, UnicodeEncoding.UTF8, "application/json"); var response = await client.SendAsync(request); string result = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { return(result); } else { return(response.ReasonPhrase); } }
public async Task <DeviceInfoModel> UpdateDeviceInfo(UpdateDeviceViewModel updateDeviceViewModel, AccessPolicyModel accessPolicyModel, string deviceId, string access_token) { DeviceInfoModel deviceInfoModel = await GetDeviceInfo(accessPolicyModel, deviceId, access_token); deviceInfoModel.status = updateDeviceViewModel.status; deviceInfoModel.authentication.symmetricKey.primaryKey = updateDeviceViewModel.primaryKey; deviceInfoModel.authentication.symmetricKey.secondaryKey = updateDeviceViewModel.secondaryKey; RequestDeviceModel requestDeviceModel = new RequestDeviceModel { apiVersion = "2018-08-30-preview", authorizationPolicyKey = accessPolicyModel.SharedAccessKey, etag = deviceInfoModel.etag, authorizationPolicyName = accessPolicyModel.SharedAccessKeyName, hostName = accessPolicyModel.HostName, requestBody = JsonConvert.SerializeObject(deviceInfoModel), requestPath = string.Format("/devices/{0}", deviceId) }; string url = "https://main.iothub.ext.azure.cn/api/dataPlane/put"; var request = new HttpRequestMessage(HttpMethod.Post, url); var client = this._clientFactory.CreateClient(); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", access_token); string requestbody = JsonConvert.SerializeObject(requestDeviceModel); request.Content = new StringContent(requestbody, UnicodeEncoding.UTF8, "application/json"); var response = await client.SendAsync(request); string result = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { TModel <DeviceInfoModel> job = JsonConvert.DeserializeObject <TModel <DeviceInfoModel> >(result); return(job.body); } else { return(null); } }
public async Task <object> GetIotDevices(AccessPolicyModel accessPolicyModel, string access_token) { RequestDeviceModel requestDeviceModel = new RequestDeviceModel() { hostName = accessPolicyModel.HostName, authorizationPolicyKey = accessPolicyModel.SharedAccessKey, authorizationPolicyName = accessPolicyModel.SharedAccessKeyName, apiVersion = "2018-08-30-preview", requestPath = "/devices/query", requestBody = "{\"query\":\"SELECT deviceId as deviceId, status as status, " + "lastActivityTime as lastActivityTime, statusUpdatedTime as statusUpdateTime, " + "authenticationType as authenticationType, cloudToDeviceMessageCount as cloudToDeviceMessageCount, " + "deviceScope as deviceScope FROM devices WHERE (NOT IS_DEFINED(capabilities.iotEdge) " + "OR capabilities.iotEdge=false)\"}", }; string url = "https://main.iothub.ext.azure.cn/api/dataPlane/post"; var request = new HttpRequestMessage(HttpMethod.Post, url); var client = this._clientFactory.CreateClient(); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", access_token); string requestbody = JsonConvert.SerializeObject(requestDeviceModel); request.Content = new StringContent(requestbody, UnicodeEncoding.UTF8, "application/json"); var response = await client.SendAsync(request); string result = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { return(result); } else { return(response.ReasonPhrase); } }