public AwsIot(Node root, String region, String accessKeyId, String secretAccessKey, KeyStore keyStore, String keyPassword) { AWSCredentials awsCredentials = new BasicAWSCredentials(accessKeyId, secretAccessKey); this.client = new AWSIotClient(awsCredentials); this.client.withRegion(Regions.fromName(region)); String endpoint = getEndpoint(); String clientId = UUID.randomUUID().toString(); if (keyStore != null && keyPassword != null) { this.mqttClient = new AWSIotMqttClient(endpoint, clientId, keyStore, keyPassword); } else { this.mqttClient = new AWSIotMqttClient(endpoint, clientId, accessKeyId, secretAccessKey); } try { this.mqttClient.connect(); } catch (AWSIotException e) { throw new RuntimeException("Failed to connect to AWS IoT service", e); } this.root = root; }
private void connectToAwsEventHub() throws AWSIotException { applyProperties(); if (propertiesNeedUpdating) { cleanup(); propertiesNeedUpdating = false; } // iot service type - IOT_TOPIC | IOT_DEVICE isEventHubType = AwsIoTServiceType.IOT_TOPIC.toString().equals(iotServiceType); // get KeyStore credentials KeyStorePasswordPair pair = AwsIoTHubUtil.getKeyStorePasswordPair(x509Certificate, privateKey, null); // create AwsClient clientId = String.format("%s-%s", thingName, new BigInteger(128, new SecureRandom()).toString(32)); awsClient = new AWSIotMqttClient(clientEndpoint, clientId, pair.keyStore, pair.keyPassword); // attach device if (!isEventHubType) { // IoT Device attach geIoTDevice = new AwsIoTHubDevice(thingName); LOGGER.info(System.currentTimeMillis() + ": ClientId: " + clientId + ": Attaching device:" + geIoTDevice.getThingName()); awsClient.attach(geIoTDevice); } // connect to Aws IoT Hub LOGGER.info(System.currentTimeMillis() + ": ClientId: " + clientId + ": Connecting"); awsClient.connect(); LOGGER.info(System.currentTimeMillis() + ": ClientId: " + clientId + ": Connected"); // geIoTDevice.delete(10000); // delete shadow }
private void connectToAwsEventHub() { String errorMessage = null; RunningState runningState = RunningState.STARTED; try { applyProperties(); if (propertiesNeedUpdating) { cleanup(); propertiesNeedUpdating = false; } // iot service type: IOT_TOPIC|IOT_DEVICE isEventHubType = AwsIoTServiceType.IOT_TOPIC.toString().equals(iotServiceType); // Get KeyStore credentials KeyStorePasswordPair pair = AwsIoTHubUtil.getKeyStorePasswordPair(x509Certificate, privateKey, null); // create AwsClient clientId = String.format("%s-%s", thingName, new BigInteger(128, new SecureRandom()).toString(32)); awsClient = new AWSIotMqttClient(clientEndpoint, clientId, pair.keyStore, pair.keyPassword); if (awsClient == null) { runningState = RunningState.ERROR; errorMessage = LOGGER.translate("FAILED_TO_CREATE_EH_CLIENT", clientEndpoint); LOGGER.error(errorMessage); } // attach device if (!isEventHubType) { LOGGER.info(System.currentTimeMillis() + ": ClientId: " + ": Attaching device:" + geIoTDevice.getThingName()); geIoTDevice = new AwsIoTHubDevice(thingName); awsClient.attach(geIoTDevice); } // connect LOGGER.info(System.currentTimeMillis() + ": ClientId: " + clientId + ": Connecting"); awsClient.connect(); LOGGER.info(System.currentTimeMillis() + ": ClientId: " + clientId + ": Connected"); // geIoTDevice.delete(10000); // delete shadow // register topic handler iotTopic = new AwsIoTTopicListener(topicName, AWSIotQos.QOS0); awsClient.subscribe(iotTopic, true); LOGGER.info("Subscribed to topic:" + topicName); setErrorMessage(errorMessage); setRunningState(runningState); } catch (AWSIotException iote) { LOGGER.error("AWSIOT_INIT_ERROR", iote); setErrorMessage(iote.getMessage()); setRunningState(RunningState.ERROR); } catch (Exception ex) { LOGGER.error("INIT_ERROR", ex); setErrorMessage(ex.getMessage()); setRunningState(RunningState.ERROR); } }
public static void setClient(AWSIotMqttClient client) { awsIotClient = client; }
public BlockingPublisher(AWSIotMqttClient awsIotClient) { this.awsIotClient = awsIotClient; }
public NonBlockingPublisher(AWSIotMqttClient awsIotClient) { this.awsIotClient = awsIotClient; }