Client class

IoT Hub device client used to connect a device with an Azure IoT hub. Users of the SDK should call one of the factory methods, fromConnectionString or fromSharedAccessSignature to create an IoT Hub device client.

Extends

InternalClient

Constructors

Client(DeviceTransport, string, BlobUploadClient, FileUploadInterface)

Methods

abandon(Message)
abandon(Message, Callback<MessageAbandoned>)
addListener(string | symbol, (args: any[]) => void)
close()
close(Callback<Disconnected>)

Closes the transport connection and destroys the client resources. Note: After calling this method the Client object cannot be reused.

complete(Message)
complete(Message, Callback<MessageCompleted>)
emit(string | symbol, any[])
eventNames()
fromAuthenticationProvider(AuthenticationProvider, any)

Creates an IoT Hub device client from the given authentication method and using the given transport type.

fromConnectionString(string, any)

Creates an IoT Hub device client from the given connection string using the given transport type.

fromSharedAccessSignature(string, any)

Creates an IoT Hub device client from the given shared access signature using the given transport type.

getBlobSharedAccessSignature(string)
getBlobSharedAccessSignature(string, Callback<UploadParams>)

The getBlobSharedAccessSignature gets the linked storage account SAS Token from IoT Hub

getMaxListeners()
getTwin()
getTwin(Callback<Twin>)
listenerCount(string | symbol)
listeners(string | symbol)
notifyBlobUploadStatus(string, boolean, number, string)
notifyBlobUploadStatus(string, boolean, number, string, ErrorCallback)

The notifyBlobUploadStatus method sends IoT Hub the result of a blob upload.

off(string | symbol, (args: any[]) => void)
on(string | symbol, (args: any[]) => void)
once(string | symbol, (args: any[]) => void)
onDeviceMethod(string, (request: DeviceMethodRequest, response: DeviceMethodResponse) => void)

Registers a callback for a method named methodName.

open()
open(Callback<Connected>)
prependListener(string | symbol, (args: any[]) => void)
prependOnceListener(string | symbol, (args: any[]) => void)
rawListeners(string | symbol)
reject(Message)
reject(Message, Callback<MessageRejected>)
removeAllListeners(string | symbol)
removeListener(string | symbol, (args: any[]) => void)
sendEvent(Message)
sendEvent(Message, Callback<MessageEnqueued>)
sendEventBatch(Message[])
sendEventBatch(Message[], Callback<MessageEnqueued>)
setMaxListeners(number)
setOptions(DeviceClientOptions)
setOptions(DeviceClientOptions, Callback<TransportConfigured>)
setRetryPolicy(RetryPolicy)

Sets the retry policy used by the client on all operations. The default is ExponentialBackoffWithJitter.

setTransportOptions(any)
setTransportOptions(any, Callback<TransportConfigured>)
updateSharedAccessSignature(string, Callback<SharedAccessSignatureUpdated>)
uploadToBlob(string, Stream, number)
uploadToBlob(string, Stream, number, ErrorCallback)

The uploadToBlob method uploads a stream to a blob.

Constructor Details

Client(DeviceTransport, string, BlobUploadClient, FileUploadInterface)

new Client(transport: DeviceTransport, connStr?: string, blobUploadClient?: BlobUploadClient, fileUploadApi?: FileUploadInterface)

Parameters

transport
DeviceTransport

An object that implements the interface expected of a transport object, e.g., Http.

connStr

string

A connection string (optional: when not provided, updateSharedAccessSignature must be called to set the SharedAccessSignature token directly).

blobUploadClient

BlobUploadClient

An object that is capable of uploading a stream to a blob.

fileUploadApi

FileUploadInterface

An object that is used for communicating with IoT Hub for Blob Storage related actions.

Method Details

abandon(Message)

function abandon(message: Message)

Parameters

message

Message

Returns

Promise<MessageAbandoned>

abandon(Message, Callback<MessageAbandoned>)

function abandon(message: Message, abandonCallback: Callback<MessageAbandoned>)

Parameters

message

Message

abandonCallback

Callback<MessageAbandoned>

addListener(string | symbol, (args: any[]) => void)

function addListener(event: string | symbol, listener: (args: any[]) => void)

Parameters

event

string | symbol

listener

(args: any[]) => void

Returns

this

close()

function close()

Returns

Promise<Disconnected>

close(Callback<Disconnected>)

Closes the transport connection and destroys the client resources. Note: After calling this method the Client object cannot be reused.

function close(closeCallback: Callback<Disconnected>)

Parameters

closeCallback

Callback<Disconnected>

complete(Message)

function complete(message: Message)

Parameters

message

Message

Returns

Promise<MessageCompleted>

complete(Message, Callback<MessageCompleted>)

function complete(message: Message, completeCallback: Callback<MessageCompleted>)

Parameters

message

Message

completeCallback

Callback<MessageCompleted>

emit(string | symbol, any[])

function emit(event: string | symbol, args: any[])

Parameters

event

string | symbol

args

any[]

Returns

boolean

eventNames()

function eventNames()

Returns

Array<string | symbol>

fromAuthenticationProvider(AuthenticationProvider, any)

Creates an IoT Hub device client from the given authentication method and using the given transport type.

static function fromAuthenticationProvider(authenticationProvider: AuthenticationProvider, transportCtor: any)

Parameters

authenticationProvider

AuthenticationProvider

Object used to obtain the authentication parameters for the IoT hub.

transportCtor

any

Transport protocol used to connect to IoT hub.

Returns

fromConnectionString(string, any)

Creates an IoT Hub device client from the given connection string using the given transport type.

static function fromConnectionString(connStr: string, transportCtor: any)

Parameters

connStr

string

A connection string which encapsulates "device connect" permissions on an IoT hub.

transportCtor

any

A transport constructor.

Returns

fromSharedAccessSignature(string, any)

Creates an IoT Hub device client from the given shared access signature using the given transport type.

static function fromSharedAccessSignature(sharedAccessSignature: string, transportCtor: any)

Parameters

sharedAccessSignature

string

A shared access signature which encapsulates "device connect" permissions on an IoT hub.

transportCtor

any

Returns

getBlobSharedAccessSignature(string)

function getBlobSharedAccessSignature(blobName: string)

Parameters

blobName

string

Returns

Promise<UploadParams>

getBlobSharedAccessSignature(string, Callback<UploadParams>)

The getBlobSharedAccessSignature gets the linked storage account SAS Token from IoT Hub

function getBlobSharedAccessSignature(blobName: string, callback: Callback<UploadParams>)

Parameters

blobName

string

The name to use for the blob that will be created with the content of the stream.

callback

Callback<UploadParams>

getMaxListeners()

function getMaxListeners()

Returns

number

getTwin()

function getTwin()

Returns

Promise<Twin>

getTwin(Callback<Twin>)

function getTwin(done: Callback<Twin>)

Parameters

done

Callback<Twin>

listenerCount(string | symbol)

function listenerCount(event: string | symbol)

Parameters

event

string | symbol

Returns

number

listeners(string | symbol)

function listeners(event: string | symbol)

Parameters

event

string | symbol

Returns

Function[]

notifyBlobUploadStatus(string, boolean, number, string)

function notifyBlobUploadStatus(correlationId: string, isSuccess: boolean, statusCode: number, statusDescription: string)

Parameters

correlationId

string

isSuccess

boolean

statusCode

number

statusDescription

string

Returns

Promise<void>

notifyBlobUploadStatus(string, boolean, number, string, ErrorCallback)

The notifyBlobUploadStatus method sends IoT Hub the result of a blob upload.

function notifyBlobUploadStatus(correlationId: string, isSuccess: boolean, statusCode: number, statusDescription: string, callback: ErrorCallback)

Parameters

correlationId

string

An id for correlating a upload status to a specific blob. Generated during the call to getBlobSharedAccessSignature.

isSuccess

boolean

The success or failure status from the storage blob operation result.

statusCode

number

The HTTP status code associated with the storage blob result.

statusDescription

string

The description of the HTTP status code.

callback

ErrorCallback

off(string | symbol, (args: any[]) => void)

function off(event: string | symbol, listener: (args: any[]) => void)

Parameters

event

string | symbol

listener

(args: any[]) => void

Returns

this

on(string | symbol, (args: any[]) => void)

function on(event: string | symbol, listener: (args: any[]) => void)

Parameters

event

string | symbol

listener

(args: any[]) => void

Returns

this

once(string | symbol, (args: any[]) => void)

function once(event: string | symbol, listener: (args: any[]) => void)

Parameters

event

string | symbol

listener

(args: any[]) => void

Returns

this

onDeviceMethod(string, (request: DeviceMethodRequest, response: DeviceMethodResponse) => void)

Registers a callback for a method named methodName.

function onDeviceMethod(methodName: string, callback: (request: DeviceMethodRequest, response: DeviceMethodResponse) => void)

Parameters

methodName

string

Name of the method that will be handled by the callback

callback

(request: DeviceMethodRequest, response: DeviceMethodResponse) => void

Function that shall be called whenever a method request for the method called methodName is received.

open()

function open()

Returns

Promise<Connected>

open(Callback<Connected>)

function open(openCallback: Callback<Connected>)

Parameters

openCallback

Callback<Connected>

prependListener(string | symbol, (args: any[]) => void)

function prependListener(event: string | symbol, listener: (args: any[]) => void)

Parameters

event

string | symbol

listener

(args: any[]) => void

Returns

this

prependOnceListener(string | symbol, (args: any[]) => void)

function prependOnceListener(event: string | symbol, listener: (args: any[]) => void)

Parameters

event

string | symbol

listener

(args: any[]) => void

Returns

this

rawListeners(string | symbol)

function rawListeners(event: string | symbol)

Parameters

event

string | symbol

Returns

Function[]

reject(Message)

function reject(message: Message)

Parameters

message

Message

Returns

Promise<MessageRejected>

reject(Message, Callback<MessageRejected>)

function reject(message: Message, rejectCallback: Callback<MessageRejected>)

Parameters

message

Message

rejectCallback

Callback<MessageRejected>

removeAllListeners(string | symbol)

function removeAllListeners(event?: string | symbol)

Parameters

event

string | symbol

Returns

this

removeListener(string | symbol, (args: any[]) => void)

function removeListener(event: string | symbol, listener: (args: any[]) => void)

Parameters

event

string | symbol

listener

(args: any[]) => void

Returns

this

sendEvent(Message)

function sendEvent(message: Message)

Parameters

message

Message

Returns

Promise<MessageEnqueued>

sendEvent(Message, Callback<MessageEnqueued>)

function sendEvent(message: Message, sendEventCallback: Callback<MessageEnqueued>)

Parameters

message

Message

sendEventCallback

Callback<MessageEnqueued>

sendEventBatch(Message[])

function sendEventBatch(messages: Message[])

Parameters

messages

Message[]

Returns

Promise<MessageEnqueued>

sendEventBatch(Message[], Callback<MessageEnqueued>)

function sendEventBatch(messages: Message[], sendEventBatchCallback: Callback<MessageEnqueued>)

Parameters

messages

Message[]

sendEventBatchCallback

Callback<MessageEnqueued>

setMaxListeners(number)

function setMaxListeners(n: number)

Parameters

n

number

Returns

this

setOptions(DeviceClientOptions)

function setOptions(options: DeviceClientOptions)

Parameters

Returns

Promise<TransportConfigured>

setOptions(DeviceClientOptions, Callback<TransportConfigured>)

function setOptions(options: DeviceClientOptions, done: Callback<TransportConfigured>)

Parameters

done

Callback<TransportConfigured>

setRetryPolicy(RetryPolicy)

Sets the retry policy used by the client on all operations. The default is ExponentialBackoffWithJitter.

function setRetryPolicy(policy: RetryPolicy)

Parameters

policy

RetryPolicy

The retry policy that should be used for all future operations.

setTransportOptions(any)

function setTransportOptions(options: any)

Parameters

options

any

Returns

Promise<TransportConfigured>

setTransportOptions(any, Callback<TransportConfigured>)

function setTransportOptions(options: any, done: Callback<TransportConfigured>)

Parameters

options

any

done

Callback<TransportConfigured>

updateSharedAccessSignature(string, Callback<SharedAccessSignatureUpdated>)

function updateSharedAccessSignature(sharedAccessSignature: string, updateSasCallback?: Callback<SharedAccessSignatureUpdated>)

Parameters

sharedAccessSignature

string

updateSasCallback

Callback<SharedAccessSignatureUpdated>

uploadToBlob(string, Stream, number)

function uploadToBlob(blobName: string, stream: Stream, streamLength: number)

Parameters

blobName

string

stream

Stream

streamLength

number

Returns

Promise<void>

uploadToBlob(string, Stream, number, ErrorCallback)

The uploadToBlob method uploads a stream to a blob.

function uploadToBlob(blobName: string, stream: Stream, streamLength: number, callback: ErrorCallback)

Parameters

blobName

string

The name to use for the blob that will be created with the content of the stream.

stream

Stream

The data to that should be uploaded to the blob.

streamLength

number

The size of the data to that should be uploaded to the blob.

callback

ErrorCallback