# azure-arm-iothub

> IotHubClient Library with typescript type definitions for node

Latest version **2.1.0** (published 2018-11-07) · MIT license · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

```sh
npm install azure-arm-iothub
pnpm add azure-arm-iothub
yarn add azure-arm-iothub
bun add azure-arm-iothub
```

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 2.1.0 |
| Published | 2018-11-07 |
| First published | 2016-07-18 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 864.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1174 |
| Author | Microsoft Corporation |
| Maintainers | windowsazure |
| Keywords | node, azure |

## Links

- npm: https://www.npmjs.com/package/azure-arm-iothub
- Repository: https://github.com/azure/azure-sdk-for-node
- Homepage: https://github.com/azure/azure-sdk-for-node/tree/master/lib/services/iothub
- Issues: https://github.com/azure/azure-sdk-for-node/issues
- npm.io page: https://npm.io/package/azure-arm-iothub

## Dependencies (2)

- [ms-rest](https://npm.io/package/ms-rest.md) ^2.3.3
- [ms-rest-azure](https://npm.io/package/ms-rest-azure.md) ^2.5.5

## Alternatives

- [@expo/fingerprint](https://npm.io/package/@expo/fingerprint.md) — 6.2M weekly downloads
- [@azure/monitor-opentelemetry-exporter](https://npm.io/package/@azure/monitor-opentelemetry-exporter.md) — 850.0K weekly downloads
- [@azure/monitor-opentelemetry](https://npm.io/package/@azure/monitor-opentelemetry.md) — 624.0K weekly downloads
- [@posthog/ai](https://npm.io/package/@posthog/ai.md) — 423.3K weekly downloads
- [fakefilter](https://npm.io/package/fakefilter.md) — 63.9K weekly downloads

## Recent versions

- 2.1.0 (latest) — 2018-11-07
- 2.0.2 — 2018-08-27
- 2.0.1 — 2018-07-18
- 2.0.0-preview — 2018-06-25
- 1.1.0-preview — 2017-09-27
- 1.0.1-preview — 2017-05-15
- 1.0.0-preview — 2017-04-03
- 0.1.4 — 2016-10-11
- 0.1.3 — 2016-09-02
- 0.1.2 — 2016-09-02
- 0.1.1 — 2016-08-10
- 0.1.0 — 2016-07-18

## README

# Microsoft Azure SDK for Node.js - IoT Hub

This project provides a Node.js package that makes it easy to manage Microsoft Azure Iot Hub Resources.Right now it supports:
- **Node.js version: 6.x.x or higher**

## How to Install

```bash
npm install azure-arm-iothub
```
## How to Use

### Authentication, client creation and listing iotHubs in a subscription as an example

 ```javascript

  var msRestAzure = require('ms-rest-azure');
  var IoTHubClient = require('azure-arm-iothub');

  // Interactive Login
  msRestAzure.interactiveLogin(function(err, credentials) 
	{
    var client = new IoTHubClient(credentials, 'your-subscription-id');
    client.iotHubResource.listBySubscription(function (err, result, request, response)
    {
      if (err)
      {
        console.log(err);
      }

      console.log(result);
    });
  });

 ```

## Check if an IoT Hub name is available

```javascript

  var operationInputs = 
  {
    name: resourceName
  };

  client.iotHubResource.checkNameAvailability(resourceName, operationInputs, function (err, result, request, response)
  {
    if (err)
    {
      console.log(err);
    }

    console.log(result);
  }

```

## Create an IoT Hub

```javascript

  var iotHubCreateParams =
  {
    name: resourceName,
    location: location,
    subscriptionid: subscriptionId,
    resourcegroup: resourceGroupName,
    sku:
    {
      name: 'S1',
      capacity: 2
    },
    properties:
    {
      enableFileUploadNotifications: false,
	  ipFilterRules: [
		 {
			filterName: "ipfilterrule",
			action: "accept",
			ipMask: "0.0.0.0/0"
		 }
		],
      operationsMonitoringProperties:
      {
        events:
        {
          "C2DCommands": "Error",
          "DeviceTelemetry": "Error",
          "DeviceIdentityOperations": "Error",
          "Connections": "Error, Information"
        }
      },
      "features": "None",
    }
  }

  client.iotHubResource.createOrUpdate(resourceGroupName, resourceName, iotHubCreateParams, function (err, result, request, response)
  {
    if (err)
    {
      console.log(err);
    }

    console.log(result);
  });

```

## Update an IoT Hub

```javascript

  var iotHubUpdateParams =
  {
    name: resourceName,
    location: location,
    subscriptionid: subscriptionId,
    resourcegroup: resourceGroupName,
    sku:
    {
      name: 'S1',
      capacity: 3
    },
    properties:
    {
      enableFileUploadNotifications: false,
      ipFilterRules: [
        {
           filterName: "ipfilterrule2",
           action: "reject",
           ipMask: "192.168.0.0/10"
        }
      ],
      operationsMonitoringProperties:
      {
        events:
        {
          "C2DCommands": "Error",
          "DeviceTelemetry": "Error",
          "DeviceIdentityOperations": "Error",
          "Connections": "Error, Information"
        }
      },
      "features": "None",
    }
  }

  client.iotHubResource.createOrUpdate(resourceGroupName, resourceName, iotHubUpdateParams, function (err, result, request, response)
  {
    if (err)
    {
      console.log(err);
    }

    console.log(result);
  });

```

## Get an IoT Hub Description

```javascript

  client.iotHubResource.get(resourceGroupName, resourceName, function (err, result, request, response)
  {
    if (err)
    {
      console.log(err);
    }

    console.log(result);
  });

```

## Delete an IoT Hub 

```javascript

  client.iotHubResource.deleteMethod(resourceGroupName, resourceName, function (err, result, request, response)
  {
    if (err)
    {
      console.log(err);
    }

    console.log(result);
  });

```


## Get all IoT Hub Descriptions in a resourcegroup

```javascript

  client.iotHubResource.listByResourceGroup(resourceGroupName, function (err, result, request, response)
  {
    if (err)
    {
      console.log(err);
    }

    console.log(result);
  });

```

## Get IoT Hub Quota Metrics 

```javascript

  client.iotHubResource.getQuotaMetrics(resourceGroupName, resourceName, function (err, result, request, response)
  {
    if (err)
    {
      console.log(err);
    }

    console.log(result);
  });

```

## Get Valid IoT Hub Skus

```javascript

  client.iotHubResource.getValidSkus(resourceGroupName, resourceName, function (err, result, request, response)
  {
    if (err)
    {
      console.log(err);
    }

    console.log(result);
  });

```

## Get All IoT Hub Keys

```javascript

  client.iotHubResource.listKeys(resourceGroupName, resourceName, function (err, result, request, response)
  {
    if (err)
    {
      console.log(err);
    }

    console.log(result);
  });

```

## Get a specific IoT Hub Key

```javascript

  client.iotHubResource.getKeysForKeyName(resourceGroupName, resourceName, 'iothubowner', function (err, result, request, response)
  {
    if (err)
    {
      console.log(err);
    }

    console.log(result);
  });

```

## Get all eventhub consumer groups

```javascript

  client.iotHubResource.listEventHubConsumerGroups(resourceGroupName, resourceName, 'events', function (err, result, request, response)
  {
    if (err)
    {
      console.log(err);
    }

    console.log(result);
  });

```

## Add an eventhub consumer group

```javascript

  client.iotHubResource.createEventHubConsumerGroup(resourceGroupName, resourceName, eventsEndpointName, consumerGroupName, function (err, result, request, response)
  {
    if (err)
    {
      console.log(err);
    }

    console.log(result);
  });

```

## Get an eventhub consumer group

```javascript

  client.iotHubResource.getEventHubConsumerGroup(resourceGroupName, resourceName, eventsEndpointName, consumerGroupName, function (err, result, request, response)
  {
    if (err)
    {
      console.log(err);
    }

    console.log(result);
  });

```

## Delete an eventhub consumer group

```javascript

  client.iotHubResource.deleteEventHubConsumerGroup(resourceGroupName, resourceName, eventsEndpointName, consumerGroupName, function (err, result, request, response)
  {
    if (err)
    {
      console.log(err);
    }

    console.log(result);
  });

```
## Related projects

- [Microsoft Azure SDK for Node.js - All-up](https://github.com/WindowsAzure/azure-sdk-for-node)

---
_Source: https://npm.io/package/azure-arm-iothub · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
