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(type: string | symbol)

Parameters

type
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