npm.io
2.1.0 • Published 7 years ago

azure-arm-iothub

Licence
MIT
Version
2.1.0
Deps
2
Size
865 kB
Vulns
0
Weekly
0
Stars
1.2K
DeprecatedThis package is deprecated

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

npm install azure-arm-iothub

How to Use

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

 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


  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


  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


  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


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

    console.log(result);
  });

Delete an IoT Hub


  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


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

    console.log(result);
  });

Get IoT Hub Quota Metrics


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

    console.log(result);
  });

Get Valid IoT Hub Skus


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

    console.log(result);
  });

Get All IoT Hub Keys


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

    console.log(result);
  });

Get a specific IoT Hub Key


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

    console.log(result);
  });

Get all eventhub consumer groups


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

    console.log(result);
  });

Add an eventhub consumer group


  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


  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


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

    console.log(result);
  });

Keywords