azure-sdk-for-js/sdk/deviceupdate/iot-device-update-rest
Jeremy Meng a28e8f0795 [EngSys] move to vendored version of cross-env via dev-tool
***NO_CI***

- apply the transformation

- update samples' README
2024-11-02 00:48:06 +00:00
..
review [eslint-plugin] add rule "@typescript-eslint/consistent-type-imports": "warn" 2024-10-30 15:48:52 +00:00
samples/v1 [EngSys] move to vendored version of cross-env via dev-tool 2024-11-02 00:48:06 +00:00
samples-dev [iot] Remove UUID module (#28055) 2024-04-26 09:11:44 -07:00
src [eslint-plugin] add rule "@typescript-eslint/consistent-type-imports": "warn" 2024-10-30 15:48:52 +00:00
swagger Post release automated changes for deviceupdate releases (#23176) 2022-09-12 20:12:32 +00:00
test/public [eslint-plugin] add rule "@typescript-eslint/consistent-type-imports": "warn" 2024-10-30 15:48:52 +00:00
CHANGELOG.md Post release automated changes for deviceupdate releases (#23176) 2022-09-12 20:12:32 +00:00
LICENSE Device Update GA preview for JS (#22457) 2022-07-07 09:36:49 +08:00
README.md Increment minimum supported node version to 16 2023-10-09 21:09:54 +00:00
api-extractor.json Device Update GA preview for JS (#22457) 2022-07-07 09:36:49 +08:00
assets.json migrate rlc recording (#26430) 2023-07-11 15:52:20 +08:00
eslint.config.mjs Apply automated migration to eslint flat config 2024-08-22 11:43:19 -07:00
karma.conf.js [engsys] remove karma ie and edge launcher 2023-03-06 17:08:15 -05:00
package.json [EngSys] move to vendored version of cross-env via dev-tool 2024-11-02 00:48:06 +00:00
sample.env device update release (#19728) 2022-01-21 10:14:06 +08:00
tsconfig.json [EngSys] remove tsconfig.package.json 2024-07-16 13:27:25 +00:00

README.md

Azure Device Update for IoT Hub Rest Client library for JavaScript

The library provides access to the Device Update for IoT Hub service that enables customers to publish updates for their IoT devices to the cloud, and then deploy these updates to their devices (approve updates to groups of devices managed and provisioned in IoT Hub).

Please rely heavily on the service's documentation and our REST client docs to use this library

Key links:

Getting started

Currently supported environments

Prerequisites

  • Microsoft Azure Subscription: To call Microsoft Azure services, you need to create an Azure subscription
  • Device Update for IoT Hub instance
  • Azure IoT Hub instance

Install the @azure-rest/iot-device-update package

Install the Azure Iot Device Update client library for JavaScript with npm:

npm install @azure-rest/iot-device-update

Create and authenticate a DeviceUpdate

To use an Azure Active Directory (AAD) token credential, provide an instance of the desired credential type obtained from the @azure/identity library.

To authenticate with AAD, you must first npm install @azure/identity.

After installation, you can choose which type of credential from @azure/identity to use. As an example, DefaultAzureCredential can be used to authenticate the client:

Set the values of the client ID, tenant ID, and client secret of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET

Use the returned token credential to authenticate the client:

import DeviceUpdate from "@azure-rest/iot-device-update";
import { DefaultAzureCredential } from "@azure/identity";
const client = DeviceUpdate(
  "https://<my-instance-id>.api.adu.microsoft.com",
  new DefaultAzureCredential()
);

Key concepts

REST Client

This client is one of our REST clients. We highly recommend you read how to use a REST client here.

Examples

The following section shows you how to initialize and authenticate your client, then get all devices.

import DeviceUpdate from "@azure-rest/iot-device-update";
import { DefaultAzureCredential } from "@azure/identity";

async function main() {
  console.log("== List devices ==");
  const client = DeviceUpdate(endpoint, new DefaultAzureCredential());

  const result = await client
    .path("/deviceupdate/{instanceId}/management/devices", instanceId)
    .get();

  console.log(result);
}

main().catch(console.error);

Troubleshooting

Logging

Enabling logging may help uncover useful information about failures. In order to see a log of HTTP requests and responses, set the AZURE_LOG_LEVEL environment variable to info. Alternatively, logging can be enabled at runtime by calling setLogLevel in the @azure/logger:

import { setLogLevel } from "@azure/logger";

setLogLevel("info");

For more detailed instructions on how to enable logs, you can look at the @azure/logger package docs.

Next steps

Contributing

If you'd like to contribute to this library, please read the contributing guide to learn more about how to build and test the code.

Impressions