ModuleClient 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

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 ModuleClient object cannot be reused.

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

Creates an IoT Hub module 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.

fromEnvironment(any)
fromEnvironment(any, Callback<ModuleClient>)

Creates an IoT Hub module client by using configuration information from the environment. If an environment variable called EdgeHubConnectionString or IotHubConnectionString exists, then that value is used and behavior is identical to calling fromConnectionString passing that in. If those environment variables do not exist then the following variables MUST be defined:

- IOTEDGE_WORKLOADURI          URI for iotedged's workload API
- IOTEDGE_DEVICEID             Device identifier
- IOTEDGE_MODULEID             Module identifier
- IOTEDGE_MODULEGENERATIONID   Module generation identifier
- IOTEDGE_IOTHUBHOSTNAME       IoT Hub host name
- IOTEDGE_AUTHSCHEME           Authentication scheme to use; must be "sasToken"
fromSharedAccessSignature(string, any)

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

getMaxListeners()
getTwin()
getTwin(Callback<Twin>)
invokeMethod(string, MethodParams)
invokeMethod(string, MethodParams, Callback<MethodResult>)

Invokes a method on a downstream device or on another module on the same IoTEdge device. Please note that this feature only works when the module is being run as part of an IoTEdge device.

invokeMethod(string, string, MethodParams)
invokeMethod(string, string, MethodParams, Callback<MethodResult>)
listenerCount(string | symbol)
listeners(string | symbol)
off(string | symbol, (args: any[]) => void)
on(string | symbol, (args: any[]) => void)
once(string | symbol, (args: any[]) => void)
onMethod(string, DoubleValueCallback<DeviceMethodRequest, DeviceMethodResponse>)

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>)
sendOutputEvent(string, Message)
sendOutputEvent(string, Message, Callback<MessageEnqueued>)

Sends an event to the given module output

sendOutputEventBatch(string, Message[])
sendOutputEventBatch(string, Message[], Callback<MessageEnqueued>)

Sends an array of events to the given module output

setMaxListeners(number)
setOptions(DeviceClientOptions)
setOptions(DeviceClientOptions, Callback<TransportConfigured>)

Passes options to the ModuleClient object that can be used to configure the transport.

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>)

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 ModuleClient 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 module 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

fromEnvironment(any)

static function fromEnvironment(transportCtor: any)

Parameters

transportCtor
any

Returns

Promise<ModuleClient>

fromEnvironment(any, Callback<ModuleClient>)

Creates an IoT Hub module client by using configuration information from the environment. If an environment variable called EdgeHubConnectionString or IotHubConnectionString exists, then that value is used and behavior is identical to calling fromConnectionString passing that in. If those environment variables do not exist then the following variables MUST be defined:

- IOTEDGE_WORKLOADURI          URI for iotedged's workload API
- IOTEDGE_DEVICEID             Device identifier
- IOTEDGE_MODULEID             Module identifier
- IOTEDGE_MODULEGENERATIONID   Module generation identifier
- IOTEDGE_IOTHUBHOSTNAME       IoT Hub host name
- IOTEDGE_AUTHSCHEME           Authentication scheme to use; must be "sasToken"
static function fromEnvironment(transportCtor: any, callback: Callback<ModuleClient>)

Parameters

transportCtor
any

Transport protocol used to connect to IoT hub.

callback
Callback<ModuleClient>

fromSharedAccessSignature(string, any)

Creates an IoT Hub module 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

getMaxListeners()

function getMaxListeners()

Returns

number

getTwin()

function getTwin()

Returns

Promise<Twin>

getTwin(Callback<Twin>)

function getTwin(done: Callback<Twin>)

Parameters

done
Callback<Twin>

invokeMethod(string, MethodParams)

function invokeMethod(deviceId: string, methodParams: MethodParams)

Parameters

deviceId
string
methodParams
MethodParams

Returns

Promise<MethodResult>

invokeMethod(string, MethodParams, Callback<MethodResult>)

Invokes a method on a downstream device or on another module on the same IoTEdge device. Please note that this feature only works when the module is being run as part of an IoTEdge device.

function invokeMethod(deviceId: string, methodParams: MethodParams, callback: Callback<MethodResult>)

Parameters

deviceId
string

target device identifier

methodParams
MethodParams

parameters of the direct method call

callback
Callback<MethodResult>

invokeMethod(string, string, MethodParams)

function invokeMethod(deviceId: string, moduleId: string, methodParams: MethodParams)

Parameters

deviceId
string
moduleId
string
methodParams
MethodParams

Returns

Promise<MethodResult>

invokeMethod(string, string, MethodParams, Callback<MethodResult>)

function invokeMethod(deviceId: string, moduleId: string, methodParams: MethodParams, callback: Callback<MethodResult>)

Parameters

deviceId
string
moduleId
string
methodParams
MethodParams
callback
Callback<MethodResult>

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[]

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

onMethod(string, DoubleValueCallback<DeviceMethodRequest, DeviceMethodResponse>)

Registers a callback for a method named methodName.

function onMethod(methodName: string, callback: DoubleValueCallback<DeviceMethodRequest, DeviceMethodResponse>)

Parameters

methodName
string

Name of the method that will be handled by the callback

callback
DoubleValueCallback<azure-iot-device.DeviceMethodRequest, azure-iot-device.DeviceMethodResponse>

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>

sendOutputEvent(string, Message)

function sendOutputEvent(outputName: string, message: Message)

Parameters

outputName
string
message
Message

Returns

Promise<MessageEnqueued>

sendOutputEvent(string, Message, Callback<MessageEnqueued>)

Sends an event to the given module output

function sendOutputEvent(outputName: string, message: Message, callback: Callback<MessageEnqueued>)

Parameters

outputName
string

Name of the output to send the event to

message
Message

Message to send to the given output

callback
Callback<MessageEnqueued>

sendOutputEventBatch(string, Message[])

function sendOutputEventBatch(outputName: string, messages: Message[])

Parameters

outputName
string
messages
Message[]

Returns

Promise<MessageEnqueued>

sendOutputEventBatch(string, Message[], Callback<MessageEnqueued>)

Sends an array of events to the given module output

function sendOutputEventBatch(outputName: string, messages: Message[], callback: Callback<MessageEnqueued>)

Parameters

outputName
string

Name of the output to send the events to

messages
Message[]
callback
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>)

Passes options to the ModuleClient object that can be used to configure the transport.

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

Parameters

options
DeviceClientOptions

A <xref:DeviceClientOptions> object.

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>