public async Task <Response <Device> > AddDeviceAsync(Device device) { Microsoft.Azure.Devices.Device requestDevice; try { //Console.WriteLine("New device:"); requestDevice = new Microsoft.Azure.Devices.Device(device.Id); requestDevice = await registryManager.AddDeviceAsync(requestDevice); return(new Response <Device>() { Success = true, ResponseObject = device }); } catch (DeviceAlreadyExistsException ex) { List <AzureException> exception = new List <AzureException>() { new AzureException() { Exception = ex, Message = ex.Message } }; return(new Response <Device>() { Success = true, ResponseObject = device, Exceptions = exception.ToArray() }); } }
private static async Task AddDevicesAsync() { kRegistryManager = AZD.RegistryManager.CreateFromConnectionString(kIoTHubConnectionString); kDeviceConnectionList = new List <DeviceClient>(); for (int idx = 0; idx < kTotalDevices; ++idx) { var deviceIdString = $"dev{idx}"; try { var device = await kRegistryManager.AddDeviceAsync(new AZD.Device(deviceIdString)); var connString = device.Authentication.SymmetricKey.PrimaryKey; connString = string.Format(kDeviceConnectionString, deviceIdString, connString); Console.WriteLine(connString); kDeviceConnectionList.Add(DeviceClient.CreateFromConnectionString(connString)); } catch (Exception ex) { Console.WriteLine(ex.Message); } } }
public async Task <AzureDevices.Device> RegisterDevice(Device device) { AzureDevices.Device azureDevice; try { azureDevice = await _registryManager.AddDeviceAsync(new AzureDevices.Device(device.DeviceId)); } catch (DeviceAlreadyExistsException) { azureDevice = await _registryManager.GetDeviceAsync(device.DeviceId); } return(azureDevice); }
public Response <Device> AddDeviceAsync(Device device) { Microsoft.Azure.Devices.Device requestDevice; try { //Console.WriteLine("New device:"); requestDevice = new Microsoft.Azure.Devices.Device(device.Name); Task task = Task.Run(() => { requestDevice = registryManager.AddDeviceAsync(requestDevice).Result; }); task.Wait(); device.Name = requestDevice.Id; return(new Response <Device>() { Success = true, ResponseObject = device }); } catch (DeviceAlreadyExistsException ex) { List <AzureException> exception = new List <AzureException>() { new AzureException() { Exception = ex, Message = ex.Message } }; return(new Response <Device>() { Success = true, ResponseObject = device, Exceptions = exception.ToArray() }); } }
static async Task<string> selfRegisterAndSetConnString(string DeviceId) { Task<string> deviceConnString = null; try { registryManager = RegistryManager.CreateFromConnectionString(iotHubConnString); Device newDevice = new Device(DeviceId); await registryManager.AddDeviceAsync(newDevice); newDevice = await registryManager.GetDeviceAsync(DeviceId); newDevice.Authentication.SymmetricKey.PrimaryKey = CryptoKeyGenerator.GenerateKey(32); newDevice.Authentication.SymmetricKey.SecondaryKey = CryptoKeyGenerator.GenerateKey(32); newDevice = await registryManager.UpdateDeviceAsync(newDevice); string deviceInfo = String.Format("ID={0}\nPrimaryKey={1}\nSecondaryKey={2}", newDevice.Id, newDevice.Authentication.SymmetricKey.PrimaryKey, newDevice.Authentication.SymmetricKey.SecondaryKey); deviceConnString = Task.FromResult(string.Format("HostName={0};DeviceId={1};SharedAccessKey={2}", iotHubName, newDevice.Id, newDevice.Authentication.SymmetricKey.PrimaryKey)); } catch (Exception ex) { Console.WriteLine("An error occured creating device:{0}", ex.ToString()); } return deviceConnString.Result; }